solve your training problem with software

I’m a software designer and manager of people by trade, and a trainer by necessity.

I want to solve a problem we managers have.

The Problem

I hire new developers to work on our software products. My approach is “hire for talent, not skills.” E.g., I hire based on raw talent and engineering, without caring much about their “previous skills” in particular computer languages, operating systems or particular technologies. So I hire future engineering geniuses, and working for us, they gain specific skills in languages and technologies while working on our team and eventually become brilliant, productive, creative developers working on our products.

So how do we get them productive? We train them. We show them how to debug JavaScript, and how to code SQL, and how to use SVN to commit changes to our code, and our tools and methods for functional and unit testing – which are always going to be different than other companies codes, methods, processes, etc.

After years of this, I’ve got a basic metric. It takes 12-18 months to get a new developer fully productive. During that time we’re paying them a salary and benefits, and it’s taking more effort from other staff and me to get up to speed – by far – than they’re returning to us in ideas and quality code. We’re fixing the bugs they accidentally introduce. We’re showing them how to use tools. Etc.

Sure, we use Agile process and team-building is continuous and we build knowledge base wikis and keeping our knowledge stored and accessible in other ways. Yes, we actively write down  every part of everyone’s job that we can isolate and identify. But it changes all the time. We change tools. We change methods. We adopt new processes. So we’re always rewriting. It never ends.

It’s the expense and effort and time and lost productivity I’m getting at here.

Aside: Some managers hire for skills; they get people who might need some less training in some areas. But can we agree that every manager, no matter what industry they are in, or what types of staff they need, has to train new people in what’s proprietary about their company, what tools they use, their processes. No staff is instantly productive.

The questions

  • What is your time to productivity for staff? Do you have a “productivity problem” for new staff or even for job changes?
  • What processes do you use to solve this? What do they cost (time or money or both)?
  • What tools do you use to solve this? What do they cost? (time, setup, maintenance, money)?

The framework

I’ll lay some suggestions as to a framework for answers, that is, if you’re going to contribute ideas:

  1. Always say what industry you’re in, the positions for which you’re training, your hiring philosophy.
  2. Characterize the people you’re training (mindset, skill set, personality). If it’s varied, specify a couple examples.
  3. State your metrics: time to productivity, hours spent per person for training. etc.
  4. Say what tools and processes you use that make it easier. Use names – and point to websites if you like.
  5. Be honest about your biggest challenges – don’t worry about impressing anyone. These could be challenges with the people, with the budget, with the tools, or anything else I can’t think of. For this exercise we need to see your pains, and I will always share mine.
  6. Lastly, and I hate to have to say it, but: please be polite, and considerate of everyone’s time. No spamming, no selling productivity products, no insults or smarter-than-thou stuff. Don’t criticize other people, don’t brag on yourself. and don’t make us wade through ads. Be of help.