10 commandments for attracting and keeping great developers

Yeti Wisdom: 10 commandments for attracting and keeping great developers

I’m not a developer nor a designer, however I have been working with techies and creative geniuses for many years and have come to realise (surprise, surprise!) that they are very different from the rest of us, especially from the “business guys”. With lots of input from my dear friends and brilliant engineers Timur Strekalov & Olga Kravtchenko, we’ve created a list of things that drive developers mad, which later morphed into 10 Commandments.

If you want to hire and keep the best developers and need advice on how to get Usain Bolt performance out of your coding Olympians, the following 10 commandments should keep you on the right path:

1) TEAM-SPIRIT: If you already have a team and you want a super-star to join it, make sure your current engineers are not working just for the money. The best developers code because they love the challenge and they hate working with teams that have no real passion for technology.

2) DETAILED SPECIFICATION: If you want your idea to work exactly how you see it, don’t just say to your developers “here’s an idea, please make it happen”. You should think everything through first, otherwise your idea will change completely, once developers start applying their vision and logic to it.

3) LAST MINUTE CHANGES: Change is good, but critical changes towards the end of the project are incredibly demoralizing. Churchill once said “To improve is to change; to be perfect is to change often”. But he never said “Now that we have almost finished, let’s rewrite 70% of the code, because I think this would work better”.

4) MEETINGS: Don’t set up meetings with developers in the middle of the day. Coding is a creative undertaking and meetings break the creative flow. Don’t set up meetings without any agenda. Meetings without an agenda lead to meaningless discussions and meaningless discussions are a waste of time. Developers have a particular hatred of this sort of meetings and discussions.

5) INSTANT FEEDBACK: Don’t collect all the issues & bugs during the week in order to sort them out later. Developers need instant feedback, while it’s still fresh in their minds.

6) THE DEVIL IS IN THE DETAIL: Generic “high level” request of what a feature should look like without an actual detailed discussion is a sure way to waste time and create features no one needs.

7) SUCKING EGGS: If you are not tech savvy, don’t try to teach your developers how to code, your “best practice” advice will drive them mad.

8) DON’T USE EMAIL: Don’t try exchanging critical information (especially to-do-lists) via email – use issue trackers instead. Developers use various services to track progress and if you want to get the maximum out them, play by their rules.

9) FOCUS: When the project is not live, doing one tiny thing on a project once a month is a waste of everyone’s time and resources. Developers forget things and don’t want to waste their energy trying to remember what they did last year. Get your full list of updates and changes together and let them do it all at once.

And here is the most important commandment.

10) PASSION: If you want really good developers to create insanely great products for you, YOU have to be passionate about what you do. If you are doing it just to earn some money, forget about attracting the best talent.

Write these down somewhere, revisit them regularly and remember, great developers are interested in creating an insanely awesome product just as much as you are.