The Lay of the Land
Lately, the job market hasn’t been great for developers out of work, and I feel fortunate not to be among them. However, I have seen as many job specs on LinkedIn over the years as everyone else, and there’s something I always notice: the work perks.
We’ve had table tennis tables being listed as an employment perk. Then we did the phase where the absence of nauseating trendy office stuff like ping-pong was listed as a perk in itself. But, if you care about your career development, your eye will be drawn to the staff training policy.
Software development isn’t like other jobs. There are undoubtedly professions that are similarly technically complex: accountancy, law, medicine and architecture, for example. If you try to do accountancy, law, medicine or architecture without the proper qualifications and licences, you go to jail. If you try to do software development without any qualifications, however, you do not.
One might have thought this means that our on-the-job training game is tight. It isn’t tight. It leaves what we might think of as ’exciting opportunities for improvement'.
The Lunch and Learn Training Perk
Part of this is our fault: we job hop. Software engineers in ostensibly permanent jobs rarely stay in one place for more than a couple of years. This has a number of effects on the job market ecosystem, including feeding a burgeoning tech recruitment industry. If there is a non-stop game of Musical Chairs, there is money to be made rearranging the chairs.
The impact that high employee turnover has on staff training is deleterious. From an employer’s perspective, training an employee might not seem like such an investment if they’re just going to leave. Take a look at a typical job spec from a small tech startup for a developer role and, reading between the lines, you might see something like the following:
Perks:
Same holiday allowance as everybody else
Legal minimum parental leave
Career development: Lunch and Learn training sessions!
‘Lunch and Learn’ means you and your colleagues have permission to train each other in how to do your job. But more that that, it means you only have permission to do this on your own time, in your lunch break, while - or instead of - eating.
They don’t do this with doctors and architects. The accountant filing your tax return isn’t being told if they want to learn how to file a tax return, they have to find out in their lunch break after they’ve filed your tax return.
Train Hard, Fight Easy
Training an employee might not seem like much of an investment, because they might just leave. But that isn’t what should worry you. The real nightmare scenario is: what if you don’t train your staff, and they stay?
Being a software developer isn’t like working in sales or marketing. If the person doing your job five years ago simply didn’t have access to insight into how to write maintainable code, they can make your work take three times as long this morning.
Whatever the job market is doing at time of writing, we are coming off the back of a quarter-of-a-century-long labour shortage. Our ability to produce new software engineers has not kept pace with the public’s growing appetite for technology. As a result, recruitment standards have not been prohibitively high throughout, and many brave soldiers have joined the fray without much of a technical background. Even those with a degree in Computer Science will tell you - although it undoubtedly a worthy academic subject in its own right - it is not supposed to be a vocational course in commercial software engineering. No graduate arriving on the scene knows the difference between maintainable code and code with a high cost of ownership. This is a field where yesterday’s rush job is today’s slowdown, and ongoing operating costs are a product of every minute technical decision over the last five years. It is our job to teach them.
You shouldn’t just be allowing us to train our juniors during their lunch breaks; you should be making us do it. On your time, not theirs.