5

How the Peter Principle Works in Software Development

 2 years ago
source link: https://medium.com/geekculture/how-the-peter-principle-works-in-software-development-7756aef3b278
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

How the Peter Principle Works in Software Development

How developers reach their level of incompetence

Photo by Marina Gr from Pexels

“In a hierarchy, every employee tends to rise to his level of incompetence.” Laurence J. Peter

One puzzle in software development is why is there are so many good software developers and so many terrible managers. Many managers are developers who have been rewarded for being a great developer to be given the opportunity to be a manager.

A role they don’t have the skills for, don’t enjoy and they aren’t good at. This is a prime example of the Peter Principle in action.

Look at a failing project and you will see the Peter principle in action. There will be weak senior developers, managers and leaders. These are people who have risen to their level of incompetence.

What is the Peter Principle?

The Peter principle states — Wikipedia

The Peter principle states that a person who is competent at their job will earn a promotion to a position that requires different skills. If the promoted person lacks the skills required for the new role, they will be incompetent at the new level, and will not be promoted again — Peter Principle

People get promoted based on their past performance. Excelling in one role, leads them to get promoted to a different role with more responsibility. The new role will need new skills, which they will need to learn, improve and get promoted again.

Eventually they will get promoted to a level which is beyond their skills (and enthusiasm), you end up with people with people in senior roles who aren’t good at that role.

People get promoted to their level of incompetence, they get promoted until they reach a job they are not good at and that’s why they stay.

Kicked upstairs

The Peter principle explains senior Devs, manager and leaders who aren’t good at their job :-).

The primary career path for developers to get promoted is to either become a solution architect or a people manager. This is classic Peter Principle because these roles don’t involve writing or designing code, the key skills of a senior developer.

Developers

The Peter Principle is at work for developers, staying developers and being promoted to senior developer.

The Peter Principle works with developers in the two situations below

  1. Developer becoming a senior developer
  2. A small project developer moving to an enterprise project

Senior developers need to create standards, set best practices, control scope, do code reviews, solve problems. Senior developers are technical leaders who need to lead and coach the rest of the development team and make sure quality is high.

If you are not a strong developer with a clear vision on how to keep quality high, development can get on top of you. On small projects you can get away with low quality, because of the small amount of code created.

On large projects, if the standards are not high or enforced then the project creates technical debt fast and development gets harder the longer it goes on. Developers need to know what good quality code is and then need to be able to write it.

An enterprise project isn’t twice as hard, it’s more like 10 times as hard.

Leadership and Senior Developers Are the Main Reasons for Success or Failure of Software Projects. When I think of successful large projects, they always have good senior developers.

When I think of failing projects, the senior developer is weak, and the project is a mess.

In software development, there are a couple of additional rules that come into play to boost the Peter principle.

  • Time based promotions
  • Management as the only career progression

Time based

People get promoted not because of being good at their role but because they have been their longer.

Companies give promotion not to individuals who are best suited for the role above or have performed best, instead to the candidates who have been their longer.

This promotion is based on loyalty or those who have waited their turn.

This adds to the effect of the Peter principle because it leads to more people being promoted to the level of their incompetence.

No technical track

In many companies, the development career path is management. For many developers, this is a road to doom and despair and a job they are ill suited for.

For developers to progress their career and get promoted, they have to become managers. Management needs different skills than the skills needed by senior developers, senior DevOps engineers.

There is some crossover of skills in solution architects because it needs the technical skills to design software solutions.

Good technical people rarely make good managers or leaders. It's better to leave your best technical people doing technical work. This is where they bring the most value and good developers are hard to find. If you have a good developer use them on your big difficult projects where they can bring the most value.

Don’t punish them by promoting to a manager role

To do this you need a separate technical track where they can keep doing technical work and keep progressing their career. In many companies this isn’t in place, so you get technical leads being poor managers and adding to the Peter Principle.

Solutions

There is an inevitability about the Peter Principle that is depressing, but knowing about gives you a chance of combating it.

Past performance in one role isn’t a guarantee of future performance in a different role. When considering people for a role, understand what skills are needed for that role and place a person with more of those skills.

Find out where people want to go in their careers and help develop the skills, knowledge and experience they need for the role before they get there. Coaching and mentoring can help individuals identify their weaknesses and areas they need to develop.

Match people with rules they want to do. These people will be self motivated to succeed and do the hard work to fill the skill gap. The people who aren’t passionate about the role won’t have the enthusiasm to put in the extra work out care enough.

Create technical tracks that allow your best technical developers to continue. The contributions they make to technical areas can have a big impact.

  • Setting standards
  • Team tools used in all projects
  • New best practices
  • New tools
  • Coaching technical juniors
  • Training
  • Centres of excellence
  • Blogs
  • Presentations

You need good managers and leaders to enable the development team to deliver software projects.

Larger companies have technical leadership tracks where developers can be technical leaders not people leaders. This is a good move and keeps the strong developers doing what they are good at.

This will keep developers happy, keep developers doing what they are good at and will stop companies from suffering from the Peter Principle.

Conclusion

Over coming the Peter Principle is difficult and can sometimes feel not fair but people shouldn’t be promoted into be roles they aren’t suited for, don’t have the skills for and aren’t interested in.

Poor leadership and management have a huge effect on performing the team and projects they handle. Poor leadership will mislead a good development team and produce a failed project.

Promoting strong developers into leadership roles or as architect role is double whammy. You lose a strong developer and create a poor manager/architect. If the developer isn’t interested, then they will never put in enough effort to be good in that role.

At best they will be average and worst they will be terrible.

Further reading


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK