Software development projects often seem to get lead by non-developers. It is not a big surprise, considering the fact that developers really just love to develop. Anything else (like timelines, budgets, and resources) are just distractions. VPs really care about some boring stuff, don’t they?
Although many senior developers would rather not deal with the pencil pushing and bean counting, they usually find out that they must learn this, as a survival skill.
For instance, let’s just imagine that you are not a developer, but you are a very ambitious person. You are successful at nearly everything that you put-your-mind-to. So, leading a software team should be no different, right?
How hard can it be?
It doesn’t seem like there are that many mistakes to make, but it is very similar to assembling a working cow, from parts that you buy at a deli. It seems like it shouldn’t be a big deal, right? Just hire some surgeons, and in a few hours, “moo”. What is the big deal?
Unfortunately, you can read lots of books and show a lot of enthusiasm, but in all honesty, you will have to learn from your mistakes, as you go. You could try to learn from others, but that is more of what an organizer does and not a leader. New leaders usually don’t have the confidence to defer to people who know what they are doing. So if you are a new leader, you will feel compelled to lead and control things, and make your own mistakes. Trusting folks just seems too risky.
It takes a while to learn that [software development projects] are much harder than they should be. So, a new leader, who is learning from his mistakes, will burn-through a lot of clout and will even begin to accumulate a fair amount of debt. It is hard to truly express how much there actually is to learn. I’m not exaggerating when I say that it seems to take FOR-EV-ER to get good at it. Meanwhile, somebody is going to notice that things are not going well. They will look at the person who is leading the debacle (and amassing all of the reputational debt). That is when things start to get ugly.
Owning-up, or not
When you make a mistake, the right-thing-to-do is to accept the blame for your own mistakes. It is right and it is honorable. However, it is exhausting. If you are a new leader, and you are owning up to all of your mistakes, the exhaustion will eventually break you. When it does, you will always pick the next most responsible person. You will point the finger at the senior developer.
Leader: “Good morning Tim, I’ve moved your desk, to get you some fresh-air and sunshine”.
Me: “Um, you moved my desk under a bus. I know what this is. Just because you didn’t physically [throw me under it] does not mean much”.
Yes, I’ve been under the bus before, and it is survivable. Some would say that it goes with the territory, for a senior developer. However, I would prefer to spend as little time under the bus, as necessary.
The first time someone throws me under a bus, I don’t complain. I guess maybe I’m not so afraid of it any more. However, I have found that if I let it happen a few times, without speaking-up, then it seems to happen more often. Believe it or not, I’ve nearly been fired before, because someone else was making big mistakes and I wasn’t pointing fingers at them. Playing the blame-game is a disgusting practice. I hate it and I avoid it above anything. It is better to privately offer to help the new leader and appeal to his sense of dignity and honor. Hopefully, he isn’t so exhausted that he is running low on both of those.
In the end, it all seems to work out. It just takes a lot of patience. When the new manager is panicky, he won’t have patience. He needs to rely on you. Be strong. There is often a sign above my desk that reads “bus stop”. I guess I am okay with that, as long as the bus doesn’t visit me too often.