Owen on software

MaaI - Mediocrity as an Industry

17 August 2015 - Comments

As an industry, we are guilty of creating a culture of mediocrity. Maybe that’s a bit harsh. But it is largely true. It’s not something we’ve done deliberately. But we’ve still done it.

Last time, I talked about some aspects of how we hire and the need for better certification and standards in the IT industry. In reality, that is years away and may ultimately have to wait for the disruption of university education by MooCs to fully unfold before we get a more standardized and better quality education for the average software developer.

In this third post in the ‘We’ve got it all wrong’ series, I want to talk about developing people. We mostly don’t do it, but we should. This is something we could change today, and we should.

What’s the big deal?

Here’s my contention: we have a significant shortage of good software developers in the industry. When you come to hire technical leads and architects the situation becomes dire. As an industry, it’s crippling our ability to deliver great software.

For small companies, those only recruiting a handful of developers and who can afford to pay premium salaries, this is no problem. For everyone else, this is a massive deal. In my opinion, this issue is the largest contributing factor to project failure in the industry today.

Why should we develop our staff?

We should want the people in our companies to be freaking awesome. They develop our products and the software at the heart of our businesses. Their competence has a direct correlation with the success of our businesses. Great developers make great software.

The bigger question surely is why would you not want to develop your staff? We’ll come back to that later.

This is what happens when you don’t develop your staff:

  • You rely on people developing themselves
  • You encourage a culture of mediocrity

Self-development - what could possibly go wrong?

The idea that people will develop themselves to fulfill their potential is founded on a set of assumptions:

  • they are motivated
  • they have the necessary knowledge and self-awareness
  • they have the time and resources available

The trouble with these assumptions is that, for the vast majority of people, none of them hold true.

I mean, if you can’t be bothered to develop your staff, why do you think they will make any significant effort to develop themselves? In a sense, as an employer you’ve done the minimum; you’ve set the bar low. Why would you expect them to do more? To go higher?

Even if they are motivated, will they know what skills to develop and have the self-awareness required to improve themselves?

Culture of mediocrity

By failing to develop our staff we’re unintentionally sending them the message that their professional development, their expertise, doesn’t matter. It’s okay for them to fail to realise their full potential. It’s okay for them to be mediocre.

Is that what we really want? Is that what we really think? I don’t think so.

End result

The result of the lack of development in the industry is that we find it really hard to find solid developers. Even those that do make an effort to develop themselves are not always very well-rounded. It’s not their fault, it’s ours.

Software development is hard. Technical leadership is even harder. When it comes to technical leadership we’re asking people to display a very unusual mix of skills. We need them to be bomb-proof on technical matters, great communicators and have strong soft skills. We are asking a lot. Is it realistic to expect that folk will develop these skills on their own? I don’t think so.

Sure, some people will make the leap. Develop themselves. Some will even do a good job of it. But they will be a small minority. We’re just asking too much.

Ultimately, we’ve created a dynamic that leads to a shortage of talent in the industry. It’s killing us. It’s killing our ability to deliver successful software projects.

Arguments against developing people

So there are a couple of commonly touted arguments against developing people:

  1. We can’t afford it
  2. They’ll become more employable and leave

So let’s just break these down a bit. We can’t afford it. Really? So you can afford to have crappy technical people developing your product and essential business services. Really? Do you want to think a bit more about that and come back to me? No, I thought not.

They’ll become more employable and leave. Hmm, so your retention strategy is built around having under-developed staff who only stay because of their limited employment options. Wow. Solid strategy.

Okay, what should I do about it?

So maybe you’re thinking ‘Enough already, how do we fix this?’. To grow well-rounded capable technical folk you need to develop them in the following areas:

  1. Technical skills1
  2. Analysis, problem solving and thinking2 skills
  3. Soft skills - communication, influence, etc
  4. Business awareness

We often stop at 1. It’s a mistake. Especially where technical leadership is concerned.

We need to be able to outline in detail the gaps a good developer needs to close to advance into technical leadership roles. (Rather than the current model of throwing folk in at the deep end and hoping for the best.)

I could say more …

I could say more on this. I could also have said a lot less! I’ve got to admit I really struggled to write this post. It’s something I feel very strongly about. It’s an issue that is far reaching.

In many respects, I’ve written this post for the many software engineers out there who are currently languishing on projects designed and architected by people weren’t able to cut it. I’m writing it for the guys in enterprise architecture teams, who feel like their day job consists of trying to hold everything together with gaffer tape.

I have a dream. That one day we will have a better class of developer and technical leader. That we will have markedly improved application and enterprise architecture. That we will all have more fun developing software!

  1. This is where most companies stop. That’s if they ever start! 

  2. Yes, I am arguing we need to teach people how to think. 

Tags: Soapbox All-Wrong


comments powered by Disqus