As software engineers, the managers we report to have an outsized impact on how we feel about our jobs. Our managers largely determine the projects we work on throughout the year, the ratings we receive at the end of each year, and everything in between. Having a good manager is paramount for enjoying your job and thriving at your company.
But, how do you find a good manager? Having worked under handfuls of different managers at several companies throughout my career, I’ve found a few things that help identify “good” managers.
The first thing a good manager does is prioritize your career goals and aspirations. While this might not be possible to do at all times, your manager must be able to work with you to devise a clear path to get what you’re after. This might mean working on a particular project or going for a promotion at a specific promotion cycle. Regardless, be weary of managers who:
Refuse to prioritize your goals
Cannot articulate why your aspirations or timelines are unreasonable
A second quality I’ve discovered in good managers is they shield you from unnecessary bureaucracy and overhead. One of my favorite managers routinely acted as a shield for myself and my team. She helped clear our schedules from meetings that didn’t concern us and consolidated communication with others to inform us of only what was necessary. This allowed us to focus on what we needed to build and deliver high-quality work on time. Any important information was also immediately relayed to us without hesitation and done so transparently.
The final quality I’ve found good managers possess is the willingness to advocate on your behalf. This is crucial in scenarios like promotion decisions, end-of-year ratings, transferring to new teams, and more. Your manager’s word can carry a lot of weight and it is important they wield this power appropriately and for your benefit. The best managers can do this very effectively. As much as it’s important to be your own advocate, there are times when you won’t be present in the room. This is where you must rely on your manager and their influence. The longer I’m in software, the more I realize that the hardest part of building software is dealing with people. Computers are simple; people are complicated. Your manager must be able to deal with complicated people to help you arrive at the results you desire.
As a final piece of advice, I recommend changing managers if you’re not happy with who you report to. It’s much easier to change teams or even companies than it is to change someone’s behavior. I don’t suggest this as a knee-jerk reaction but rather if you’d done what’s in your power to remedy the situation. Life is too short to be miserable or deal with individuals who aren’t your cup of tea. Working with a good, supportive manager is like riding an e-bike — you hardly have to peddle to get where you’re going. Working with a bad manager is like swimming upstream — you have to work hard to simply stop yourself from going backwards.
Drop a like ❤️ and comment below if you made it to the end of the article.
Well done, Kevin! This article is on another level, and I loved.