Hiring Boxed Programmers


Hiring programmers instead of training them is like buying boxed software, hoping it'll work out of the box.

Buying boxed software

Boxed software is so tempting to the manager with a problem to solve. The seller's marketing prowess convinces him that, finally, the silver bullet must be real this time. It'll just work. The future is bright. As soon as we get this and deploy it, the boxed software will solve our problem.

The reality is that the boxed software only solves some of the problem, and it creates some of its own. It takes time to discover and then mitigate these. The box must be opened, and consultants and solution engineers are available at a fair hourly rate.

Boxed software is a tempting immediate solution.

Hiring programmers

There are some organizations that seem similarly tempted in hiring. There's a programmer out there that's going to know everything I need him to know. He innately contains the ingredients we need to solve our problems directly. As soon as we hire him, following a quick onboarding process, grant access, review a couple of his PRs, and he'll be installed and ready.

The temptation is similar. It's spending money to solve the problem faster, without thinking too much about it.

Custom training

Writing custom software requires understanding the problem clearly, knowing our baseline ability and then closing the gap between the two over time with a difficult-to-determine amount of work.

Training a programmer requires getting to know him, evaluating his current ability and then closing the gap with doting mentors and opportunity to experiment over time.

This custom approach takes consideration, thought and effort over time. The cost is more obvious because the ability and the gaps are more concrete. Marketing isn't there to promise us a solved future after purchase.

Effort will be required

But cost is there either way. In any non-trivial system, there's work to be done after the initial purchase. Boxes will need opened and customized. Programmers will need time and acclimation after hire.

What's inside the box of software will need to be understood. Glue code will need to be written. Overrides will need to be made. Missing features will need plugged in.

Programmers aren't just added to a system without ripples. The trope of programmers rewriting their ancestor's code is so common it's a joke. Every new human brought into the team's orbit will adjust the culture of the team, maybe fundamentally.

Good in that box

Sometimes a box of software, even knowing the cost of its integration, is worth buying. Sometimes the hired programmer, even given the cost of hiring, onboarding, acclimating and adjusting, is worth the cost of his hiring.

Just don't be blind to the cost -- blinded by the temptation of a quick fix.