“Quality is not an act, it is a habit.” – Aristotle
Hey there!
Let’s be real, avoiding dumb decisions would make any manager’s life a lot easier. But doing this consistently? Easier said than done.
Don’t make dumb decisions when hiring
Don’t make dumb decisions when firing or letting people go
Don’t make dumb decisions during re-orgs
Don’t make dumb decisions about your high performers and “sleeping stars”
Don’t make dumb decisions when creating and communicating your strategy
Don’t make dumb decisions when prioritizing
Don’t make dumb decisions when choosing your tech stack
And the list goes on.
Mastering the fundamentals won’t completely prevent dumb decisions, but it will help reduce their likelihood. No matter where you are in your journey, getting the essentials right can make all the difference.
Here is my opinionated list of the top 5 essential fundamentals for engineering managers:
Technical expertise
Soft skills in general, and communication specifically
Project management
Team management and development
Strategic thinking and yes, decision making
Now, let’s unpack these a bit.
Technical expertise: when interviewing at many big tech companies, managers have to pass the same (or a similar) technical bar as software engineers, taking both coding and system design rounds. In my opinion, this is a good thing. Having technical proficiency as an engineering manager can lead to greater respect from the software engineers you work with (I’ll discuss the specifics in a separate post in the future).
Soft skills in general, and communication specifically: soft skills are crucial for any engineering manager, with communication standing out as particularly important. Presenting to stakeholders, conducting 1-1s, and facilitating team discussions (just to name a few) all require strong communication skills, which are essential for your effectiveness as a leader.
I remember when I was an individual contributor (shortly before becoming a team lead), I knew I wanted to improve my communication skills. I even put that into my performance review as an explicit area for improvement. The reality was, I knew little about what it would mean practically. It took me many years and attending multiple classes in the UHK (University of Hard Knocks) to find out what good communication means and looks like in the real life of an engineering manager. It’s one of those skills that takes a lifetime to master.
Project management: we’re all project managers now, and it’s a crucial skill for building highly productive engineering teams that deliver consistently and with focus. I have a separate post that describes more benefits of project management here.
Team management and development: a key responsibility of engineering managers is to build high-performing teams that deliver results. This includes mentoring, coaching, giving feedback, and developing the skills and careers of team members. This is Engineering Management 101, if you will.
Strategic thinking and yes, decision making: oh boy, this one might either excite you or make you feel like it’s all “corporate BS.” But here’s the deal: strategic thinking is critical, and the higher you climb the career ladder, the more important it becomes. If you are in the “non-believer” camp, my advice is to reframe the importance of strategic thinking and make it interesting for yourself. It’s that important.
Mastering these fundamentals - technical expertise, communication, project management, team development, and strategic thinking - can significantly improve your effectiveness as an engineering manager. While it might seem overwhelming, remember that continuous learning and improvement are key.
Happy managing, and cheers to making fewer dumb decisions! :)
P.S: For a related opinionated list of software engineering fundamentals, read here.
Stay curious,
Ruslan