What are the best programming bootcamps/courses available in the United States?

You’re asking the wrong question.

The right question
to be asking is “What’s the best program for me?”

Here at Flatiron School, we believe that all of education should be ROI-based. To us, that means that students should go into a program knowing the exact cost (financial commitment, time commitment, opportunity cost) and outcome (knowledge, skill, employment, etc.).

So how do you evaluate a coding bootcamp? There are two primary things worth considering:

1. Where is the best place for you to learn?
2. What is your goal?


Some schools have rigid in-person curricula. Some are online. Some are completely self-driven. What’s best for you?

There’s no objectively right answer to this question. Think about getting in shape. Some people just need a pair of sneakers and can run outside and do pushups. Some people like to take classes or play team sports. Others prefer personal trainers. Each approach has its pros and cons, but at the end of the day, success is largely dependent on your own motivation. Figure out which environment brings out the best in you.

How should you evaluate the different immersive, in-person programs? Study after study has shown that one of the most important determinants of learning outcomes is the quality of the teacher. This should be obvious. If you took four years of high school math, you had four math teachers that (hopefully) knew the material. That did not make them great teachers though. Great teachers have the ability to inspire students to connect with a topic. Just because someone knows how to do something does not mean the person knows how to teach that same thing. What does this mean?

Evaluate teachers, not brands.

You shouldn’t be asking about the best “bootcamps.” You should be asking about the best teachers. The programming bootcamp industry is, for lack of a better word, bullshit. None of these schools existed just a few years ago and if there weren’t such a massive skill gap, few of them would exist today. If you were choosing between MIT, NYU, and Georgia Tech, you might want
to take into account the name on your diploma. In any one of those schools, you’d be taking lots of classes, from lots of teachers, but what you’re signing up for here is really one single, intensive experience. In the bootcamp industry, however, no employer cares whether you went to one school over the other. All that matters is that you can do the work. And the best way to learn to do that is to have a GREAT teacher.

We’re pretty maniacal about teacher-quality at Flatiron School. We’d never have someone lead a course without TA’ing first and most of our instructors actually have backgrounds in teaching and programming. Avi Flombaum was teaching for years and had hundreds of students before founding Flatiron School. Ashley Williams, one of our Ruby instructors, was a NYC Teaching Fellow and organizer of the NYC Code for America Brigade. Jonathan Grover, our front-end TA, had the most popular front-end Skillshare class with 3,000+ students and 100% positive reviews. Joe Burgess helped create the iOS class at Carnegie Mellon before launching our iOS course. Peter Bell has founded tech companies and led technical teams as a seasoned CTO—he’s also created a range of technical books and online courses and taught Digital Literacy at Columbia University. He now heads our team of online instructors.

We definitely don’t know every teacher out there in the growing bootcamp industry (though we’ve met our fair share), but there are some great ones.

Jeff Casimir, who founded Turing School of Software & Design, cares deeply about his students. He’s passionate about education and is one of the most engaging speakers we’ve come across. I met Dave Hoover of Dev Bootcamp Chicago when he was at Starter League. His passion for education is infectious. Aaron Hillegass of Big Nerd Ranch has fantastic reputation. I haven’t met him, but we’ve used his books and spoken to many people who’ve taken his course. They didn’t just learn a skill—they came away inspired.

So when you’re evaluating a program, it’s a smart idea to ask some tough questions:

  • Who will be in charge of my learning? What is his/her teaching experience? Are the instructors on the site actually going to be teaching me? This is especially important for schools with multiple locations. Your high school/college probably had some great teachers and some awful ones. If you’re going all-in somewhere, make sure you’re getting the best resources.
  • Whom has that person taught before? Can I speak with some of his/her alumni? Do your research. Sure, alumni referrals are great. Find alumni on your own and reach out.
  • How much attention will I get? What’s the student:teacher ratio? Will I be getting personal attention from the instructor or will I be mostly on my own? If it’s an online program, what sort of instructor access can you expect? Real-time instructional support like in Flatiron’s Online Web Developer Program or 1x/week meetings?


You may want
to get a job as a developer. Or start a company. Or get involved in the startup world. Or gain a new skill for your own personal development. Or something else entirely. The best thing you can do is understand your own goals and evaluate which program will do the best job of helping you achieve them.

On average, Flatiron School has a below-8% acceptance rate. With that sample size in mind, here’s what we see as some of the most common goals people have when applying.

Become a Developer: This is not the same thing as learning how to code. Some of the softer skills we think about includeL

  • Learning how to learn: Part of being a developer means being exceptional at learning new things. We spend a lot of time at Flatiron School “learning how to learn.” This manifests itself in soft skills (lock picking, yoga, knot tying, improv, etc.) as well as hard skills (students are required to learn new technologies well enough to teach them to other people).
  • Joining the community: The developer community is incredible, and it’s a huge reason why this is such a great field. Meeting the people that are pushing the limits of technology, and helping contribute to that, is an essential part of being a developer. It’s why every Flatiron student maintains an active technical blog and presents at a technical Meetups, and why we maintain such a focus on contributing to open-source projects.

Get a Job: In the same way that learning to play guitar does not mean you can play in a band, learning to code in and of itself does not mean you can be a productive member of an engineering team. Code is a team sport. It requires empathy, communication skills, collaboration. If you want a job, those skills should be prerequisites for any program to which you’re applying. Other than that, ask tough questions.

  • Dig deep on job placement. Lots of programs advertise really high job placement statistics. Are those recent? Are they self-reported or independently-verified? How did the last class do? Does that include people who dropped out or were kicked out? Are they counting people who accepted non-developer jobs? What about people with short freelance contracts? Or internships? Or people who couldn’t get jobs and decide to start companies? You can take a look at Flatiron’s independently-verified Jobs Report here.
  • Some schools claim to have “Apprentice” programs. Even online ones. What does that really mean?
  • Websites for these programs tend to be heavy on employer logos (especially online ones). Are those companies who’ve actually hired from the school or just ones that have shown up to a job fair at some point? What was attendance like at the last job fair?

Start a Company/Get Involved in Startups: Startups are awesome if you know what you’re getting yourself into. And seeing coding as your ticket to get a job at a startup or start your own is not completely unreasonable. But if your sole reason for learning how to code is to start or join a startup, Flatiron School might not be the right place for you. NYC has Startup Institute and General Assembly (company). Boston has Intelligent.ly. Those places are specifically designed to immerse people in the startup world. At Flatiron School, about 40% of our grads work at startups. But that’s not why they came here. People attend Flatiron School because their goal, first and foremost, is to be a great developer. If the next step on that journey happens to be at a startup, that’s great.

Become part of a community: Every environment has its own culture. Go visit. We host meetups more than once a week and typically have students presenting. Other places do “open houses.” Meet current students. Speak with faculty. Reach out to alumni. Visiting is the best way to get a real sense of what people are learning, and what the culture is like. Also if the school is doing things right, the alumni community can be a valuable asset in joining a program. If you’re looking to be part of a multi-city network, join a program that has multiple locations. If you’re more interested in having a very tight local community, look for a program that focuses on that.

There are lots of other reasons to learn, but those are the main ones we come across. Also, this post is turning into a novel. The bottom line is, if you have a great teacher, and make sure the program is suited to help you reach your goals, you can’t go wrong.

Enjoy the journey! 🙂

Leave a Comment

Your email address will not be published. Required fields are marked *