Should technical managers code?

A few months back I saw a tweet from Elon Musk on a topic that I am passionate about. I posted that tweet on LinkedIn. I could not have imagined the way the post went viral. It had 5.6 million views, over 50k reactions, and more than 2000 comments. I could not read all the comments, but most were in support of the argument, however many were against it.

Therefore, I felt the need to write a blog that explains this argument in detail and nuance, which is so often missing in social media.

No alt text provided for this image

 First, let me put down some definitions so that the right context is built. 

Technical – A person can be called technical if he or she writes production code at least once a year. Anyone who can read code, and review code but does not himself write production code should not be called technical.

Manager – A person who is responsible for the project, people, or stakeholder management. This does not include Product Management (or Product Owner) or functional managers. They bring skills such as planning, forecasting, monitoring, etc. 

Technical Manager – A person responsible for delivering software with at most one degree of separation from software developers. This includes technical leads or technical delivery managers or engineering managers but may not include their managers. Technical managers are a blend of both technical & management capability, one not at the expense of the other.

Now, here is why I think technical managers should be excellent in coding:

Estimating & Planning – Unless a person can code, the very nature of the software being indeterministic it is unlikely a person is able to independently estimate & plan software development. Lacking technical capability, a manager ends up depending on his technical team without having the ability to review a plan objectively.

Mentoring & guiding – Without having technical depth, it is unlikely a manager can mentor & guide the technical team. While a manager can guide on a non-technical aspect it is always out of context. A technical manager can guide by example both on technical and non-technical aspects as the team would look up to him.

Risk management & decision making – A core capability of a technical manager is to manage risk in a project and take decisions in case the risk materializes. A technical manager has a better ability to understand the risks and take objective decisions that are not just based on information provided by the team, but independency arrived by themselves.

In conclusion, my personal experience is that my deep technical capability has come in very handy in my management roles, and has been a differentiator and growth enabler for me. Therefore, those of you who are growing into first-time technical management do keep coding.

Great to see you stirring up positive conversation and comment Vivek.

Very true. Excellent write-up. I am fan of Elon Musk thoughts.

Completely agree! I think technical managers should code. It’s not enough to know the theory or high level but you yourself need to have gotten your hands dirty through the experience. In order to make recomendations you need to understand system and logic. if you are guiding reports/mentees it’s because you’ve been in that boat and you understand the pitfalls that they can go through and help them out on execution. Leaders need to be familiar with things themselves to help guide others. 

Completely agree and no second thoughts about it.

To view or add a comment, sign in

More articles by Vivek Kant

Others also viewed

Explore content categories