Dec 9

How to Retain Talented Software Developers, Part 2

by Peter Jones / December 9, 2009

Continuing with the previous theme of retaining talented developers I'd like to talk more about knowing the passions and goals of your software developers. With goals in hand it's your job as a manager to help a developer advance down her chosen career path.

In a perfect world you'd have an unlimited training budget and abundant time to spend helping your team grow their skills and reach their goals. Over here in reality though there's still quite a bit you can do with limited budgets and time.

Why You Want to Advance Careers

The days of starting at the bottom and working your way to the top are over. Most developers advance their careers by moving to new companies.

However, if you make it a priority to help your team develop the skills they need to advanced their career you'll remove road blocks that would generally lead them to a change the company they work for.

In other words, helping software developers advance their career will lead to a happier team with lower turnover. Hopefully I've already made my point about how expensive turnover can be.

If that isn't enough motivation, however, consider that helping your team reach their goals will produce a more competent set of developers, with you as the beneficiary of these newfound skills.

Not Everyone Has the Same Career Path

I'm a planner. During normal conversations over dinner I tend to ask people what they think they'll be doing in the next five years. Most people don't know how to answer (and probably think I'm strange for asking).

When you add a bit more context, such as "Where do you see your career in five years?", you start to get much more interesting answers. These are the answers you need in order to do your job as a manager.

There are two major career paths for software developers. You might be surprised to find that most developers want to be doing the exact same thing in five years, while a few want to move into a management or executive position.

For brevity I'll ignore the smaller career paths such as moving into an unrelated field, starting a company, and freelancing. I wanted to mention these so you could keep them in the back of your mind during your one-on-one meetings.

Building Skills for Future Software Development

From the position of a manager it might seem like stagnancy to remain in software development for the entirety of your career. However, this is a huge field with ever increasing complexity and a seemly infinite number of problems to solve.

Just about every industry employs software developers, from healthcare to space exploration. And each industry offers different opportunities such as working on low-level embedded software to high-level web applications, from assembly to JavaScript.

If someone hasn't spent much time thinking about what they'd like to be doing in five years it might be hard for them to give you an answer. In that case it's your job to ask questions like "What technologies or languages do you want to work with?" and "Are there other industries you want to work in?"

After it's clear to your development team that you're sincere about helping them advance their career they'll start putting more thought into this question and be more forthcoming with their goals.

You should therefore make it a recurring question in your one-on-one meetings, monthly perhaps.

Preparing a Developer for Management

The transition from being a software developer to a manager can be a bumpy one. There are new communication skills that need to be learned and you must have a willingness to let go of your old responsibilities, namely writing code.

As a manager, you're in the perfect position to guide a software developer into management. Even if there isn't a management position available at your company there will be manager-like jobs such as team leader and project leader.

Helping someone improve their communication and expectation setting skills will also force you to improve your own skills.

A bit of a warning: there will be times when you'll be selfish and worry that you're training your replacement. Just remember, the best way to be promoted is to be replaceable. At the very least you'll have someone that can step in while you're on vacation.

Specific Ways to Advance Careers

The primary way you can help advance the careers of your employees is by helping them develop their skills. And guess what, improving their skills will improve their performance at work as well.

I'll focus on budget issues first since they can be the most difficult to get approved.

At the very least you should have a small budget for buying books. Start by planning to buy one book a month of each developer. You can choose to build a library at work or let everyone have their own copy.

Classes, seminars, workshops, and conferences should also be in your budget. These do tend to be very expensive, often requiring additional costs for travel and lodging. See if you can afford one conference a year, or at least one every two years.

Believe it or not, the budget issues are easy. The next big way to build skills are to spend your most precious resource, time.

You should foster opportunities for your senior developers to mentor other developers on the team, even one another. If you have technical skills, you should step in and mentor as well.

During one-on-one meetings you should be a source of encouragement for skill building and self-improvement. Part of your weekly check-in should include a review of skill improvement and how those skills could be put to use.

Continual Improvement

If you have a sincere desire to help your software developers improve their skills and develop their careers you're on the right road to building loyalty and reducing turnover.

Technology is changing at an incredible pace. While you don't have to be at the forefront of that change you certainly can't afford to fall behind. Continuous self-improvement is critical for software developers, and something high-performance managers have known for years.

Add skill improvement and career development to your management checklist and subscribe to the RSS feed for more articles about employee retention.


Tags: retaining talented developers management

0 Comments