DEV Community

Cover image for How Dev Bootcamps Are Failing Their Students
Tyler Hawkins
Tyler Hawkins

Posted on • Originally published at Medium

How Dev Bootcamps Are Failing Their Students

Unpopular opinion: Web development bootcamps are failing their students.

How? By not spending enough time on the fundamentals.

With that provocative opening, and before you start wielding your pitchforks, let's dig in.

The Allure of Dev Bootcamps

Web development bootcamps are generally marketed toward individuals looking for a career change. These individuals may have a four-year college degree in an unrelated subject or no college education at all but have taken an interest in programming.

Software engineering is an alluring field that offers a high salary, flexible working arrangements, and many other perks common to the tech industry.

Dev bootcamps often boast in their ability to quickly ramp up individuals in a matter of three months, six months, or nine months, either on a part-time or full-time basis. In that time, graduates should have learned everything they need to know in order to land their dream software engineering job, at least as a junior engineer.

But what do these bootcamps actually teach their students?

What Dev Bootcamps Teach

Teacher and Student in Classroom

Photo by NESA by Makers on Unsplash

There are three prominent dev bootcamps located near me: DevMountain, Lambda School, and V School. Each of these bootcamps offer unique courses and programs, but all three of them offer a web development course curriculum. Let's take a look at what they cover.

DevMountain's 13-week curriculum includes HTML, CSS, JavaScript, React, Node, and SQL. Technologies like Express or MongoDB aren't mentioned in their course outline, but I wouldn't be surprised if those topics were briefly covered, as this curriculum feels very much like it's teaching developers the MERN stack.

Lambda School's 9-month curriculum covers HTML, CSS, JavaScript, React, Node, Python, data structures and algorithms, and testing principles. Express and MongoDB are missing here while a few extra topics are included as a bonus, but this again looks like the MERN stack to me.

V School's 6–12 month curriculum teaches HTML, CSS, JavaScript, React, Node, Express, MongoDB, and Mongoose. This one is definitely the MERN stack.

So What's the Problem Here?

Surprised Child

Photo by Ben White on Unsplash

While these three bootcamps offer programs that differ in length and vary slightly in course material, they're all teaching the MERN stack. To be clear, this is great! The MERN stack, with React in particular, is a very in-demand set of technologies that are useful to know when searching for a web development job.

The main problem I see in their curriculums is not the topics covered but rather the amount of time allocated to each topic. Dev bootcamps are so eager to teach their students the relevant frameworks and libraries being used in the industry right now that they fail to adequately teach the fundamentals of web development: HTML, CSS, and JavaScript.

Looking at the course outlines, DevMountain spends 2 weeks (out of 13), Lambda School spends 4 weeks (out of 40 weeks), and V school spends 2 modules (out of 6 modules, however long that is...), on the fundamentals of HTML, CSS, and JavaScript.

This means that while dev bootcamp graduates claim to be "full stack developers", they often struggle to answer basic JavaScript questions like:

  1. What is the difference between var, let, and const?
  2. What is the difference between == and ===?
  3. What is the this keyword and how/when does this change?
  4. What do bind, call, and apply do?

A Quick Note

To be clear, and to avoid any hurt feelings, I'm not saying that all dev bootcamp grads don't know these things. Many of them do! I've met several dev bootcamp grads that have been excellent developers who have impressed me time and time again.

On the other hand, speaking from experience, I've encountered far too many dev bootcamp grads who I've either interviewed or worked with that have struggled to grasp or explain these kinds of basic concepts.

A Potential Solution

Leaves Changing Color

Photo by Chris Lawton on Unsplash

The web development ecosystem, particularly the JavaScript ecosystem, is constantly changing. I'm sure in the next five years there will be another hot new framework that will gain mainstream popularity. Will React remain the king? Or will it be Vue? Svelte? Will we be using Node or Deno?

The point is that the popular frameworks or libraries may change, but the underlying HTML, CSS, and JavaScript concepts will remain largely the same.

This is true of most things in life. Implementations and tactics may change to adapt to current circumstances, but principles endure.

If dev bootcamps will spend more time focusing on the fundamentals, I believe their graduates will come out more successful and better prepared to learn and adapt to whatever technologies their new employer may be using.

