What do you mean “junior”?
Before we even get started, let’s agree on some definitions:
Senior Developers: Recruiters often mean one thing whilst employers think another here. To me, senior means 5+ years of relevant professional experience, perhaps backed by academic experience.
With many developers now in their second or third decade of experience and beyond (I’ve somehow passed this milestone myself already), there’s another question here, where do you go after senior? – a topic for a later post perhaps.
Junior Developers: Most would say that less than two years of professional experience puts you in this camp. This camp is still a large part of the workforce though and, of course, the future of the workforce.
Clearly middleweight developers make up the expanse inbetween. Now, back to the matter in hand…
But who killed the junior developer?
I read an excellent post a while back asking Who Killed The Junior Developer?
Whilst the author’s focus is on the U.S. and perhaps Silicon Valley in particular, a lot of her points were familiar here in London. Our own hiring experiences – senior developers being rare and easily tempted away, whilst juniors are far more available – is echoed by many I know also hiring in London.
Economics 101 tells us this over-supply at the junior end is the exact corollary of the lack of demand by employers.
Eating your cake 🍰
With typical start-up paradox, though, most early companies aim for a “young dynamic team spirit” … but would never say “we’re paying staff with little experience to work on systems critical to this business”.
Perhaps they want the enthusiasm and agility of juniors but with the wisdom and experience or training of the seniors.
So which is it?
Training: it takes time
So you’ve committed to hiring developers at junior level. 👍
There will clearly need to be a lot of on-the-job training of some sort – everybody agrees on this, but nobody said it was easy. In my experience over the years, the results can be… varied:
Schools, tutors and universities have been training children and adults for hundreds of years, and successful on many fronts.
In software teams, we often shy away from formal training but there are many courses available online (Machine Learning and AI ones are particularly à la mode).
Training is not learning, nor is it a substitute for pair programming – no amount of driving theory books will make you pass your test.
Whilst conferences nowadays often run very successful mixed-mode workshops which can be invaluable, these are expensive and hit-and-miss.
If you’ve ever worked in Enterprise / Finance / other heavily regulated industries, Q2 Mandatory Compliance Training will be a phrase that quickly evokes fear, ridicule and anger. I doubt anybody comes out of this bureaucracy-driven training on top.
I’ve actually seen entire departments colluding in cheating on mandatory training with minimal wrist-slapping from management – they too see the futility of the exercise.
Successful training? 📜
Closer to home – at Rezonence – we have a policy of hiring not just junior developers, but even paid apprentices and interns too. We’ve also cross-trained non-techies into highly functioning part-time web developers.
This policy has raised eyebrows at times, but so far has been extremely successful for the company and the employees (as they have all now become). Obviously, you still have to select and recruit wisely, but the potential for lasting relationships is fundamental to a productive team and job satisfaction. Here are a few things we’ve found along the way:
Remove the friction
Unless you outsource the training, it’s vital you remove all friction to creating good training materials. For example, in our case:
- We write ours as Markdown and commit to Git.
- The work forms part of the Sprint, and people can pair on this.
- It goes through a CI process of its own and is published to the web.
I strongly feel applying dev-like tech and automation in this process has helped kickstart our culture of learning. We’ve still got a long way to go. Next stop – convincing the sales team this is the future 👀
There is an HR side to all this. Often, as someone just starting (or re-starting) your career, you will often look to those further along for advice but also just as a model of where to go next. Encouraging this dynamic is helpful for the devs, but also leads to invested staff.
“In learning you will teach, and in teaching you will learn”
A wise man once said this (OK, it was Phil Collins, but even wiser ones did too) and it’s true here. Just ask any teacher about those smart students with difficult questions exposing their own knowledge gaps.
One of the common points in our retrospectives is that when we do put the time into structured learning and teaching stories, the team genuinely appreciates these – even, eventually, the person preparing the session, whose valuable time it takes a lot of.
Eh? What’s a Stack Overflow, a heavily gamified programming Q&A site, got to do with training? All developers use the site now, but how many devs you know contribute?
Well I’ve found that an ability to answer its deeply technical questions effectively often correlates to being able to teach well: an interest in the person understanding and accepting the answer is vital for both.
So encourage your technical experts to contribute to this knowledge internal and external (or if that’s you – go for it). Again, in teaching you will learn.
Anyway, everybody is junior now
Controversial: yes. Hear me out though…
The pace of change in Tech (especially in some areas) is now so fast that things are outdated fast. Softer skills, such as the eagerness to learn, the ability to spot patterns, and to pull experience from other languages, frameworks and systems is key to keeping up. That Flash site written a decade ago, or the O-O Perl CGI script, or the prototype.js AJAX wrapper? Probably not so relevant.
I’m not by any means advocating the constant-rewriting approach to development often found in modern jobs (quite the opposite – personally I often work on a 13+ year old Python codebase), but the massive shift to cloud, ubiquity of browsers, rise of DevOps, and the collaboration boom caused by Github et al. has changed the landscape fundamentally.
As I’m often saying to the team, the Exec or investors, the only constant is change… and especially in Ad Tech right now.
Yes, it takes commitment at a high level to training and mentoring, but the junior developer is alive and strong in London. In fact, I argue that keeping the junior dev mentality alive is key to progress for everyone, junior or senior.
And of course…
Maybe you do fancy working at Rezonence, or just want to chat about what we do in our Tech team. Drop us a line!