It's not easy picking a coding bootcamp to attend. There are so many options out there, and each bootcamp promises a great education and a high salary after graduating. Plus, a lot of the information you find about bootcamps just feels like marketing material, and it doesn’t give you a good sense of what it’s like to actually attend the bootcamp.
When it comes to picking a bootcamp, with the exception of price, there are 4 major areas that you want to consider. These include:
- Stack: This deals with what technologies you will learn while at your bootcamp.
- Curriculum: All bootcamps teach similar curriculum but each does it in a different way. Consequently, this section covers how each bootcamp teaches programming to students.
- Resume projects: After you graduate from your bootcamp and have gained your programming chops, you're going to begin job hunting. While job hunting, the projects you completed at your bootcamp will make up the vast majority of the technical items that you talk about in your interview. Therefore, knowing what type of projects you'll be working on for your resume and how you pick those projects, can help you pick the right bootcamp for you.
- Facilities open on weekends: If you're like me and hate studying or working in the same place that you live, then knowing whether or not a bootcamp allows you to visit the office on weekends is an important factor to consider.
The App Academy curriculum is broken up into 12 different weeks. Weeks 1 - 5 focus on the backend of a web application and programming fundamentals. Weeks 6 - 9 pertain to the frontend and building a fullstack web application. Finally, weeks 10 - 12 cover algorithms and job hunting. During each week, students learn about a new topic, and after roughly 7 days, students have an exam on the material they learned in the previous week. During the exam, students are given a repo with test cases and have to write code to make the test cases return true. This helps students learn how to read tests for code, which is something every programmer has to do in his or her job.
App Academy is extremely focused on pair programming. Students pair program almost every single day for the first 7 weeks. However, there are some individual project days sprinkled into the curriculum. Everyone works on the same projects up until it’s time for students to build a fullstack application for their portfolios.
Starting in week 8, students work on 3 main resume projects. All 3 of these projects are done individually. There are no group projects. The vast majority of time, roughly 2 week, is spent building a fullstack website. App Academy has a list of websites that students can pick from. Some of the websites include Kickstarter, Airbnb, SoundCloud, Etsy, and Yelp. If a student has a website that he/she really want to make and it’s not on the list, the student can submit a proposal for project.
To pick a fullstack project, everyone submits their top three choices and then TAs assign the project to students. Each project is accompanied by a list of required features that students must create for the project to be considered complete. If students have questions or need help, the TAs are available but the vast majority of the work is up to the student. TAs also review the fullstack projects to make sure there are no glaring errors that stick out.
The App Academy office is open to students 24 hours a day, 7 days a week.
Codesmith’s program last 12 weeks. Weeks 1 - 4 focus on building the students programming fundamentals. Weeks 5 - 6 are all about building fullstack web applications. Week 6 covers security and testing. The remaining time at Codesmith revolves around group and resume projects and job search preparation. Codesmith gives exams throughout the course of the program, and students also take a cumulative exam at the end of the program. The cumulative exam covers different topics from throughout the program.
Each day at Codesmith, students work both individually and in pairs on different projects. For the first part of the day, students work individually on algorithms and a smaller project about the new material they are learning. In the afternoon, students begin pair programming. During the pair programming sessions, students are given a larger project that focuses on the topics they covered earlier in the day. Some of these larger projects include creating a snake game or a react app.
During the last month of Codesmith, students complete a group project. The main focus of the group project is to make an open-source application that other developers can use.
To select the team members for their groups, students rank each other based upon who they want to work with. The TAs then assign each student to a group. Once the students have their groups, the exploration phase of the project begins. During the exploration phase, each group member researches different programming topics to figure out what project the group wants to make. Once the topic and project is decided, students submit a project proposal for approval. Then, students go and make the project in a group. Although the TA's are available for questions during the creation of the projects, since each project is extremely unique, the vast majority of the work falls to the students. Some projects focus on Kubernetes, Docker, React, Node, GraphQL. Watchpod is an example of a group project that some recent graduates of Codesmith created.
To prepare for interviews and build up their resumes, students also work on personal projects. The personal projects are individual and not as regulated as the group project. Some students create fullstack web applications or chrome dev tools.
The Codesmith office is open on Saturday but not on Sunday.
Flatiron School is a 15-week course that is broken up into 5 different modules. Each module is 3 weeks long. In the 1st week of a module, students are introduced to the concepts in that module. In the 2nd week, students are given more information and work on a coding challenge. For the coding challenge, students are given a partially written application, and they have to complete 5-6 features for the application. Week 3 of each module is a project week. In the last week, students take the information that they learned and create any type of application they want.
During each module, students can work individually or in pairs if they are working on a larger project. Instructors also give personalized feedback to each student about their coding challenges. The feedback is similar to a code review that programmers get in real life. Code reviews point out areas that were written well or provide suggestions on places for improvement. The reviews that students receive help improve students’ skills, and everyone receives a review on their coding challenge, no matter what level they are at.
Students are given a lot of freedom in the types of projects that they can create. Instead of having their projects assigned to them, students are encouraged to draw on their life experiences to create projects that solves a problem they faced or that they find meaningful. For example, one student who used to keep score at sporting events, created an application to automate the scoring of athletes. By drawing on their life experiences for their projects, students are able to talk more passionately about their projects in interviews and showcase who they are as individuals.
While students are working on their projects, the TAs are available for assistance; however, the TA's are not there to just give the students answers. They try to guide the students to figure out the answer on their own and help them think through problems like developers.
Students have access to the office space 24 hours a day, 7 days a week.
Fullstack Academy’s full-time immersive course is a 13 week program. Week 1 builds students’ programming fundamentals. In weeks 2 - 7, students learn the fundamentals to build a web application, including databases, HTTP requests, testing, and deployment. Weeks 8 - 13 are devoted to projects and interview preparation.
While learning new material, students have about 1 - 2 hours of lectures each day. When not in lectures students pair programming on different projects. Pair programming is when 2 programmers work on the same problem. During pair programming, one person types and the other person gives instructions on what to do. After a specific amount of time, the programmers swap role. That way, each person gets a chance typing and giving instructions.
Over the last 3 weeks, students work in teams to complete a group project. This project is the main centerpiece for the graduating students’ resume/portfolio. The team size consists of 3 - 4 people. The teams have 2 - 3 days to find their project idea. For their project, students create a fullstack application that solves a problem in real life. Students also have check ins with their instructors and teaching fellows where they can ask for help if they get stuck. Fullstack Academy makes some of their students’ past projects available on their website. Click here to check out previous student's projects at Fullstack
The office is open on weekends but not 24/7.
This article was written as part of the Coding Bootcamp Prep course. The course is dedicated to providing people of all skill levels the knowledge they need to get admitted to the country's top coding bootcamps.