Thoughts? Are you a dev bootcamp grad? Does this accurately reflect your experience? Did I get something wrong here? I'd love to hear your comments.

Top comments (35)

gregorywitek profile image
Gregory Witek

In that time, graduates should have learned everything they need to know in order to land their dream software engineering job, at least as a junior engineer.

I think this sentence perfectly sums up the problem, and I'm afraid at the same time it explains why there's little incentive to solve it.

Bootcamps do not optimize for a long, successful career. They optimize for starting your career. They help you to get your foot in, and once you're there, you have to figure out the rest. Bootcamp's goal, from the commercial perspective, is to help its clients to land the first job in the domain the bootcamp teaches.

How do you land a job? In 3 steps:

  1. you get an interview
  2. you pass the interview
  3. you pass your probation period (and on the way learn enough not to get fired later)

Bootcamps address, at least partially, all these 3 steps:

  • you do a few projects to put in your portfolio (1st step)
  • you learn a few technologies to add to your resume (1st step)
  • you learn how to build end-to-end apps (2nd and 3rd step)
  • you learn a bit in-depth about selected techologies (2nd and 3rd step)

The part where fundamentals are useful in the interview process is a more theoretical interview - that's where a lot of bootcamp graduates fail the interviews. The problem is that in order to introduce more basics in the curriculum, you have to either cut the practical part (so you still risk failing the interview) or extend the course (and increase the price).

I think if companies started checking more theoretical knowledge during interviews, that would force bootcamps to adjust. It's a challenging trade-off though, because what really are "the basics"? Is understanding the lexical scope in JS basic, or is it something advanced that you can learn later? What about writing a simple graph search algorithm? What about understanding difference between a list and an array etc? Again - challenging problem.
Funnily, I used to write professionally in JS for quite a while, and if you asked me to explain what bind does, I might have failed the interview 😅

rizz0s profile image
Summer Rizzo • Edited

Commenting as a recent bootcamp graduate (Flatiron in NYC), so take everything with a grain of salt!

Bootcamps do not optimize for a long, successful career. They optimize for starting your career. They help you to get your foot in, and once you're there, you have to figure out the rest.

I think this excerpt hits the nail on the head. Some bootcamps will do this better than others, of course. In my experience, there's a lot of supplemental work you have to do - but in return, the program was <20 weeks, which is much less time than a four year degree or even an associate's. Landing your dream job and working towards the outcome of a successful career is a viable result from a bootcamp; there are enough success stories. Coming out unprepared for an entry-level software engineer job is also a viable result, and there are enough failures to support that as well.

I think a lot of bootcamps should be more up-front about this. On one hand, you could argue that it's on the responsibility of the attendee to do their research, get advice, and be realistic about the amount of learning and preparation they truly need to do to land a job. However, bootcamps certainly market themselves as being all you need by touting their best success stories and not being transparent about their service they are truly offering. Even in the best cases, employment report outcomes are windowed in their favor, often omitting those who fail to gain employment because of fine lines that comply with the requirements that define a "qualifying student." I'm also under the impression that having little to no foundation in programming (e.g. "Writing my first line of code at bootcamp") is a bit of an unfair sell - it's a lot harder for students to grasp abstract concepts quickly, like the bootcamp demands, when they're still learning the basics.

So, I think there are valid criticisms from several angles, but I surely wouldn't discount all bootcamps as scams or failures. They do offer some worthy skills and credentials, which can be very valuable if you have none. But they don't offer everything you'll need to land a job; even a junior position. I think that's near impossible to do for a most engineering/-adjacent careers in only 15 or so weeks.

codemouse92 profile image
Jason C. McDonald

...because what really are "the basics"?

I'd argue, the war's already lost when "Javascript", or really any language, becomes tacked to the top of the target skills list. It doesn't matter what language is used to teach programming, but programming should not be tied to a language. Algorithms, data structures, patterns, essentials of computer engineering...these are things that one must master at some point to advance from "the guy who writes the Javascript we tell him we need" to "senior developer" (in a broader sense). Whether you learn them in a classroom, from a book, via course, or through self-study and experimentation doesn't matter. But it would seem to me, that is precisely what Bootcamps are failing to provide.

