Train Employers, not Engineers

February 23, 2025 -

I wrote this in 2020, shortly after leaving my role directing engineer training products at Andela. Man, how things have changed.
The simplification of software engineering I had hoped for has happened— in the form of LLM tools that can generate better code than I could have written as a junior engineer.
Now it doesn't seem like we need bootcamps at all— but also, it's unclear if we need junior engineers. In fact, maybe we won't need senior engineers soon enough.
It's still super early days in this change, but it reminds me a lot of the Web 2.0 shift in 2010. It really does feel like the first time I tried Ruby on Rails. LLMs bring so much joy to my work, it's hard to complain, even if they do take my job one day.

I’ve worked in software engineer training for the last 8 years and I have to say, I’ve started to become pretty cynical.
When I started coding in 2010, the tech industry was on fire. I learned Ruby on Rails in 6 months and landed my first internship at one the world’s top software consultancies. Two years later I had a full time offer from Twitter.
Back then I was inspired by the same idea that prompted the explosion of coding bootcamps: anyone can become a software engineer. We all felt that we had all collectively discovered some innovative new way to train engineers. We thought that the bootcamp structure— 6 months of realistic, team based projects, plus some theory and interview prep, was the innovation that was unlocking the success of these new engineers. Moreover, we figured that this was just the beginning, that we’d see training continue to improve over time.
However, in the last few years a very different reality has emerged. Though demand for software engineers has continued to grow, placement of bootcamp graduates has gotten increasingly difficult. Bootcamps have tried a variety of educational innovations, from fancy software to advanced pedagogy, but nothing has had a measurable result. Today, bootcamps train the same quality engineers in the same amount of time as they did 8 years ago. The only difference is that they’re a bit cheaper. 1.5 years ago when I was shopping around my learning tech company I was repeatedly told by bootcamps we talked to that they were, in fact, disinvesting in training innovation.
So now what? Recently, I’ve started to think that maybe we had it wrong all along. Maybe it wasn’t educational innovation that led to the rise of bootcamps. Maybe it wasn’t that we got better at training, maybe it was just that the jobs got easier.
Nobody would claim it was a coincidence that the bootcamp revolution followed the rise of lightweight web frameworks like Ruby on Rails. These new technologies, alongside package managers and the rich ecosystems of open source code they enabled, made it much easier to launch complex websites. I would never have been able to work for Pivotal labs with 6 months of experience if they were using an older platform like JSP.
I propose that THIS is the main innovation that enabled people to become engineers in 6 months, instead of the 4 years it used to take. I propose that we never had an education revolution, we had a work revolution.
Similarly, I propose that the challenge we have today employing junior engineers isn’t due to a failure of training, it’s due to a failure to innovate within the field of engineering. The tech team at my last company worked almost identically to the team I joined at Pivotal 8 years ago. In the last 8 years there hasn’t been so much innovation as there has been proliferation— a slow, upmarket spread of processes and technology that were once revolutionary.
I propose that if we want to continue growing the number of professionally employed software engineers we should be investing in new ways of working, not new ways of learning. We need another revolution like Agile, or Ruby On Rails. We need to make it easier to be a software engineer.
The good news is that this revolution has already started. Companies like Darklang are making it easier to build backends. Firebase is making it so most apps don’t need a backend at all. You can read my own view on the future of product development here, but suffice to say, this movement is still in its infancy. To me, solving the junior engineer placement problem means helping EMPLOYERS adopt these new tools and processes which make software engineering easier. It means standardizing and aligning on best practices across the industry, instead of trying to create “senior” engineers that can jump into any stack.
Will we still need engineer training? Yes! However, I don’t think this is the hard part. We’ve invested so much time, money and thought from brilliant people into training over the last 8 years, with very little progress to show. I think it’s time we try a new approach.