Should technical managers code?
Vivek Kant
Digital & Technology Leader | Ex-BCG, Ex-Bajaj Finserv | Financial Services
Expert | Engineer
September 6, 2022
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.
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.