Mental health is hugely important for software engineers. When I first started coding, the thrill of solving problems and getting that hit of dopamine from the instant feedback loop was incredible. It’s easy to forget those initial challenges and accomplishments as you progress, though, and problems that used to look like unscalable walls turn into speed bumps. That’s why I believe regularly reflecting on your work is so valuable. Otherwise, you might find yourself dwelling on the struggles and forgetting the successes you’ve achieved along the way.

Writing down the wins

Here’s how I track my progress: Every week or two, I set aside some time to quickly document my achievements, even small ones. I keep it concise to avoid procrastination. I have some anxiety around tasks with too many unknowns, so a simple, mechanical process works best for me. I’m also a very forgetful person, so I usually have to review artifacts created by the work that I do, like following digital breadcrumbs that I leave around. Here’s a list of where I might find these things:

  • issues I’ve worked on
  • pull requests
  • emails
  • edits to documentation
  • slack messages

The more concrete evidence, the better, but some achievements don’t leave clear evidence so be sure to capture interesting anecdotes as they happen. Anything that has allowed me to progress forward should be highlighted, even if it is a result of compromise or realizing that you made a mistake.

I also apply a similar strategy to my personal life. Did I stay on top of my Danish lessons and language learning apps? Did I have periods of being ill during this period? Was I physically active, by cycling, exercising, or simply taking the stairs? Tracking these things helps me see the broader picture.

Quarterly reviews

To pair with the weekly tracking. I conduct a more in-depth reflection every 3 months. Here, I add my thoughts to these accomplishments. I create a narrative of the past quarter, encompassing both highs and lows, as well as the inevitable “neutral” experiences. Three months seems like a good timeframe to identify any significant shifts in my attitude or goals. It allows me to assess my progress on past goals and set new ones for the future. I believe this time frame is MUCH better than the yearly cycle of New Year resolutions. Twelve months is way too long. One month is usually not enough to make good progress on goals or to establish habits. Three months seems just right to me. So here’s the list of what might appear on a quarterly review:

  • A “narrative” of the last three months using concrete examples from my journal to back it up.
  • Report on the progress of previous goals.
  • Create new goals or revise the older goals if needed.
  • Pictures and video of important moments.
  • Reflect on big family budget items and see if they align with my priorities in life.

Yearly themes

Yes, I am a Cortexan and podcast episodes outlining yearly themes are among my favorites. Yearly themes give a framework for me to push myself to do things I want to do while allowing me to adjust (every quarter) exactly what it means to accomplish my theme. Sometimes life throws additional challenges. For example, it’s silly to fail at achieving a goal of “running a mile every day” if you break your leg.

For me, this year is “The Year of Building”. Here’s what I wrote about my theme shortly before the year began:

I want to build some cool things. I want to make some useful open source projects. I want to implement some neat solutions at work and actually prove them out. My follow-through sometimes lacks when I lose interest in things. I want to make more cool blog posts.

I also want to build on my Danish by continuing my Danish classes, self study with and using it more “in the wild”.

I think I’m doing a good job with this one. You may notice though that the latest batch of blog posts didn’t start in January. I “slacked” on this goal for over a month but in my theme framework, it’s fine because I was ramping up my Danish classes again. My yearly theme allows me a lot of grace on the day-week-month scale while hopefully keeping me honest on the yearly scale and allowing for adjustment of individual goals to match reality.

Try it yourself

Journaling and goal-setting are extremely personal things so your process may vary a lot from mine. But one thing is likely true of everyone: by keeping track of your wins, both big and small, you can maintain motivation and see your progress over time. Give it a try and see how it impacts your software engineering (and life) journey!