15

Can having too many senior programmers in one team turn out to be a bad thing?

Having like say, 4-5 senior programmers in a team of 6-7 people. What is the optimal number/ratio in these kind of situations?

Can this lead to too much philosophy and arguments about ideas?

Has anyone had such an experience, that can share it with me?

1
  • Is there any architect? Too many alpha devs need someone above them orchestrating all the "creative" potential ;-). Last time I worked on a project with so many seniors, the first month was hilarius. There were too many "refactorings" and "re-designs" because too many "creative" points of view :-)
    – Laiv
    Apr 15, 2016 at 10:54

8 Answers 8

40

If I could choose I would have 6-7 seniors on a team ( assuming the project needs that many ).

The only time I can see this being a problem is if the seniors are only senior in self perception and not work ethic.

There is nothing better than working with a group of people who appreciate that every piece of software development is important - the documentation, the planning, the code, the coffee, it all matters and it takes mature ( real senior ) developers to be "above nothing" and get the job done properly.

EDIT: Many other answers have said that too many leaders is a problem - but why is there a perception that a senior must lead? A senior should be mature enough to pick a leader and follow. It is the project that matters - pick / get a role and rock it silly !

3
  • 1
    True, Sr. Devs don't have to lead, but they often have some lead responsibility. This may vary across organizations... Apr 1, 2011 at 17:38
  • 10
    Concur! A true senior-level software practitioner should possess the skills and professional maturity to be able to move in and out of leadership positions as needed by the organization. A team of true seniors operates more like a jazz ensemble than an orchestra. Apr 1, 2011 at 20:25
  • Oh! That's the answer I was trying to compose earlier but couldn't quite get my head around. +1
    – pdr
    Apr 1, 2011 at 21:11
10

The biggest problem I see with loading up a team with senior programmers is that it might weaken other teams. If you have junior developers on other teams that need mentoring and guidance, then you might need to shift people around.

Can this lead to too much philosophy and arguments about ideas?

Sure it can, but they should be mature enough to know what differences matter and what ones just don't. If you've designated a respected team lead, these sorts of philosophical arguments should be kept to a minimum with little effort.

1
  • Also, educational value of seniors is diminished by the fact they have no one to teach.
    – Basilevs
    Mar 25, 2017 at 5:52
7

Can having too many senior programmers in one team turn out to be a bad thing?

Definitely.

I'm a big proponent of Fred Brooks' surgical team pattern.

And with that being said, if the seniors on a development team don't know who the "chief surgeon" is, then they'll clash over important architectural decisions and will be pulling in different directions to the detriment of the team.

P.S. A development team's need for a "chief surgeon" is similar to an orchestra's need for a conductor. In either case, you'll likely have many veterans; but you'll have a fine mess without one person who is undisputedly in charge.

3
  • 7
    Only teams on which senior means "five years of experience" need a "chief surgeon." Everyone on my team is over forty. We use a fully-cooperative model to divide up a project. We are like a Jazz ensemble. Apr 1, 2011 at 20:07
  • 2
    The surgical team pattern might work for one or two projects, just like micromanaging. In fact, micromanaging is frequently the best approach if short-term is all you care about. However, in the long run, eventually it leads to demoralized workers who aren't being challenged to their ability level. Then the best workers will leave for better opportunities and the lazy and less competent ones will stay because it's pretty easy to do a job when you are told exactly what to do without having to think for yourself.
    – Dunk
    Apr 1, 2011 at 20:18
  • 1
    And is it fair to suppose that you see yourself as the chief surgeon? Apr 2, 2011 at 3:46
3

It depends on how responsibilites are distributed. If ALL of the Sr. Devs are supposed to have equal responsibility wrt design, code review, etc... then it could become a problem. If they are given different responsibilities such that they can work without fighting over control over each others' domains, then it shouldn't be a problem - for example, one Senior Dev gets main responsibility of project design, another gets to be in charge of setting up and maintaining source repository, another gets to be in charge of unit testing, etc...

2
  • 2
    Every software practitioner on my team has equal responsibility and equal authority. We are a small, but highly-experienced team that does the work of a much larger mixed team. Apr 1, 2011 at 20:26
  • 1
    If developers don't know how to work collaboratively, without the need for defined domains, then they aren't yet senior. Apr 2, 2011 at 3:47
3

Can having too many senior programmers in one team turn out to be a bad thing?

Not necessarily. I have worked on small teams of senior developers that were highly productive. The level of discourse was very high, and there was no rancor.

With TDD, there are very few big commitments to software architecture, so there's little need to argue about them. Design decisions can be resolved by simply implementing both approaches and seeing which one works out best. Since the developers are very fast, the cost of these trials is very low.

2

Yes, there can be the problem of having too many cooks in the kitchen for one metaphor that may apply. It could also be quite costly if they are all expecting high salaries. Note that this is just verifying the existence of a bad case and says nothing about its probability.

Optimal depends on a number of variables that you aren't disclosing. What metric do you want to use realizing that there is a good chance of some gaming the system here. Similarly, what constraints do you have within your world that may make it different than what Google or Microsoft may have in contrast.

Too many senior developers can have the problem of either no conventions or too many conventions I'd think. While some senior developers may be good at adapting, if none of them are likely to introduce a convention, where would a team start? Conversely, there may be some senior developers that are die hard fans of some conventions that may require some conflict resolution to resolve.

2

I think it depends on the personalities of the seniors. If they're arrogant and argumentative, then it can be a bad thing. But if they're all respectful, open to other viewpoints, and willing to learn from each other, then you have a great team.

I currently work on a team of 8, where 5 or 6 are senior, and it works really well for us. We get along well, learn from each other, and it's a great mentoring environment for the newer guys we have.

2
  • 2
    In my humble opinion, the "senior" title also conveys a level of professional maturity. Apr 1, 2011 at 20:14
  • If senior developers are arrogant and argumentative, they will be bad on any team. It's just more obvious with other senior devs, because they know not to put up with the bullshit. Apr 2, 2011 at 3:48
1

I worked in a team where there were 1 lead developer, 4 senior developers, and 1 middle developer. And because of the reason that one "senior" member of the team was not a really mature person (good developer though), it turned out to be a nightmare. He tried to prove all the time (implicitly or explicitly) that other team members are not senior enough. Also he failed to understand basic principles of software development and specifics of our product, and, therefore, arrogantly and stubbornly tried to prove that he's right. As a result, it seriously affected effectiveness of the team. The sad part is that it even was not too much argument about ideas/solutions - it was argument about nothing. For example:

  • who broke the build (which most of the time was green and, technically, wasn't broken. it was UI which failed to work properly very often due to the poor architectural solutions)
  • why there are regressions (modules were not covered by unit-tests which we didn't have access to contribute to)
  • arguing over architectural solution in module which is somebody other's responsibility knowing nothing about module requirements and specifics.
  • ...

But I admit it was rather an exception. I want to believe that seniors behave properly most of the time :)

2
  • The person you describe is not mature enough to be considered senior even if he had that job title.
    – bikeman868
    Mar 24, 2017 at 7:12
  • he was at least addressing issues and trying to get them fixed very mature in my opinion
    – maazza
    Mar 14, 2021 at 23:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.