Developer

Better ways to retain your developers

With the demand for IT talent higher than ever, you have to ensure your business is doing everything it can to keep your developers on staff. Here are some things you should consider.

There’s nothing more attractive to high-tech businesses than good IT talent. Whether you’ve managed to recruit or have had to create your own good developers (sometimes affectionately referred to as “Trons”), you can be assured that everyone will be after them.

The best way to protect your company against competitors or “Tron poachers” is to be proactive about retention. For development staffs, this means answering three fundamental questions for your current developers.
In our first article, "The IT job shortage: The developer and the enterprise," we explained a developer's role and gave you projections on the developer shortage. Our second article, "How to organize your development team to ensure success," showed you how to organize your development team by product or tier. Our third installment in this series, "How to build and retain great developers," explored ways to foster loyalty among your own developers. Our fourth article, “Beyond the want ads: Creative ways to hire developers,” gave suggestions for bringing developers to your business.
How much will you pay me?
The days of hiring software developers with a competitive annual salary and 5 percent annual pay increases are long gone. In order to retain good developers, you have to be prepared to provide short-, medium-, and long-term compensation components.

I consider salaries to be short-term performance incentives. The money employees receive every two weeks has to meet two fundamental objectives:
  • It has to be an amount that the employee thinks is within approximately 10 percent of what they’re worth on the open market.
  • It has to pay all of the employee’s monthly bills.

Salaries should also be based on the employee’s experience, education, and value to the company instead of annual reviews. Developers know that if you won’t pay them, they can easily find someone else who will.

Once you’ve met salary expectations, you should implement a quarterly bonus program. Quarterly bonuses are a great way to motivate employees toward specific goals and to build culture. If you want to do a good job of planning, then you should arrange it so product development deadlines coincide with quarterly bonuses.

You should also try awarding bonuses to teams, not just individuals. Developer teammates can apply deadline pressure much more effectively than can development managers. Your quarterly bonuses can be set up to return some percentage of their annual salary or they can be based on a metric that’s open-ended. Either way, the rules for earning the bonus should be clear and consistently enforced.

Employees in the technical sector have also come to expect stock options or other long-term incentives to be part of their compensation package. During the last few years, developers have been leaving established companies in droves to pursue their millionaire dreams with dot coms. If you have an option plan, then get your employees involved as quickly as possible. If you don’t, consider creating a stock club for your employees.

Open up an E*Trade account and allow your employees to decide which stocks to invest in each month. Employees would earn shares in the account based on their length of service, compensation level, or other criteria. Their shares in the account would vest over five years just like other options.

If you don’t have access to stock options, you’re going to have to find creative ways to provide long-term compensation, such as offering employees a three-week sabbatical for every five years of service.

I generally pay employees a salary that’s 10 percent less than market, but I don’t cap the amount of bonuses that they can earn. Good developers will appreciate the ability to have some control over how much they earn. If you supply a great professional development program and work environment, salary may not prove to be that big an issue.

What will I learn?
A common misconception among development managers and CIOs is that their developers are primarily concerned with helping the company create great products. But if you really press developers for what they want—beyond being paid enough money to buy toys—they’ll tell you that they want to learn new things.

The trick for managers is to channel the desire for knowledge into software product development. In order to accomplish this, you have to start with the development of an organizational training plan. In other words, what skills does the company need in order to develop its systems? Then you can create specific plans for the skills you want each employee to develop.

Having personal training plans for each developer will let them know that you’re as interested in their professional development as they are. Your training plans should include a mix of different training resources. You should also use training exercises as a chance to grow not only technical, but also presentation and interpersonal skills. For example, you should consider:
  • Internal training classes: Let your developers train each other. Having them create their own classes and seminars gives your staff an opportunity to develop their writing and presentation skills and also helps to build camaraderie.
  • Seminars, conferences, and trade shows: Learn while building teams. Local seminars hosted by vendors as well as national development conferences like Microsoft TechEd and the Professional Developers Conference are great opportunities to learn. To get the most out of these events, always take groups of two or three people and require them to report back to the entire development group. If they don’t present their “findings,” then they don’t get to go to the next seminar or conference. (You should also only allow developers who are on schedule with their current projects to attend these events.)
  • Self-study materials: Learn anytime. You should negotiate a contract with any of several vendors who have Internet self-study materials available. You can also provide CD-ROM training.
  • Instructor-led training classes: Learn from other experts. For new technologies or for situations where you don’t have any internal expertise, you should consider using instructor-led training classes. I generally recommend sending two or three of your people to a class and then having them train their comrades.

Where will I work?
After you’ve dealt with your developers’ compensation and professional development issues, the last major issue that you’ll need to address is their work environment. Your developers may have a desire to work from home, but the best synergies are obtained from collocation of computing and personnel resources.

Consider meeting developers halfway. Provide the ability to work from home for some number of hours a week as long as deadlines are being met. Make sure your computing infrastructure supports high quality remote access. You may even consider subsidizing high-speed access to your developers’ homes (cable, ADSL, wireless).

If they can’t work from home, make the work environment more productive than being at home. You should provide free, high-caffeine drinks as well as candy, pizza, or sub sandwiches during internal training sessions or for anybody still working after 7 P.M. on a weeknight.

My development teams have worked countless hours for these low-cost perks. You can also encourage team building and free thinking by providing “steam blowing” outlets for your developers. Consider adding a gaming/sports area with a pool or foosball table, video games, or a Nerf basketball hoop/court.

Finally, you should relax your dress code to allow casual clothing. When developers have to work someplace where they feel stifled by their clothing, it’s likely that their creativity will suffer.

If you’re moving to a new facility, you should consider a few things when choosing a location. First, it should be easy to drive to. Avoid long freeway drives, including commutes to a downtown area. Your business should be near enough to where your developers live (or could live) so they can drop in over the weekend or get in to work in five to 10 minutes.

Second, you should find a location that has gym or workout facilities nearby. You may even consider subsidizing health club memberships. Healthy developers are happy developers. Finally, try to locate in an area with fast food restaurants that are open until at least 11 P.M. during the week (if not 24 hours). At the very least, you should be near a gas station or food mart where sugar- and caffeine-laden products (e.g., donuts and Mountain Dew) are readily accessible (if you’re not providing them for free already).

You might wonder if this is really necessary. In fact, I’ve heard CIOs say, “I’m not running a college dorm. This is a place of business!” It won’t be a place of business very long, however, if you can’t hire, maintain, and retain a top-notch development team. When developers have an unprecedented number of job opportunities available to them, you’d better believe that a fun, casual environment will be a deciding factor in whether they stay or go.
Do you provide your IT workers with performance bonuses? Do you offer them stock options? Tell us what you do to keep your IT staff your staff by posting a comment below or sending us an e-mail .
0 comments

Editor's Picks