Almost every software engineer start his career as a junior developer. Sometimes in a corporate environment, sometimes in small software studio etc… Young code hackers are often as good as developers with few years of professional experience. There are several possibilities evolve as a great software engineer in our industry.
So they develop, get better, improve their skills. They become seniors and masters in their area of expertise. Sometimes world-class experts.
What happens next?
They are awarded to a project manager position. Is it a step up in the career ladder? Or three steps down? For the business owner, this seems to be a natural choice to award most experienced employees. Senior developer leads to scrum master, then to software architect and finally… a project manager… TADA! It’s like that (usually) because such an employee knows the company, his DNA has changed to meet company culture and so on. And very often managers have higher wages then engineers. For financial reasons, it is wise to abandon programming and start managing projects.
It should be up to the developer to choose the path for his career. He has to feel an intrinsic force that pushes him toward leading a project and people or balancing between code and business perspectives. Most senior developers would have to adapt to this. But how to adapt and improve management skills if the last 20 years spent on algorithms, performance improvements and technical perspective of a project?
Should such a well skilled code-star learn some basics of encouraging others or managing “human resources” in a project? I doubt it will work in a significant number of cases… Most likely it will degrade his overall performance. This will work if such developer wants to develop as project manager.
Employers! Don’t push your developers to be project managers. They want to do what they enjoy and do best. Facilitate their best skills in the best possible way. Provide them with a set of tools, challenges and opportunities to do so. Employers - you should be aware of what is important for your senior developers and leaders. Encourage them to develop as they want and benefit from it!
ps. sometimes being a project manager forces you to be an asshole too…