Why Managers should learn coding?
This is a common phenomenon in software companies that you see project managers with little or no knowledge of technologies being used in their project. Most managers either hold a business degree or they were a developer many years ago and got promoted. This causes a lot of hurdles in their project management.
There are following main issues they may face in their work.
Communicating with developers:
The most obvious task in a project is communicating with developers, understanding their requirements, and issues they may face while developing. If the manager is a nontechnical one then either he would have to rely completely on the words of the developers or needs to continuously take help from other senior technical persons. Which ultimately make him blindsided or totally unaware about what is actually happening on the development front which is apparently the most important part in the project.
Setting the timeline:
One of the many important works a project manager does is setting the timeline for the project and the underling sub tasks. If manager does not understand technical requirements (coding and testing time required, and the risk factor) or the skills required to finish the task, he can’t estimate the time required for the various tasks. Again he would have to take help from other technical persons on the team, and he would have no way to verify it by himself or making any changes in it.
Resolving the issues and conflicts:
If various teams having conflicts over how to peruse something in the product or they have difference of opinion about the underlying technology used. This situation can become a nightmare for a nontechnical manager, when the project timeline is fast approaching.
If team is facing an issue and not able to finish the task on time a nontechnical manager would have a hard time figuring it out. He may have to consult a lot of third parties before drawing any conclusion, which may take a lot of time, which may delay the project further.
Forming a team and hiring new talent:
An important part of the project manager is to build the team and hiring new talent according to the skills required for the project. If he does not understand the technology then it is extremely difficult for him to build the team with the right balance of all the skills required. Which is a critical factor in the project success.
Communicating with client/business:
A nontechnical manager would have a hard time explaining and justifying the use of resources and funds used in the project. If he does not understand the technical capacity required for the project then how he will justifying the efforts being made and time taken during the project.
A project manager can be a lot more efficient In his work if he is hands on with the new technologies and coding. It will surely help him doing a lot better. But still 80% of the current managers in the industry have very less or no knowledge of software development.
For me the idea of having the software development managed by somebody who does not know anything about software development is kind of silly.
What do you think ?
Rahul Budholiya: There is resurgence on this topic given Elon Musk acquisition of Twitter. There is Tech Lead Manager (TLM) and beyond TLM it is only high level but good enough for correct decision making. Otherwise the knowledge work business does not scale. Elon will not be able to scale if he has the attitude of "Coding Manager". I agree Generic Managers should be shown the door but not the Technical Managers (who does not code). The first kind of Technical Managers are Technical Product Managers (I have been one 2012-2017). Other kinds are Managing Architects (managing Solutions Architects) or Sales Engineering Managers. I quickly gave these examples but I can give dozens. Perhaps TLMs should report to Directors (managing about 50 direct or indirect - this strategy then reduces management hierarchy).
Nice article.