gregorywitek profile image
Gregory Witek

Very good point!

But it would seem to me, that is precisely what Bootcamps are failing to provide.

Something that just came to my mind: maybe this is where we, the tech leaders, are failing?
In the end it's us who put languages or even frameworks on top of list of requirements in job descriptions. And then we expect people to build an app in that framework during interview. And eventually when we hire bootcamp graduates we fail to provide them the kind of support they need (which is different from support that CS graduates need).

I'm not saying bootcamps are innocent here, they do a lot of shady and misleading stuff.
What I mean is that we know what bootcamps are - they are a response to sudden surge in demand for software developers (and as that demand plateaus, most of them will disappear and only the best will remain), they are X-weeks courses for people who can't or don't want to do longer courses or CS degrees.
They can do much better, and so do we.

Thread Thread
codemouse92 profile image
Jason C. McDonald

I do agree. I don't set strict technology requirements on any job I post, and I know of a few other employers who don't either. It's something we definitely need to push more for in the industry, but that would require companies having technically-minded people writing the job descriptions and posts, rather than entrusting that to HR.

mattschwartz profile image
Matthew Schwartz

I just finished teaching a 24 week full stack (MERN) bootcamp. Our approach is to start with fundamentals and adapt them to the latest techniques and frameworks. My goal is for them to understand enough to be able to learn more on their own.

For example, we spent the first few weeks on HTML and CSS. No frameworks. After learning how to "manually" lay out parts of a page we introduced Bootstrap. Bootstrap is taught as a tool that just makes this easier. When projects were due, one requirement was to use a framework other than Bootstrap so students would be obligated to learn something else on their own.

When we got to MySQL I taught them SQL. Their JS first interacted with the db with plain SQL. Then in another lesson I showed them Sequelize and the benefits of an ORM. Similarly with Mongo we started with plain JS and documents right in the Robo3T.

I guess I'd call it a layered approach. And throughout it's my responsibility to reinforce fundamental concepts.

24 weeks is barely enough time, and the top complaint of students is the fast pace. By the final project I can see the majority of students who put the effort into it will be very good entry level developers. They can take what they've learned and grow from there.

jdforsythe profile image
Jeremy Forsythe

This is pretty true and why I prefer bootcamp candidates who have done some side project outside of the class.

However, I find similar skills lacking in 4-year school grads, as well. They can write a 32bit OS in C++ or write a bubble sort in Java but took zero or one semester of web dev based on 20 year old concepts.

Neither of these groups know nearly enough about fundamental concepts ancillary to development, like basic networking concepts for instance.

Bootcamps are popular because 4 year institutions are stuck in the 90s.That doesn't mean they're necessarily better, but i find both groups of candidates need the same amount of on the job training.

Regardless, this field requires constant and vigorous self study. If you have that habit and you're smart, I don't care which school you went to.

patarapolw profile image
Pacharapol Withayasakpunt • Edited

IMO, uni professors are often smart in their knowledge, and even critical thinking; but not necessary good at teaching concepts to the mass, and encourage them to think.

Both can have their failures, and race to the bottom might be a solution, and beneficial to the students.

keke_arif profile image
Keke Arif

Agree with this and they are more concerned by their research than teaching.

v6 profile image
🦄N B🛡

Thinking, rather than mere pattern matchnig, is a difficult skill, especially rational thinking or critical thinking.

bias profile image
Tobias Nickel • Edited

wow, very cool discussion here in the comments, let me give you my perspective as a technical lead. Having worked with and interviewed many people including bootcamp graduates.

And it is always important to look at the people behind the curtin. I rather work with someone who put in effort instead of a know it all. Software Development is a team effort. When you fill up your team with seniors, who is doing the simple stuff? Implementing the next form or the next modal view is not intellectual challengeing. creating a table and the corresponding model in code is also kind of a standard task.

As was already pointed out, tech is a career of constant learning. and getting people who originally come from a different field and backgrounds can widen the view of everyone in the team.

I think nobody expect to go from bootcamp to tech lead overnight, but with a little luck, the student join a team, that is not only farming out his current angular or orm skills, but challenge him with new kinds of tasks, providing advice and direction, the student can have a good path ahead of them.

