I decided to take the day off today.
It wasn’t because I wanted to relax. In fact, it was for exactly the opposite reason: I wanted to feel like I was actually making progress on something again.
When you first start a career in software engineering, everybody throws a million small tasks at you. The individual tasks might not be particularly interesting, but at the end of the week you can look back and say: “Wow. I accomplished these 5 things this week. Go me!“.
Fast-forward a decade or two, and now you’re a Principal Engineer. You’re no longer working on small tasks that can be completed in just a few days. Instead, you’re architecting large-scale initiatives that span several teams and dozens of components. Awesome!
… except, now it’s no longer easy to measure how much you’ve accomplished in a week. Rather than implementing individual components, you are spending most of your time guiding teams and communicating with stakeholders. Sure, you’re writing tons of documents, attending meetings, answering questions, and providing advice; but, it’s very difficult to measure the impact that these individual activities are having. Sometimes, you are able to get everybody moving in the same direction after a quick chat. Other times, you have to advocate something for months or years before others understand its significance. Meanwhile, you are left feeling like all of your hard work is amounting to nothing.
Of course, the hard work is amounting to something. It just takes a lot of energy before the train really starts moving.
So, I decided that I needed a short break from pushing the train. Instead, I’m focusing my energy on a few smaller projects where my efforts will have a more immediate impact. The sense of accomplishment will be very refreshing!