As I’ve spoken to CIOs during the last few months, they’ve told me that their developer team members fall into these specific categories:
- 1. Young developers with Web skills who are leaving for higher-paying jobs.
- 2. Developers with five years of experience in their companies who aren’t highly motivated to keep doing their existing jobs, but want to learn new skills instead.
- 3. Less-experienced workers who need much more development training.
- 4. Developers who will leave once they get the training and experience they need to get a higher-paying job.
With these problems in mind, we’ll look at some techniques you can use to train your developers so that they are better at their jobs and more willing to show company loyalty by sticking it out with your business.
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. Last week’s article, “How to organize your development to ensure success,” showed you how to organize your development team by product or tier.
Take inventory before you begin
I’m consistently amazed that development managers don’t take inventory before they start building their teams. If you don’t know what hard and soft skills you already have, then you have no idea what you need to hire or build.
Take stock of your existing employees by creating skills assessments and giving them personality tests to determine what personality types they work better with. Use the same instruments with your incoming developers. Once you’ve identified the shortfalls, move to correct them. Training, mentoring, and team building are the three essential elements of creating a great development organization.
Getting the basics: Training
Recent industry projections show that the technical-training market is on the verge of an explosion. By 2002, the total training market for developers will be greater than $2.5 billion! Why? Because the skills gap between available technology and the people who can implement it continues to grow.
Most CIOs find themselves in a catch-22 when it comes to training: If they send employees to training, then the employees will leave for higher-paying jobs. If they don’t offer training, then the employees will leave for jobs that “allow them to grow.”
How do you win?
First, make sure that your employees see training as an investment in your time and theirs. Look into long-term training programs that allow employees to develop skills and certifications over six to 18 months.
Hold training classes when you and the employee are both making a commitment. For example, hold classes from 7 A.M. to 11 A.M. and 3 P.M. to 7 P.M. or all day Friday and Saturday.
Second, be willing to make commitments for people who go through training if they’ll make commitments to you. For example, work out a bonus program or a pre-defined salary increase for the successful completion of a training course or achievement of a certification.
Finally, create an incentive for your employees to become trainers themselves. By creating your own trainers for skill sets that you need to continually develop, you can significantly decrease your overall training costs. But you should still be willing to pay your internal trainers for each person who completes the training successfully.
And don’t skimp on non-technical training. Many developers are beginning to recognize that their value can increase significantly if they know more and can communicate it. Don’t be afraid to send your developers to courses in accounting basics, corporate organization and finance, entrepreneurship, investment, public speaking, or human relations. Developers have a natural affinity for a company that will recognize the value of making them a “complete” person as opposed to focusing on them purely as “dev heads.”
What efforts do you make to encourage professional growth among your developers? Post a comment below or send us an e-mail .
Role models make learning easier
Mentoring is an essential element to building a development team. If you don’t work to build a formal structure for pairing new hires with established players, then an informal system will develop on its own.
In my experience, the informal system focuses on the ways to get around the system and not on ways to work within it. Creating a mentoring environment encourages people to seek guidance from trusted associates instead of forcing them to create an informal network. All new developers or developers who are being asked to learn significant new skills should be assigned a mentor to help them learn. But don’t just make random selections.
Who makes a good mentor? First, the mentor and apprentice should be psychologically compatible. If you have a mentor who bends the rules to get things done and he’s paired with an apprentice who respects rules and order above everything else, you’ve got a problem brewing. You have to establish mutual respect and rapport immediately.
Second, mentors should be viewed as technically superior. Most developers believe that they can’t learn from anyone who they don’t see as technically superior in a specific discipline. Make sure that you assign mentors who will be able to meet this expectation.
Finally, mentors should have a financial incentive. If you’re going to ask a person to assume their mentoring duties in addition to their regular duties, then you should allow them to share in the success of their apprentices. If you give new hires an incentive for passing certification exams, then give the mentor an incentive as well. If new hires get a pay raise when they’ve completed their training, then give your mentors a one-time bonus for each apprentice that they help to complete the training.
Build teams, not individuals
If there’s a single principle that most CIOs and development managers just don’t get, it’s that developers want to be part of a team that produces great products. Teams aren’t built by putting people in cubicles near each other or by forcing them to work on projects together because they happen to have complementary skills. You create teams by building mutual respect and confidence between team members.
Building skills and providing mentors isn’t enough to create effective teams. You have to consciously work at team building in order to have development teams that create great products.
Have you and your staff tackled a difficult project that you think others might be interested in hearing about? Now is your chance to gloat about you and your team! Share your project success story with TechRepublic's CIO readers. Here's why:
- · Publishing your accomplishments offers proof of your accomplishment when it's time for your review or when you want to change jobs.
- · Sharing the details of a difficult project you've tackled can benefit your peers.
- · It's a public way to show your peers and employees that you appreciate their work.