And this is the responsibility of today's leadership.

By the way, I can't tell, how the companies sell their courses, and potentially raising unrealistic expectations, but I genuinely think it is good to have the options available for adjusting once path. I also think today, there are so good books and materials online(free and paid), I would be happy to learn coding today. And as everyone learn different, going though a bootcamp can be worth it.

codemouse92 profile image
Jason C. McDonald • Edited

Agreed. Teach concepts and techniques, not tools. If you know the concepts, no matter what tool(s) you use to practice them, you can pick up any other tools necessary. Students being taught the "current popular frameworks," are largely condemned to a set of professional skills which will be largely outdated and irrelevant in a few years, and they'll be back where they started (unless, of course, they go learn the concepts themselves.)

Doubt my prediction? See the gaggle of developers from ages past who learned the Flavor Of The Month Language, but not the fundamentals, and are now out of work. Continuous learning is half of this career.

ackers93 profile image
Andrew Ackerman

Yes! I couldn't agree more! I'm a Lambda School student and while I love it and think the curriculum covers most of the info I believe I'm looking for, I would happily stay in the curriculum for an extra month on two to just do coding challenges and understand the deeper inner workings.

Saying that, I've also seen the encouragement that comes from within the school to work on these things in their 'spare time' (which is hard to come by, but not unreasonable.)

Also, not to detract from your article, but just as a correction..Lambda does teach Express these days, I don't think it's reflected on their website. ☺️

lionelrowe profile image

That Devmountain course outline looks like a massive scam. Encouraging students to take out loans or borrow from friends and family to cover course costs, even though their explanation of what's actually taught each week is little more than "This week, we learn React and Node. Next week, we learn React and Node, but more!" And apparently you'll also build a "simulation", which is "jargon" that you'll understand by that point. A simulation of what? A miniature universe? The dark side of the moon? The interest on the loans you just took out?

dougaws profile image

Bootcamps and even a CS degree will only get your foot in the door. After that, it's up to you to continually learn and improve.

axelledrouge profile image

