In part 1, I started by talking about the 101 steps for breaking-in a freshie. Think of somebody who has graduated from college or is making a career change. Those people have no idea what to really expect. What if this person’s first boss is somebody despicable? Don’t you feel bad now? You should, because you are the kind of person who can do a better job. Step up and hire this n00b and save him from the despair of getting broken-in (or maybe just broken-down) by a soul-less first-boss.
I am a programmer, so I would like to talk about an effective “break-in” process for a new programmer. (If you hire a non-programmer, then you should read part 1 instead, and then you are on your own).
With a new programmer, you want him (or her) to start-off on the right foot. Please resist the temptation to hand him some crap work (like formatting floppys) or some impossible feat. A good first-impression will work both-ways. Please do the right thing on day 1 (and week 1).
Here are a list of programming exercises that you should walk the n00b through before putting some real code in front of him:
- Non-critical starter projects Get a feel for how much of a foundation you have, by assigning something that seemed like homework, but now is going to be more like the real world. Try a simple program like: Phone list, bug list, status reports, etc. Get the n00b a win and let him see what it means to make a program AND deploy it to users AND receive feedback/constructive-criticism.
- Code reviews This is a big one to get right immediately. If this n00b writes medusa code that causes blindness and seizures in developers, you need to cure that first. Make sure the n00b realizes just how important this really is. He will not be maintaining some messy college room here. No clothes on the floor any more and no more paper plates. You wash your own dishes from now on, and no procrastinating.
- Maintenance programming This will put hair on his/her chest very quickly. Don’t sugar-coat it, but also don’t drop the n00b into white-water-rapids on the first run. This isn’t the matrix and he/she is not Neo. Pick some reasonably easy stuff, and work-up to something interesting/challenging.
- Documentation Many people hate doing docs. It is so un-sexy. However, the n00b will have a fresh perspective on the processes for deployment, life-cycle, permissions, etc. Have him (or her) write it down, before this all seems commonplace. However, do not take unfair advantage of this person, by handing all of the docs to him. Docs should not be more than 25% of a programmer’s job. Define the scope (like a homework assignment) and criteria for “done” on each piece of docs.
After you get an idea of the new person’s abilities and any bad habits are on-the-mend, pick a good first project. Have the n00b work with a mid-level developer who can demonstrate patience and who offers good advice. I recommend a mid-level person and not a senior developer, because the mid-level should be mentored by the senior and get advice from the senior developer, about how to mentor a n00b. It is a great growth opportunity for several people in your company.
And finally: why bother?
The reason for doing this is three-fold:
- Quality Control – You can break this person in, right. Then you have a team-member with good habits and very few bad ones to break. It is much less work, once you get used to the break-in process.
- Value – A RCG (recent college grad) needs a break and is willing to accept a little less pay to get that first job. This person will gain value much more rapidly than most companies are able to match (pay-wise). As this is happening, your employer will be getting a very good value. Of course, it is a trade-off, because you are investing your time, to get ROI from the n00b.
- Good Karma – You know it is the right thing to do. If you don’t do it right, then somebody else might do it wrong. Reach in and find your higher-sense-of-good and make a positive difference in a new programmer’s life. Otherwise, some talented kid might decide (mistakenly) that programming is not for him (or her).
With a little planning, some mentoring and guidance, you can produce a reasonable facsimile of yourself, at work. This is a great way to increase the excellence and value that you bring to your employer.