I’m a college dropout.
After two years of going back to school on the GI Bill, I decided the best thing I could do for my newfound computer science career was focus on the programming job I already had rather than the free education I was receiving. I refer to this as the second stupidest, but ultimately beneficial, life altering decision I’ve ever made. The absolute stupidest was going into the military in the first place.
Almost a decade later, I know my career is much further along than if I had stayed in college. Not having a degree to lean on forces you to learn how to better sell your skills and funnels you into more of a “portfolio first” mindset. The result is a resume that stands out among most of your peers who followed the traditional path of taking a degree into a secure position at a large organization.
Now, as someone with managerial and hiring experience in the software business, I should be the perfect proponent for utilizing the accelerated coding academies that have become all the rage. I should be all for hiring the people who, like me, bypassed the traditional avenues of software development education to get into the workforce as soon as possible.
But I couldn’t be more wary of this new educational method.
They promise students immersion in the school’s stack of choice, usually through 40 hours of instruction and labs per week. With tuition costing upwards of $10,000, it’s not surprising that some schools even guarantee students employment after graduation.
Employable developers in 12 to 16 weeks sounds like a great deal, and with any program there are outliers who will fully meet this definition. But I’m not interested in the end of the bell curve. It’s the average graduate that measures the true worth of any educational program.
It’s important to take a detour and mention that I’m not the product of only a couple of years of college computer science classes. I wrote my first program at the age of six on a Texas Instruments computer my grandparents gave me. I was the dorky kid messing with bulletin board systems, before the graphical version of the internet was a thing.
I had 20 years of layman programming education before I ever decided to drop out of college—a common story among my generation of developers who forwent a degree.
At its core, programming is about understanding how computers think. All those zeros and ones are billions of yes or no answers in a mind-bogglingly massive game of twenty questions. Knowing how to solve real world problems with such a device, especially when the people paying for the solution usually don’t have a clue how it all works, requires years of practice. Very few college graduates have this experience, let alone accelerated coding school students.
To mitigate this risk, big software companies place entry-level developers in a heavily supervised environment, where the amount of sway they have on a software product is minimized until they learn these skills. These large-scale teams pay immense sums of money to universities to get access to their talent pool. Most aren’t looking for people with certificates of completion… or dropouts, for that matter.
Most of the hiring of code school graduates is in the small business and startup sectors—companies that often already have a couple of engineers but need someone to build out basic web pages while others do the heavy lifting. This isn’t necessarily a bad gig after going through one of these programs, but there’s a downside.
At small software companies, the pacing is faster, expectations are higher, and the deadlines are much tighter than at big companies. It’s an extremely difficult environment to jump into if you’ve never built a commercial software product.
Turnover at small software businesses is already high, even before developers who only started programming three months prior are thrown into the mix. I hear a lot about the successful initial hiring rates out of these academies, but little about the long-term retention of graduates or their overall satisfaction with the companies that hire them.
On the other hand, I’ve heard great things about individual developers coming from these programs, not just from the academies but also from friends that have hired them (though these were usually graduates at the top of their class—the end of the bell curve).
I also received multiple emails last year from acquaintances trying to find positions for graduates who still hadn’t been hired months after their courses ended. There are only so many companies in town looking for an apprentice developer who knows one programming language, especially when it's a language primarily used by startups and small businesses that already don't hire many people.
Developers hear a lot of stories about companies that run new recruits ragged, especially those that embed themselves in universities. These companies make large donations to influence curricula towards their stack and to have their internships count for credits, increasing their acquisition rate of top students. It's not an unlikely scenario for this practice to work its way into the accelerated coding school scene too. In fact, some of these schools are started by established web development companies, serving as a for profit recruiting arm of their parent organizations.
While this makes logistical sense for the companies starting the schools, as someone who struggled in his early career to advance without a degree, I question whether the value is equal for the students. Recruiting is very much integrated into universities, but it's not unheard of for a graduate with a computer science degree to make six figures out of the gate, and their employment options are much broader. It's highly unlikely that a company would pay anywhere near the same wage to a coding school graduate, or offer them things like relocation assistance or tuition assistance for continued education (they don't have a degree to build upon).
This is because a computer science college graduate has been taught not just how to build basic programs, but also the fundamental theories behind programming that allow him or her to adapt to the language and platform requirements of multiple positions. The average graduate of a 12-week program hasn’t had the time to mature to that level. That graduate hasn’t had time to mature as a programmer at all.
That’s my ultimate issue with these schools; though it can be argued to what degree they do it, they all sell a complicated engineering science as something unrealistically simple to learn in order to take advantage of a real shortage of skilled talent in the market.
There’s a huge difference between someone who can use a CAD program and someone who understands even the basics of architectural engineering. Therefore, it’s only fair to ask, if accelerated code academies are so great, why hasn’t the model spread like wildfire to other genres of business?