The Peter Principle in the Software Industry
Have you ever heard about the Peter Principle? Maybe not by its name, but you certainly know the concept:
The Peter Principle is a concept in management theory in which the selection of a candidate for a position is based on the candidate’s performance in his or her current role rather than on abilities relevant to the intended role. Thus, employees only stop being promoted once they can no longer perform effectively, and “managers rise to the level of their incompetence.” — Wikipedia
With the traditional career ladder proposed by most software companies, the next step in a Software Engineer career is usually to become a manager even though that’s not really his/her thing, creating frustration for the ones who take the step and a sense of stagnation for the ones who don’t want to.
This is a common problem in most companies and a very frequent growing pain for startups that are getting big and losing their culture. Some companies like Google, Etsy (check their awesome presentation) and us here at Spotify have realised that and are now fighting against the Peter principle.
Good engineers are not necessarily good managers and by forcing this career path many companies are wasting good technical knowledge and having half-assed managers who are not capable of dealing with people problems. On the other hand, no one wants pointy-haired bosses and it’s important that managers have technical knowledge, but they don’t need to be the best engineers in the room, they just need to be good enough to know what's going on and work together with the team.
The classic hierarchy should be flattened in a way that the manager is not above the engineers but beside them, helping them to do their jobs, removing the impediments and coaching them with their team-work. Career path shouldn’t be a single straight line that goes up, but a road full of forks where people can also go sideways and have the possibility to keep growing and learning by doing what they know and love.