A few weeks ago, I read an article on Coursera called Should engineering managers write code? Wrong question. to which after reading it, which made me think a little about my current situation and evaluate myself in relation to other colleagues in the technology field.
First of all, I must confess that I learned to program out of personal interest. Nobody really forced me to program and I really enjoy when I do it. However, as obligations change within the workplace, it is very likely that we will stop doing this and concentrate on developing other administrative and personnel management skills.
In my opinion, every manager in the technology area should know how to write code. By this I don’t mean that they should be software architects or software engineers with extensive experience, but they should really be able to write code and understand how to write code. This is as important as having basic knowledge of Databases, Infrastructure, Computer Security and Networks/Protocols. This competency will not necessarily make you a better or worse boss, but in my opinion it is useful to have.
Why should a technology manager know how to program? Here are some reasons.
#.Programming is increasingly immersed in more technologies
A specific case: DevOps. Developers depended on infrastructure to be able to deploy their servers. Since development was not so important for infrastructure, developers generated their own technologies that allowed them to deploy complete services through programming.
This same case is replicable to other concepts in technology, such as Big Data, Data Mining, Deep Learning, Machine Learning, which require programming knowledge for their correct implementation.
Also, if you notice, all these terms are not only current, but the future of technology. Knowing how to program is essential to resist in this environment.
#.Understand how systems work (and how they are made)
There is nothing stranger than having a boss, manager or manager who asks us to do something practically absurd or impossible.
Understanding how the systems work and how they are made helps to have a more global understanding of what and how to apply.
Likewise, it allows you to understand the estimates to make realistic estimates for the systems that are being created or generated. Sometimes, to comply with the “I need it yesterday” it was necessary to indicate needs months in advance.
#.Improve as a manager or boss
A good manager must motivate and commit the team. Leading a team while being partially part of the team helps a lot to improve the relationship with the team. Of all the tasks within a technology team. Additionally, when you inquire about a problem in a system you tend to better understand the problem and even generate alternative solutions, due to your additional knowledge or simply help with decision making.
#.Solve complex problems, with simple tools
Do you have a problem that may need a lot of human work? Do you have millions of data that you don’t know how to interpret? Do you want to create a small bot or simply integrate two systems?
You can solve all this through programming.
#.Conclusions
I really don’t think it’s mandatory to program, I even consider that one of the jobs that a manager performs should be programming, but perhaps making sure that you have the best programmers within your team.
However, I do consider that understanding how programs are developed and even being able to do a little hacking, can help a manager in his management and can help to understand more how things work behind everything.