Across a varied career, my last 4 years have had one thing in common: working with strong developer talent. At every place I've worked, companies have had a very difficult time keeping developers - not just as employees, but motivated in the first place. Let's be honest: sometimes writing code, especially for legacy systems can be a life-draining, futile exercise. We've found developers usually just shop for 4 major reasons. Have you seen any of these at your company?
1. An increase in pay
2. Chance to do more exciting work for a funded startup
3. Opportunity to work remotely
4. Launch their own startup
At Launchpeer, we've developed our own strategy to keep people around - and have succeeded in retaining some of our best team members, even against competing, largest agencies hungry for talent. Here's what works for us to keep our developers motivated.
Offer Continuing Education
Smart people are often motivated by their own learning and growth - and luckily, this is something that can be easy and inexpensive to provide. Our strategy is to offer a premium account at Pluralsight to our team, which offers tons of ongoing training for developers. At $50/user, our developers can get certificates when they complete a module, further adding to their resume.
The best part: it's self-paced and offers training in topics from user experience to hardcore full stack development, letting our MVPs become even more valuable - on their own time. Allowing developers to keep their skills fresh will combat the notion that they aren't learning anything new, and it'll also help you by improving your developer's skills for current and future projects.
There's always going to be a company out there who will offer your developers a huge raise for jumping ship, and it doesn't help that this has become a common cultural phenomenon: developers now change employers every year for the first few years of their careers, most often due to the pay raise, usually far in excess of the 10-15% they might get for sticking around year to year.
You may not be able to offer huge raises to fight this, but you can offer performance bonuses for a number of things.
For example, our developers get bonuses of a few hundred dollars every time we win a new contract, and we also offer bonuses when our projects come in under budget. This motivates our developers to help us find and win new business, and also incentivizes them to provide good estimates so our projects come in at or under budget.
Allow Team Members to Work Remotely
We have a lot of team members who would rather work from home on occasion - though the "work from home" can mean a lot of things. For some developers, flexibility is important.
Many of our team love to travel, so we've set up an architecture to let developers work from anywhere in the world with internet access, while tracking their time in a way that's fair and transparent. You'll find some of our technology team on the road, but still putting in their hours and keeping up with communication. With Slack, GitHub, and Harvester, it's easier than ever to have employees work from anywhere.
Give Support for Their New Ventures
Would you rather your developer quit working for you because they were poached, or because they want to nurture their own venture? A lot of technologists have the entrepreneurial bug. Don't fight it: promote it.
Encourage your team to work on side projects, whether that means you migrate it over to a company project that they lead, or give them the resources they need to build it when work is slow. At the very least let them know you're proud of the fact that they have the guts to try to build something on their own.
Even if this just keeps them around for a few months longer before they go off on their own, that's a few months of them working for you, and your support will go a long way in the community when their friends find out how supportive you were of their new venture.
Pay for Their Event Tickets
Whether you're a startup or not, try to be involved in the tech community. Community isn't always easy to find, but startup groups and events are usually friendly places full of curious people. Most cities have an entrepreneur or tech community that has regular events, mixers and get togethers - and Startup Grind is just one great example.
Try to get a deal on tickets from the leaders of those groups. For smaller events you can expect to pay anywhere from $5-10 per employee ticket, and for larger events it could get up to $75-150 per ticket. Even so, don't feel this cost is for nothing.
Showing support for your developers by paying for them to go to events (which they want to attend, mind you) does a couple things. First, it lets them know that you're interested in their professional and personal development. Second, it helps your company do free marketing; your employees are obviously going to talk to people at the event about how cool it was they got a free ticket, which will bolster your credibility in the community with potential employees as well as potential customers.