Building a Team

This is going to seem a bit odd. I’m going to compare building a software development team to building a house. But not in the traditional sense of a house; foundation, walls, roof, etc. I am going to compare building a software development team to spreading weight over load-bearing walls.

I won’t bore you with too many details. But just in case you aren’t familiar, a load bearing wall is a wall in your house that is structurally sound. Take that wall down without distributing the weight and you have real problems. The weak areas start to cave, and then, well you know…

The counter point is that some walls are non-load bearing. You can tear them out and the rest of the house will be fine.

I’ve been building a software development team for about two years. The load that any one member of that team can hold is both critical to it’s success, and critical to it’s longevity.

Parts of the Team

If we step back and think of a software development team, we have three parts or skill levels.

  1. Senior
  2. Mid Level
  3. Junior


Senior

Senior is the most important. Not because I am senior, but because that’s your first load bearing wall. Without that first piece, you can’t build more walls for expansion. Something, or someone, has to take the weight initially.

Junior

I know I am a little out of order here. Bear with me.

Junior is your non-load bearing wall. He doesn’t hold a lot of weight. He’s part of the structure, but can be removed without much, or anything, going wrong.

Mid Level

A mid level member is starting to take some weight away from the senior. He’s not a full load-bearing wall yet. But it’s a start. The load-bearing senior can breath a little. The part of the house he is holding up isn’t as heavy as it used to be. And it gives the non-load bearing juniors room to expand into a load-bearers.

Expansion and Growth

Think of team growth in terms of house expansion. In order for a house to expand, it needs more walls. That’s how it either gains width or height.

If you expand your house without a considerable number of walls, you’re going to have problems. In fact, things will be worse than they were before you decided to expand.

In order for the house to not fall on top of itself, it needs more load-bearing walls.

It simply can’t expand without them.

Here is that part that might sting. If a non-bearing wall goes too long without taking on some weight from the load-bearing walls, it must be replaced. The structure, in this case the software development team, cannot grow.

Okay great. But How?

Okay, that stung a little. You might have someone in mind and think to yourself they have to go. Not so fast. There may still be time.

To take a non-load bearing wall and make it a load bearing wall, a couple of things have to happen.

  1. Make sure the wood isn’t too green. If it’s not hardened enough, it will warp. And things won’t turn out the way you had planned. No one liked warped walls.

  2. Start slow. Add a brace to the left side. Then one to the right. Before you realize it, the non-bearing member is now helping to distribute the weight.

Okay, so this was sort of weird. I mean who compares wood and people. The walls are clearly developers. Some carry the weight of the team. Some do not. Some carry some of the load, and that enables expansion and growth. Those are the ones you must keep.

If your non-load bearing developers on your team can’t move to load bearers, you can never grow.