Okay so I will share my experience even if it is not completely a bootcamp on webdev.
Three years ago, I got a job in a company that was recruiting people out of scientific courses left and right to teach and employ them as software developer. Not specifically in web.
The contract was that we would have 2 months of learning programming and then we would stay in the company to gain experience.
The big difference here is that we were sure to have a job, and the company needed us to be efficient and able to learn and adapt quickly. It was the main goal of the course (and the main focus of the recruitment). And I believe it is what made the learning course so efficient.
We were taught to learn, and learn fast. We learned the basics from the inner workings of a computer, and worked from here. Installed a VM with Linux, learned to work with Shell, SQL, Java (the language being so... wordy is great to retain the basics) with only a text editor then learned Java with Eclipse then J2E, including HTML/CSS. We learned some basics algorithms, data structures, Object-oriented programming,... in a way that we had to learn by ourselves and work a lot (from learning to search for the right ressources, to learn to help and get help, and retain the most important informations)
I may not have learned JS that time, but when I had to learned it for a job later on, I was equiped and able to learn and work on a NodeJS project really quickly. I have since completely shifted to JavaScript and I have continued to learn as much as I can to improve.
Now I have learned a lot more and been a web dev since more than two years. I have feel like I have hurt a wall on what I can learn alone. I have been looking for a new job (that I finally found :) ) to have a mentor to guide me.
The bootcamp has set solid foundations for something that has last just 2 months. And I have been able to use the skills I had before. Now I can continue to improve and enjoy my career if I choose the right job in the right conditions.
My case is not a generality at all (no one's is) but I think that the most important things to earn from it is that we must do what we can with whatever ressources we have. But we must learn to search for those ressources (like for example, I have so much because of this amazing community).

egilhuber profile image
erica (she/her)

One of the most valuable things that I got out of my bootcamp was that they emphasized they weren't teaching us specific concepts - they were teaching us how to learn. We were introduced to concepts and then taught how to hunt down an answer. I think that learning how to learn is a huge make or break point for bootcamps.

256hz profile image
Abe Dolinger

My bootcamp experience was great, and there's no way I would have gotten work in this field as quickly without it. It definitely helped that I had been self-learning for a while. And after it was over, I did have to learn the data structure & algorithm approach to interviewing (which undoubtedly made me better at my job).

At Flatiron we did three weeks in vanilla Ruby and three weeks in Rails (via Rack and Sinatra, so we could see some of the concepts at work). Then three weeks of vanilla JS and three weeks of React. I see this in other replies as well - a layered approach with an appreciation for fundamentals. I like that we were exposed to two languages, even if both are dynamically typed; it emphasized the common basic ideas of many languages.

I think "the fundamentals" is a wide and debatable pool of knowledge. To me, that's basic data types, iteration, logic flow, and tool coverage (what kinds of interactions are covered by which parts of your stack). But that's programming only, and most jobs are 50% soft skills. We were also asked to complete projects together and alone, write and present on technical topics, conduct mock interviews, and informally help each other learn. By emphasizing all of this, I think we were put in a good position to continue to grow and thrive. Much of it is up to the student, of course, which is true anywhere.

Basically I think you are focusing in too sharply on the idea that specific pieces of knowledge are key to being a good developer. Yes, one must appreciate the workings of the world they work in, or they'll make bad choices. But I can count on one hand the times I've actually used == in JS (though, yes, very common interview question). More important for the somewhat impossible task of learning a new field in 15 weeks is to teach an appreciation for the concepts that bind modern programming and web development, and the soft/research skills to dive into new problems and discuss them with others. As a bootcamp grad I'm obviously biased, but it worked for me, and I enjoyed it!

nbaugh1 profile image

You wrote almost exactly what I was going to reply with. I attended Flatiron as well (online) and feel the same in terms of the curriculum there. I think something that this article misses is that, at least at Flatiron and especially with the online program, you learn how to learn. I’d think it would be seen as a strength that a person is able to complete such a rigorous course and actually develop skills rather than be overwhelmed.

I can only speak for myself but I went into the bootcamp knowing that graduating isn’t the finish line. I don’t know anyone who wasn’t excited to go out and start expanding their knowledge in different directions after graduating.

I find it hard to believe that anyone, from any training or educational background, walks into their first dev job (or any new job) 100% ready to hit the ground running.

selino profile image
Selino Valdes • Edited

From my experience, most bootcamps have a specific class for grasping fundamentals. It's called "Preparing for Interviews" or something along those lines and covers everything someone should have known BEFORE they took the MERN course. Why is that a separate class? So they can get more of our money.

I don't think that bootcamps are in the business of bettering society or the developer community. I feel like they are in the business of making money and the situation described in this article is the direct result of making sure that prospective students are enticed into purchasing products that promise quick results. It's like the "I'll teach you how to sell real estate" scam. Sure, some people come out of those and make a lot of money but the majority do not because they were in over their heads before they even walked in the door.

I'm sure that there's an "all encompassing" course out there but I have not seen it. Then again, I'm a generally ignorant person with too much time on my hands. meh… 🤷🏽‍♂️

raquel_gonzo profile image
Raquel Gonzalez

I am currently enrolled in Coding-Dojo’s part-time MERN boot camp. Before deciding on a boot camp, I took a semester at community college on web fundamentals and VB.Net that lasted 5 months. There is no way I would have been able to go blindly into a boot camp if I didn’t have the fundamental concepts that I got from the community college class. However, I feel like now I have a good grasp on the pacing and more difficult concepts.

tam360 profile image

I think having a separate tracks for FE and BE would be a better option for 2 reasons:

  • Bootcamps have limited time to train hundreds of students so quality should be primary focus rather than quantity. Here, the T rule really helps out or "to know everything about something and something about everything". This also keeps students less distracted and helps them in getting more confidence about the knowledge

  • A lot of companies (mainly established/stable) had separate positions for FE and BE. If bootcamps can train students by keeping this context in mind, it would become easier for them and students to transition from towards the field of SWE.

At the end, it's all about empowering people enough to the point where they feel confident and are able to get job in I.T not to spoon feed everything.

ajmcodes profile image

What resources would you recommend people studying web development look to in order to supplement their education on the core fundamentals? I'm actually a student in a coding bootcamp currently. Just bought Eloquent JavaScript, seems like a great primer on JavaScript.