There are a few of these summaries of coding boot camps available on the Internet, so I'll try to offer something a little different. I compared a lot of self-proclaimed coding boot camps, spoke with a lot of admissions teams, and asked alumni from various boot camps.
I went to General Assembly and completed their Software Engineering Immersive (SEI) Flex boot camp. I won't be discussing prices but will give some insight into what goes on and what to expect coming out and going into a boot camp. One thing that I noticed that was consistent about many software engineering boot camps is that there is no discussion about testing. If it works, it works and that is that.
I spoke with many different admissions counselors and their main objective was the same: to add a feeling of exclusivity to prospective students.
I spoke to SpringBoard, UCSD Extension, General Assembly, and a few others. They asked incredibly similar questions, including:
Explain how this would benefit you. Do you want to get a job immediately after?
If you are selected, would you be able to make it to all the sessions?
What motivates you to want to code?
Which payment plan would you use?
If I connected with an admissions counselor, I received an unlimited amount (to this day if I don't unsubscribe) of emails from E V E R Y coding boot camp and many phone calls if I showed a semblance of interest. These emails and calls always included dates asking me to register by a certain time to make a cohort. That being said, all the admissions counselors are awesome but remember that it is your decision. I ended up choosing General Assembly because of the genuineness portrayed by the admissions team and each of the people I spoke with.
General Assembly specifically focuses on two stacks, but the stacks depend on the instructor. They always incorporate the MERN stack (MongoDB, Express, React, Node) but they may include Ruby on Rails or Django/PostgreSQL. I happened to learn Django and Postgres and am pleased because research tells me many companies are moving away from Rails, but it still has plenty of opportunity available if you do happen to learn it. The SEI Flex boot camp is part-time and has two weekly 4-hour sessions, one weekly 8-hour session, and a bi-weekly 2.5-hour outcomes session.
The content was broken down into four modules, and each model used the same formula. We would have a discussion about the content, do a code-along with an instructor, then be assigned an assignment. Some of the assignments were graded and others were not but it is in your best interest to do them all.
There are 4 modules and each module has a project.
The projects differ from the labs because we were given large amounts of class time to work on them and we were allowed to choose (if approved) whatever we wanted to work on as long as it utilized the stack. Three of them are individual projects and the final one is a group project.
HackReactor utilizes three projects and they are all group projects. They require you to build upon projects that your classmates or others have built instead of starting from scratch. FlatIron asks students to create a group project every four weeks and a solo project every three weeks, alternating. SpringBoard has a self-paced curriculum with little interaction with instructors. Remember this: all coding boot camps are project-oriented but it is up to you how much you get out of them.
Another thing to consider is the fact that what they are teaching is universal. You learn how to learn a programming language(s) quickly and it becomes VERY easy to learn other languages because of that. (Although that "very easy" portion is relative to how easy it was before the boot camp.)
Our instructors were awesome. Most classes at GA were larger than ours (I believe) as by the time graduation rolled around there were 6 of us. Most classes get a TA, and have 1+ instructors. We were so small that we lost our TA one of our instructors by the time we reached month 5.
They are awesome. They help debug and all had tons of energy all the time. They inadvertently teach you the most important thing about software engineering: the ability to use Google effectively. When presented with an issue, if they didn't know the answer, the way that they Googled things was on a higher level. That is a huge skill among developers.
The feedback on homework was excellent and each project completed motivated me to get better because of how they discussed it. The TA was knowledgeable (and graded the HW) and pointed out areas of improvement.
SpringBoard was the only unique boot camp I saw because of how limited the interactions with instructors are.
Every boot camp has an outcomes department. This department is the one that helps you get a job. There are some things you have to do to maintain outcomes status. Some of the boot camps come with a job guarantee, GA does not. Maintaining outcomes status after the classes are over requires a part-time to full-time effort on your part. You are asked to submit x amount of job applications a day, need a portfolio, cover letter, resume, brand statement, and LinkedIn, and have to meet regularly.
The outcomes sessions were interesting and provided a lot of content that help people even if they are not looking for a job. You can always opt-out of the outcomes component of the boot camp. The outcomes sessions had homework if you chose to opt-in that helped build on the final requirements after the class was over.
Words of warning: offering to let you attend a boot camp for a percentage of your pay for two years is a lot, but it does provide you with a chance to attend. Please think about that payment plan choice carefully.
These may not be universal, but this is how my experience was. Everyone learns differently and will have a different experience, but I think there are some common misconceptions that I'd like to touch on.
I learned a lot but some content was a review. It's up to you to actually learn in the class and afterward. This is something that not everyone can do easily, but the instructors are excellent at supporting you.
One of my biggest pet peeves is the term "I didn't have time." I get it if you have obligations that are meaningful (family, multiple jobs, etc.) but even then most of those can be mitigated if this is something you want. A student in my cohort had a full-time job, a part-time job, a full-time master's student, and did a summer internship all while attending and completing the boot camp. It's a time investment, yes, but if you are able to manage your time you can accomplish this.
It is difficult when doing a lab alone but that is part of the process. Try not to ask for help unless you absolutely need it and even then see if you can troubleshoot just a little longer. Your peers are there for a reason as well.
You'll learn a lot, make some cool friends, network a ton, and learn how to learn. I'd do it again despite the new debt.
As with anything, it's up to you what you get out of it. I'm going to go back and polish some of my projects and continue to work on things I'm passionate about. Make sure you know what to expect going into it and set goals for yourself and you'll do great.