Do You Need A Superstar Coder?

Episode 17 - 06 Jan 2016

The Advent of Code is a series of 25 coding tests. I managed to battle my way through them, but I didn't break any speed records. (Unless, of course, they're handing out awards for slowness.)

I was surprised by how many people took part in the challenge (at the time of writing 25,000+ people have started the test, and 1,400+ people have completed it.

I was also surprised - and humbled - to see how quickly some of the challenges were solved. Clearly, there are some very talented coders out there.

Which begs the question: should you hire one?

Just before Xmas, I stumbled upon rather wonderful called the Advent of Code - it's an advent calendar of 25 coding challenges.

I'm in the process of learning a new programming language - Go (also known as Golang) - so the Advent of Code was a perfect opportunity to test out my new skills.

So far - I'm on Day 22 out of 25 - none of the challenges have beaten me. But some of them took me a heck of a long time to crack.

The Advent of Code has a leaderboard. I discovered to my horror that one of the challenges had been cracked in a mere 17 minutes.

There are clearly some very talented coders out there.

Which got me thinking. How good does a coder need to be?

My coder rating

Hi this is Gary. Welcome to Development that Pays.

When I first started developing websites, I worked on my own for several years.

I then went to be work as part of a team of developers. And to be honest, it was a bit of a shock to the system.

The team was working on a API for a fairly major eCommerce website - it was a big step up from what I'd been doing.

At that time, in that team, I just wasn't good enough.

The second team was a different story:

By complete fluke, they needed something that I'd already built.

At THAT time in THAT team I was more than good enough.

As it's turned out, these two teams have defined my low and high water marks:

In every project since, as a coder I've been good enough - (or I've become good enough...)

But I've never been the best coder in a team.

Overall, then, I'll give myself a Coder Score of... distinctly average.

Enter the Superstar Coder

Let's say, for the sake of argument, that I'm removed from a team and an ace Coder is parachuted in to take my place.

What would be different?

Well... certainly the coding part of the job would get done faster. No doubt about it.

But it's important to realise that coding is just one part of what a developer does.

(You'll notice now that I've been very careful to use the word "Coder" up until this point.)

Coder vs. Developer

The wider job of "Developer" includes all kinds that go beyond just writing code. Things like: understanding business requirements; designing solutions; writing tests; and many many other things besides.

And that's just talking about the Developer as an individual operator.

There's also the team to consider. How does the person work within the team? Are they able to work well within an Agile environment (if indeed it is an Agile environment)?


Here's the thing: the ability of an individual developer to write code is certainly a lever. But it's a relatively short lever.

The ability of the individual developer to solve problems - all the way from business requirements, through development into release ... is a longer lever.

The ability of team to work together to produce software is a longer lever still.

And the ability of an development team to work together with a Product Owner - together with the full support of the Business Owner - to deliver business benefit, is perhaps the longest lever of all.

Talk to you next time.

Watch "Do You Need A Superstar Coder?" on YouTube.