Coding as a profession has recently catapulted from the dark rooms of nerdom into the shining light of mainstream appeal, and few people are better off for it. In 20+ years of professional coding, I’ve never seen someone go from novice to full-fledged programmer in a matter of weeks, yet that seems to be what coding academies are promising, alongside instant employment, a salary big enough to afford a Tesla and the ability to change lives.
It’s an ingenious business model. There’s a dearth of skilled coders in the marketplace to fill the five million computing jobs available in this country. For somewhere between free and $36,000, you learn to program computers in less than a year. If you’re one of the lucky few, you will hit your a-ha moment with programming and develop a personal passion for it, as well as land a real job.
In 15 years, those hard-won skills will be obsolete — if they ever stuck in the first place. Despite their promises, coding academies don’t manufacture coders. They cast wide nets to discover new talent that has not yet been exposed to code. Most people don’t find coding enthralling or interesting enough to continue to pursue it as a career. Given the changing nature of software, they probably shouldn’t.
The best advice for people wanting to learn code? Try before you buy, and by that, I mean figure it out for free. Otherwise, you might find yourself sideways on the career ladder and tens of thousands of dollars poorer. For a dying profession, that’s just not worth it.
Perishable And Full Of Promises
I see coding shrinking as a widespread profession. Not because software is going away, but because the way we build software will fundamentally change. Technology for software creation without code is already edging toward mainstream use. Visual content creation tools such as Scratch, DWNLD and Telerik will continue to improve until all functionality required to build apps is available to consumers — without having to write a line of code.
Most people don’t find coding enthralling or interesting enough to continue to pursue it as a career. Given the changing nature of software, they probably shouldn’t.
Who needs to code when you can use visual building blocks or even plain English to describe intent? Advances in natural-language processing and conceptual modeling will remove the need for traditional coding from app development. Software development tools will soon understand what you mean versus what you say. Even small advances in disambiguating intent will pay huge dividends. The seeds are already planted, from the OpenCog project to NLTK natural-language processing to MIT’s proof that you can order around a computer in your human language instead of code.
Academies had better gather those revenues while they can, because ultimately they are the product of short-term thinking. Coding skills will continue to be in high demand until technology for software creation without code disrupts the entire party, crowding out programming as a viable profession.
ROI Is In The Eye Of The Beholder
Running an academy is a wonderful short-term business idea. Not only is coding a ready new career option, but it appeals to the human desire to build stuff. Coding lets you build interactive digital content, and, as such, folks are enamored by the idea of it.
The number of academies nationwide grew 175 percent between 2013-14, not including part-time programs, according to Course Report. Revenues for full-time schools totaled $59 million in 2014, but researchers call this estimate “conservative,” with more realistic estimates at $2.2 million per school. 2015 is slated to be an even bigger year. As for tuition, “the high end is more expensive than the average sticker price of attendance (including room and board) at public four-year colleges.”
Coders are essentially linguists who translate human language into a foreign programming language suitable for an unforgiving machine to process.
That’s a tall order, given that the best a coding academy can hope for is to ignite passion in a small percentage of users and then publicize successful outliers to propagate the illusion of “coding for everyone.” It turns out that learning to translate intent to a non-human foreign language is pretty daunting, even with handholding instruction. It’s certainly not for the mass market.
The Boring Truth About Learning To Code
In more than 20 years of personal experience with coding, interacting with kids trying to learn code and observing users learning GameSalad, I’ve noticed that the vast majority of folks hit a wall early in the process. Academies like Code Academy boast 24 million+ users, but have few success stories, likely for the same reason. Most people fall off the wagon because they don’t understand the mind of the computer and, as such, find translating their intent into programming language hopelessly difficult.
Put succinctly, coding is writing text files in foreign languages containing instructions suitable for an absolute idiot to follow. Unlike human readers, computers cannot infer meaning from ambiguous text. So, to code, one must become very good at deconstructing problems into their most basic steps and spelling them out for the idiot box.
Apps of any appreciable complexity are constructed with a tremendous number of text files. As an example, just our GameSalad Creator app consists of 6,972,123 lines of code spread over 41,702 files. That’s equivalent to a book with 116,202 pages.
Coders are essentially linguists who translate human language into a foreign programming language suitable for an unforgiving machine to process. And, like any translator, intimate knowledge of the source and target language is required to get an acceptable result. Any teaching of coding that avoids this fact is doomed to be superficial and ultimately ineffective. The best education comes from years of practice and learning, nothing less.
Try Before You Buy
Line by line, a programming language is nothing but a list of excruciatingly detailed instructions suitable for the computer to follow. Before signing up for a coding academy, let alone a free class, aspirants should ask themselves these questions:
- Would I like to type text files for hours a day?
- Do I enjoy decomposing problems into detailed lists of instructions?
- Am I good at abstract conceptual thinking?
- Am I comfortable being a digital construction worker?
Those who answer yes to the above questions might want to try coding. It is a skill that anyone with intelligence and determination can learn — which is why the profession has so many autodidacts. But programmers are a natural resource. Only so many people have the will and ability to do it.
Learning to translate intent to a non-human foreign language — coding — is pretty daunting, even with handholding instruction. For a little while, spending tens of thousands of dollars on a coding academy might feel like a good way to surmount the intimidation. Eventually, it might even be a ticket to a job at a big tech corporation. More likely, it is just a new pathway into debt. For all but the impassioned few, coding academies are nonsense.