Training Developers

Software development is a very fast moving business and it is therefore vitally important to keep up with what is happening with technology. If you don’t you could be left behind pretty quickly. When the proverbial hits the fan you don’t want to be left behind.

If you remember back to your school days you might remember Æsop’s fable The Ant and the Grasshopper. The grasshopper did no work in the summer while the ant worked hard in preparation of the lean times. When the lean times came the ant was able to provide for himself, while the grasshopper starved. A lot of software developers are like the grasshopper, they are not planning for their future. You might think it unfair of me to tar all developers with that brush, but I don’t mean to. I did say “a lot” not “all”. So why do I think that?

Last year I spent three months trying to hire a developer. I was shocked at the number of developers that I saw had the attitude that they didn’t need to learn anything unless their employer put them on a training course. Some seemed surprised when I asked how they kept up to date with the industry they are in. Most just mumbled something about reading books and articles online. Given the answers to other questions I don’t think they spent all that much time reading.

Software development knowledge fades faster than ever these days. It seems like only yesterday that I was learning .NET 1.0, yet .NET 4.0 is just around the corner. In a couple of years I’ll be using it commercially. Technologies like LINQ to SQL which has only been released will be dead soon, if recent reports are to be believed. That’s a lot of new information to take in only for it to go stale. This week I’m immersing myself in ASP.NET MVC. I’ve been to a talk on the subject at it looks like that’s the way forward so I want to be at the head of the pack. I’ll also be taking a first look at Subversion this week also. On top of that I’ve got a stack of other things to get through.

When I left university I had the arrogance to think that I knew it all and for a few years I worked on that principle. But that attitude eventually caught up with me and I spent some time unemployed partly as a result of that attitude. I am determined not to let that happen again. These days I am acutely aware of what I don’t know. I think that now I am more aware of my limitations I am a better developer. Because I’m more aware of what I don’t know I strive to fill those gaps by ensuring my own education – I don’t let an employer dictate what I should be learning. I am pro-active and go out there and ensure I’m educated. Of course, if my employer wants to put me on a specific training course I’ll accept it.

I did a little calculation last weekend that surprised me. Actually it shocked the heck out of me. Last year my employer spend roughly £200 on training materials for me. However, I spent a lot more. Of the things that I can remember (so I suppose the things that were worth it) I spent £2500 on my own education.

So, who gets the benefit out of this? For the most part my employer gets the benefit. While I enjoy developing software, it is my employer that profits from it at the end of the day.

Most employer attitudes to training developers are that it isn’t worth it because the developer will just leave with the additional knowledge they’ve received for a higher salary else where. Well, I suppose they will if the employer has that kind of cynical attitude. Employers think that they have to find a replacement soon so why bother training a developer only for another company to take advantage of that. But the a lot of the knowledge that is walking out the door cannot be replaced easily. A lot of the knowledge walking out the door is about the employer’s business and that is unique. You can’t hire that in.

There are a number of “solutions” to this problem. Some employers go for the stick method. “If I train you up and you leave within X months then you have to pay part of the training costs back.” The disturbing thing is that I used to think that was an acceptable solution. But it really isn’t. It is a form of financial handcuffs, and the developer being trained is going to resent it. Quite possibly they’ll be off as soon as the handcuffs are removed or simply not accept the training.

The more reasonable attitude, I think, to take about training is to realise that the developer that’s just been trained has increased their market value. So, pay market value for the developer. You don’t necessarily have to do it straight away, give the training time to sink in if you want, but do increase the developers salary within a few months and don’t tie it to anything else. Don’t roll it in with inflation based increase, an annual increase, or other bonus schemes. Make it very clear that the increase is solely as a result of the greater ability or productivity as a result of the training previously received.


  1. Ahh, the sense of the wise 😉

  2. William says:

    Yip, seems to me that my employer would rather hire than train – totally insane if you ask me, and it doesn’t foster loyalty among the current workforce. In some of the larger outfits, developers really need to advertise what they spend their time working on, both in and out of the office. Otherwise the employer won’t have any idea about the valuable assets they have.

  3. David Rice says:

    Good article.I think that it is up to the individual developer to keep up to date without relying on their employer.Two contrasting experiences from people I worked with.The first one was sent on a two-week SAP course because the employer anticipated getting a SAP support contract. Six months later no contract and the guy left – he’d not been given any productive work in that time. The employer insisted that he pay back half the training cost.The second was a guy who worked for the same company and had done a training course seven months before getting a new job offer. When he mentioned that he’d have to pay back 5/12th of the cost the new employer said they would reimburse him.Who would you want to work for?

  4. Navaneeth says:

    Good post Colin. I work like the same way you explained. Weekly one book, that was my aim. But now not getting enough time to do that. But I used to make sure I read atleast one book a month. Work culture here in india is very bad. Atleast in big companies which I worked. I work in a fortune10 company and there is very less facilities for learning. They don’t believe in it and they say it is a waste of time. And the systems they developed is a big crap. Now I think working with small companies is good for learning as they are ready to provide materials and trainings. I will forward this blog post to my manager and let me see if that makes any difference.:)

  5. Pravin says:

    hello sir,i m working on GIS project for physical location tracking at our instituei have gone through ur article it is nice.i want same conceptt to impliment in my applciation but my requirment is that im using windows application and i want to use .shp file and to locate point on itwaiting for ur valuable suggestionthanks in advancePravin A.

Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s