Why even pursuing a technical career as a developer, you still need to have some management skills
With each passing day we see more and more companies adopting digitalization strategies and those companies already mature in these strategies are investing much more to speed up this process (and all this was reinforced by the COVID-19 crisis).
This had a positive impact on the software engineering market, with more and more new jobs appearing and, consequently, an increase in the salary offer. But in my opinion, there are some other impacts that are less discussed and I will bring them up throughout the article.
1. The pain of growth in teams
With massive hiring, we will have, in a short period of time, an exponential increase in the technology teams within the companies, consequently increasing the complexity in the processes, methodologies and rituals that the team uses. Generating great pain to organize everything in a minimally viable way.
2. Lack of experienced developers
With a high demand for developers, but with the low amount of these professionals companies see themselves having to hire developers with little (or almost no) professional experience. Which leads to the need to allocate a relevant amount of time from experienced developers to the training and support of these new teammates. Ultimately, all of this leads to a negative impact on the team’s delivery speed as a whole.
3. Increase in developers = increase in managers
It is a simple account, with developers team growing the need for managers who understand engineering will also increase. What leads to the third impact: lack of managers who understand engineering, who have a technical background and who are able to interface between engineering and business strategy (vice versa).
And what does all this have to do with developers having management skills?
Everything.
Today when a developer becomes a developer most of the learning that will be gained will be technical or better be hardskills. Those who focus on softskills end up going directly to the management area, leaving the hardskills (the programming itself) aside. But with this scenario that the technology market is moving, it will be necessary for developers to keep some softskills active, in order to minimize those impacts mentioned above.
And already answering a question that you may be thinking: But then why don’t we make these people who focus on softskills learn the programming hardskills? Because at the end of the day, companies will need much more “code” produced and many processes that managers do are moving towards automation (this is a chat for another article).
And what are these skills?
One-on-one with peers;
Have an understanding of the business metrics and the company’s strategy;
Ability to optimally mentor your colleagues;
Understanding of engineering metrics (lead time, throughput, change fail, etc.);
So why learn these skills? Because the moment you solve a pain that the market is feeling, you consequently stand out and get paid for it. Thus, the evolution in these skills means professional (and personal) growth whether working within a company or within your own company.
In the next articles I will describe how I did develop each of these skills throughout my career (from when I started as a developer until I got to the engineering management area).
If you liked the content you can register on my email list to receive notifications of new articles by clicking here.