- Insights This article was written by a TIA community member. Insights pieces undergo the same rigorous editorial process that newsroom-produced articles have.
Coding bootcamps promise industry-ready engineers, but hereโs the catch

Photo credit: Unsplash.
The year 2016 was insane for the web development community. We saw a whole raft of technology making systems-level to browser-level software become stable enough for use in the real world. With that growth came an equally insane drive to hire more systems architects, database administrators, server programmers, and front-end specialists. But the statistics tell us theyโre all still in short supply.
Coding bootcamps, typically four to 16 weeks of intensive coding, promise to turn complete novices into full-fledged, industry-ready engineers. For many recruiters and their talent-starved client companies, that sounds like a dreamโa consistent pipeline of updated software developers ready to be deployed for existing projects at entry level, where, arguably, the shortage is most pronounced. With todayโs frameworks and technology, itโs certainly possible for a sufficiently intelligent novice to hack a working app together in a couple of weeks. After all, as a self-taught developer, I did the same before we had battery-included frameworks like Rails and Angular to help us along.
But is that really enough?
Peter Norvig once famously said it takes 10,000 hours to reach programming nirvana. Of course, one readily notices that 10,000 hours really is just an arbitrary number, plugged in to illustrate the point that competence is acquired with time and experience. Can competence, itself a nebulous term, be compressed into 10, 12, or even 16 short weeks? Software engineering is a complex field and itself a mere subset of the still more complicated science of computing.
Letโs examine what the modern app requires in todayโs market of super fast iteration cycles and their resulting feedback loops. Letโs start from the bottom:
- Infrastructure (servers and databases): This is the โmetalโ that all apps run on. One is required to be at least passably proficient with a Linux distribution (Ubuntu or a Red Hat derivative), SQL database administration and design, and one of HAProxy or Nginx (most of the time, both). As the product grows, one should have at least a working understanding of how to operate containers (LXC, Docker, Kubernetes, and Swarm) and their accompanying orchestration tools, a career path of its own.
- Security: A basic understanding of encryption standards and protocols, along with a grasp of
iptablesand firewalls, as well as the many networking fundamentals (subnets, networking interfaces, sockets, message queues, and centralized logging) required in the distributed age is required. - Continuous integration: Not so long ago, it wasnโt a crazy idea to run a production app without at least an out-of-the-box Jenkins installation unless you had a massive code base. In 2017, pushing code to a production branch without a solid build and automated testing pipeline would be considered insanity in the highest degree.
- Back end application (provides an interface for front-end applications to interact with the database): Itโs typically written in a general-purpose language like Java, Python, PHP, or Ruby and accompanied by a framework to help do away with the tedium of handling the request-response cycle and database queries by hand. REST is still the gold standard, but GraphQL is hot on its heels.
- Front-end client: The user-facing part of the app thatโs written in JavaScript, but possibly with one of the wildly different frameworks currently available to the modern front end engineer. De jour frameworks and libraries include Angular, React (and cousins Vue, Inferno, and Preact), Ember, and Polymer, each with its own set of quirks and gotchas.
I think itโs basically impossible for any person to absorb this much information in a couple of weeks or months. Implementation, even of an MVP of any one of these five big umbrellas, takes experience. The best way to learn is to get stuck, seek help (seeking out the advice of a more skilled engineer, research in both academic resources and the more common StackOverflow, etc.), and then solve oneโs own problem. It isnโt possible to obtain this experience by following a preset syllabus, no matter how well-designed it may be. Further, these five areas of expertise flagrantly ignore the most important of all: the first principles of computing and systems design.
Because no two problems a software engineer faces in his or her career will ever be exactly alike, he or she cannot possibly rely on a couple of canned responses, ready to be deployed on-demand. This requires the engineer to understand the big picture; in other words, how computers (or in this case the web) really work. It demands an almost intuitive understanding of the webโs protocols (HTTP, request-response cycles), algorithms, and data structures (yes, calling Array.prototype.forEach() is not always good enough, and Objects do not solve all your problems), and most importantly, the challenges of deploying computer programs at scale.
For me, software engineering is a form of craftsmanship. It is quite unlike a white-collar profession, where an intimate but ultimately theoretical knowledge of human anatomy or the laws of intellectual property might reinforce the practitionerโs divine status. The most respected in the software engineering industry have earned their stripes the hard way: by creating, failing, refining, then creating again in an endless pursuit of the holy grail.
Speaking to myself as much as I am to those just getting started in the field, I say, let us not forget what we are and what we aim to do. We are makers, builders, and dreamersโartisans in the purest sense of the word.
Everyone has to start somewhere and a boot camp is a good starting point. Consider all the alternatives, and if you decide that a boot camp is the best for you, pursue it. But if youโre looking to go from zero to 100 in 16 weeks, I would like to remind you that Drake was only exaggerating, as rappers do.
You wonโt be able to take on an existing valuable project and grok the code base in two days. Your senior developers will have to hold your hand or youโll have to fumble around until you, at some point, get the hang of it, or go back to looking for a new job. But with enough persistence and determination, you will get thereโboot camp or not.
Editing by Charmaine de Lazo
Stay updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.






