We recently recruited 2 new developers at CookiesHQ. It was the first time that we had to look for 2 new techies at the same time, people we had never worked with before.
So we decided to put in place a proper recruiting process, and this made me think about skills I wanted to find in these developers (and I think we’re lucky, it looks like both Rob and Julio have these skills).

Master the unknown

Here is a secret: even a skilled developer with a lot of experience, regularly just doesn’t know!

When you don’t know how to do something, you have to accept it and work with baby steps. Worried about baby steps being crappy code? Don’t think about that for now, you will have a chance to refactor later. Just make a little bit of something that works. Then move to the next part, make it work. Refactor a bit. Rinse and repeat.

And don’t be afraid to say “I don’t know”, as the person sitting next to you might do and will explain it to you.

Master your time

When someone (aka manager/boss/client) asks you how long something will take to do, they are looking for a roughly accurate estimate and this estimate should be in working time, and not in working + watching TV + browsing Twitter time. It should also be roughly kept if you want to earn respect.

Constant distractions can make our job hard.
In order to master your time you will need to learn how to shield from those distractions, and just work.

Like a marathon runner, you need to be in the zone.
It’s a common trait to think that you’re good at multitasking, or that you work better under pressure. But really most of us are crap at it.

Mastering your time and giving time estimates that you will hit most of the time will inspire confidence and will bring respect from your peers.

Master your tools

We work in a fast pace industry. Especially web developers. And our world regularly sees the emergence a new ‘best framework ever’ or the new ‘best editor’ or the ‘best gem at doing X’. Don’t get distracted!

Master your tools of choice. Usually your clients don’t pay you to experiment on them with technology. They want a robust application with minimal support when delivered.

So learn to master what you have on hand. Read other people’s code bases and analyse how they tackled the same problems you’re having.

Mastering your tools will make it easier to spot the diamond in the jungle of new frameworks and what kind of change you might be looking for (if there is one).

Mastering your tools will help you master the unknown.
Mastering your tools will help you master your time.

And never forget…
Great artists ship.
Great developers push & deploy.

Photo credit: east mountain