May 15, 2013

...Learn TDD with Codemanship

How Can You Attract And Retain Great Developers?

Companies often wonder how they can attract and retain great software developers.

Well, here's the thing about great software developers. They don't approach what they do as just a job. To them, it's a passion, a calling. They do it because they love to do it.

To make sense of this, let's change the context of the question.

You have started a band. How can you attract and retain great musicians for your band?

Here's how you might not do it:

1. Constantly remind them that this is your band and that they must do as you tell them

2. Get them playing awful, tacky music (e.g., that song from Four Weddings & A Funeral, anything by Meatloaf) at weddings and school proms

3. Force them to play with crappy musicians who make tonnes of mistakes, and don't give them time and space to help those musicians improve. And then blame them if it sounds crap.

4. Consistently approach the band's musical output with a "that'll do" attitude. "Yeah, the vocal's off-key in the chorus, but we're on a deadline so let's just print the CDs already"

5. Make unrealistic demands of them. "We're going to be playing 2 shows a day for the next 6 months", "We've got 5 days to rehearse this 90-minute set"

6. When they do something amazing, ignore it. Focus on you. You're the band leader, after all.

7. Routinely remind them that they are dispensible. Great musicians grow on trees, remember?

8. Discourage a musician-led culture in your band, and restrict time to practice, learn and grow as musicians. You're there to make money. Who gives a shit about day trips to NAMM or time off to attend guitar clinics?

9. Most important of all, remember: when the band's a success, it's because you're a great band leader. When it's a failure, it's because your musicians suck.

Now, ask me again: how can you attract and retain great software developers?

Posted 4 years, 8 months ago on May 15, 2013