One of the aspects of my role at Atomic Object involves hiring new employees. Throughout this process, I’ve come in contact with a lot of graduates from coding bootcamps across the United States. To date, none of these graduates have been a good fit for Atomic. This fact has led me to start formulating a theory: Coding bootcamps might have a fundamental problem.
The bootcamp graduates whom I’ve talked to are generally highly-motivated individuals in transition from one career to another. They’ve often taken a path that didn’t work out for one reason or another. They’re open to trying something new in the hopes that it will be fulfilling and well-compensated. They’ve all been savvily focused on providing value to a new employer, despite their lack of formal computer science background. The pitch has been that hard work, hustle, and intelligence will make up for what they lack technically.
Unfortunately, I think these bootcamps are selling an impossible bill of goods to some very hard-working individuals. They claim they can turn you into a crack web or mobile developer in a short period of time in exchange for about $1,000 a week. I don’t believe you can learn all the foundational computer science concepts you’d need to become a software engineer in 12-15 weeks.
They teach a narrow band of development tools and practices that could theoretically be used to build a product—if everything breaks right. The problem is, everything never breaks right. Problems present themselves at different, unexpected points in the technology stack used in a complex software project. A developer needs experience to solve those complex, emergent problems. Unfortunately, 12-15 weeks of immersion just isn’t enough time to build the instincts and foundational computer science knowledge one needs to overcome these real-world problems.
Computer science is, at its base, an engineering discipline on par with mechanical or civil engineering. The complex problem space these engineering disciplines inhabit has many moving parts, and it requires an understanding of an array of sciences. Mastering an engineering discipline takes a comprehensive education and on-the-job experience. Would a bootcamp dare to say it could teach anyone to civil engineer a load-bearing bridge in 12 weeks? Would any of us want to drive across that bridge?
A lot of times in conversations with candidates and prospective clients, I compare what we do at Atomic to what automakers do. Software is like a car in that it has many systems working together to perform a specific function that empowers humans to do something they couldn’t otherwise do. But here’s the thing—organizations building custom software aren’t like an assembly line cranking out car after car. People working on that assembly line are plugging black boxes into black boxes without a deep understanding of how the individual parts work or how they whole system works together.
At Atomic, we aren’t mass-producing cars. We are building the first car, over and over. As a developer building custom software, it’s not enough to be a mechanic who understands how to repair a pre-existing system or an assembly line worker who knows how to drop the engine block onto its mounts. Siloed or limited knowledge will fail you sooner rather than later. You need to be an engineer who understands the entire system and its components.
I think these bootcamp graduates will find success in different places within corporate America. A recent New York Times article illustrated the way that coding bootcamps nationwide are adjusting to current market realities by working closely with nearby tech companies to specifically feed them new developers specialized in their principal technologies. The closer these bootcamps align their curriculum with exactly what enterprise IT departments require, the more success their graduates will find.
However, these graduates will have to learn to mesh their highly motivated style with the culture they find within IT in corporate America. That’s the fundamental problem I see. Many of these individuals want to be in a position where they don’t have to deal with a slow-moving, top-heavy decision-making process. They want fulfilling work that will make a difference in everyday people’s lives. They’ve been told by a bootcamp that they can get there in 12-15 weeks. It’s my opinion that they can’t. I openly wonder if these bootcamps are preparing grads for this type of reality or something altogether different.
I would encourage all bootcamp grads to seek out a deeper computer science education while taking on a technical job somewhere they can begin to amass some job experience. Right here on Spin, we have a couple of interesting entries on gaining a computer science background without going back to college (Finding Your Path to a Second Career in Software Development and Obtaining a Thorough CS Background Online).
At Atomic, there are individuals working as software engineers who didn’t get a computer science degree. None of them went through a coding bootcamp. Although they are few, they have provided value to our teams and projects over the years. They’ve all taken the time and paid the price to get the background they needed in computer science without a bootcamp. They are all autodidacts who are passionate about technology and curious about how things work.
I would encourage bootcamp graduates to follow this excellent example as they seek a more fulfilling line of work.