Source Allies Logo

Sharing Our Passion for Technology

& Continuous Learning

<   Back to Blog

Brag a Bit

A notepad with pen laying on top of it

The day-to-day work of a software developer is diverse. We are assigned a main project to work on that takes most of our focus but unexpected work can arise since software development is such a team-based activity. Examples of out of the ordinary work may be helping track down a production bug for another team's application or attending working sessions to improve employee engagement at your organization. Those tasks provide some of the best ways to grow your career by stretching your skills in unique ways. Unfortunately, when trying to remember your accomplishments at certain times (like an annual review season) those tasks tend to be forgotten as they're not the main focus of your daily activities.

To get around the issue of forgetting accomplishments I’ve grown to love the idea of creating a Brag Document. A Brag Document can be in any format you’d like but it all boils down to being a record to keep track of your accomplishments, no matter how small. Did you help a new teammate get up to speed on an unfamiliar language? Brag about it. Did you schedule a team happy hour to unwind after a stressful release? Brag about it. It's all about making a case for yourself and helping yourself remember what you accomplished over a period of time.

Starting Small

When I first created a Brag Document, I kept a file on my work computer and just added lines to it with a date and my accomplishments.

2020-11-30 Presented API versioning strategy to development team
2021-03-25 Worked with XYZ team on their Git branching model

This format worked perfectly until I started wanting to brag about things I’d done at home in my own time. Maybe I completed a small proof of concept using a new technology I wanted to learn or I watched some online presentations from a recent conference. Most organizations don’t allow accessing company files on personal machines so my Brag Document now needed to be shared or I needed a way to remind myself to update the document when I got into work the next day, which I frequently forgot to do.

Sharing

After missing out on a few things I wanted to brag about, I needed a new approach. Since I’m a software engineer at heart, the first thing that came to my mind for sharing a document was using Git and hosting the file in a private GitHub repository that I could access on any computer. I created a new private repository called brag with an empty README.md and then cloned the repository to my home and work computers. With the new repository created, I merged all of my manual entries to the README.md, committed, and pushed to the remote host. Everything was perfect... or at least, I thought it was.

With the ability to share the document came the responsibility to keep that document up to date across multiple devices. I kept finding myself wanting to brag about something I’d done but due to merge conflicts I’d spend more time on the command line wrangling Git than bragging about myself. Making sure things were up to date prior to changing my Brag Document slowed me down and made it harder to work with than I had hoped. I needed a way to speed things up.

Automating

Since it’s a rare occurrence that I don’t have a terminal window open at any given time it made the most sense to me to try and automate my bragging. I tend to use Zsh when possible so I created a custom brag function in my ~/.zshenv file that lets me brag just by typing a command in any terminal window.

Using custom brag command to note accomplishments

What ends up showing up in the README.md file of my brag project is a new brag entry with today's date and the accomplishment I'd like to remember.

Showing the markdown document with the accomplishments on GitHub

How Does It Work?

When I submit the brag command it

  1. Does a git pull on my brag project
  2. Adds the current date and what I want to brag about to the README.md file
  3. Performs a git commit with a message of “brag”
  4. Pushes the changes to the remote with a git push
function brag() {
  # location of your brag repository on your machine
  bragdir='/dev/brag/'

  # pull first to make sure you always have latest prior to making changes
  git -C ${bragdir}.git --work-tree=${bragdir} pull

  # add the current date and the contents (using $*) to the file, add, commit, and push
  printf "
  
  ## $(date +%Y-%m-%d)
  
  $*" >> ${bragdir}README.md \
    && git -C ${bragdir}.git --work-tree=${bragdir} add ${bragdir}README.md \
    && git -C ${bragdir}.git --work-tree=${bragdir} commit -m "brag" \
    && git -C ${bragdir}.git --work-tree=${bragdir} push origin
}

Wrapping Up

With all of that in place I’m now able to brag about anything from any computer I’m using that is configured to use my GitHub account. The act of remembering what I've worked on and what my accomplishments have been is now instantly saved to version control in an easy to read format. Your Brag Document is a great tool to reference when review season comes around. Use it when building a case for yourself or send it to others who are providing feedback so they have deeper insight into what you've accomplished over the year.

Hopefully this brings the idea of a Brag Document to more people or for those who already use something similar, maybe this sparks a few ideas on how to automate things to make bragging just a little bit easier.