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 year 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 they area of expertise. Sometimes world class experts.
And what happen next ?
They are awarded to a project manager position. Is it a step up in career ladder ? Or 3 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…TA DA! It’s like that (usually) because such an employee know 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 a 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 last 20 years was spend 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 significant number of cases… Most likely it will degradate his overall performance. This will work if such developer want 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 tools, challenges and opportunities to do so. Employers – you should be aware 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 being an asshole too..