Chapter 10
In This Chapter
Learning about the coding boot camp experience
Seeing the daily and weekly boot camp curriculum
Deciding which boot camp is right for you
What we face may look insurmountable. But I learned something from all those years of training … we are always stronger than we know.
—Arnold Schwarzenegger
The words boot camp historically referred to the intense three to four months of training given to new recruits in the armed forces. These programs are famous for their grueling physical tests, direct instruction, and intense motivation. Coding boot camps are not nearly as intense as the military version, but the goal is similar — to train a person with little or no technical skills in a short period of time to be a professional.
This chapter describes coding boot camps, helps you decide whether the boot camp experience is for you, and fills you in on what to do before attending and after graduating.
Coding boot camps are classes designed to turn students with little to no programming experience into employable junior-level developers in about three months. Students come from different backgrounds, including grocery store clerks, coffee baristas, IT support engineers, marketers, and financial research analysts.
The experience ranges from 8 to 13 weeks. In-person coding boot camps usually take place in a dedicated facility. Each week, students spend 70 to 80 hours learning, with instructors teaching classes from 9 to 6 during the weekdays. Students complete homework assignments and projects in the evenings and on weekends. The instruction is usually interactive: A concept or method is explained, and then students work together to complete an example to implement the concept or method. Working in groups of two, as shown in Figure 10-1, is often referred to as pair programming.
Coding boot camps were founded in early 2012 in San Francisco, and the concept has since exploded, with over 40 coding boot camps appearing in New York, Chicago, Boston, Detroit, Miami, Los Angeles, Omaha, and other cities both big and small. Coding boot camps collectively trained almost 6,000 graduates in 2014, which is significant considering that US colleges grant approximately 50,000 computer science degrees per year.
Compared to traditional online learning, the retention and graduation rates for coding boot camps are high. Some online courses have seen hundreds of thousands of student enrollees, but on average across online classes of different sizes only 5 to 10 percent of enrolled students complete a course. By contrast, approximately 80 to 90 percent of enrolled students finish an in-person coding boot camp, and of those, 85 to 95 percent find employment that uses their newly learned programming skills. A few major factors help contribute to these outcomes, including personalized attention from an instructor and support from your peers when you get stuck.
These graduation and employment results, dedicated classroom spaces, and high-quality teachers come at a cost. The average cost to attend a coding boot camp is $10,000, and the price can go as high as $15,000. (A few camps are free.) In addition to tuition, you also need to pay for living in the city where the boot camp is located. Limited financing options exist, such as loans from alternative lenders, discounts for underrepresented groups in the tech industry, and grants from federal, state, and city agencies. Still, most participants pay for coding boot camps out of pocket.
One item you’ll need is a laptop. A laptop will make it easy for you to work in class and continue your work at home. MacBook Pro and Air laptops are popular among boot camp attendees and in startup professional environments because they are easy to set up, render graphics in high detail, and run a version of Unix, for which many coding utilities are written. However, Apple laptops are expensive, with retail prices of $2,000 or more. Alternatively, you can use any laptop running Linux, with prices starting as low as $200. Finally, you can use a laptop running Microsoft Windows, but you will need to spend more time setting up your computer. For details on the various options, see the section in Chapter 9 on spending money to learn coding.
Some boot camps earn a referral fee when they introduce you to an employer and the employer hires you. The demand for people who can code exceeds the supply of qualified coders, so companies are willing to pay others to find talented candidates. Traditional recruiters earn approximately 15 percent of the full-time annual salary for a successfully hired candidate, so the referral fee earned by the boot camp can range from $7,000 to $15,000. In some cases, the boot camp will pass a portion of the referral fee on to you as a hiring bonus.
Boot camps come in different sizes and also vary in the following dimensions:
thinkful.com
and bloc.io
, provide support through screen sharing and live video chats. You can read more about these online options in Chapter 9 in the section on adding mentor support.Coding boot camps usually teach web development, data science, and mobile app development. Of the three topics, web development is the easiest and most commonly taught.
Web development can be accomplished with Ruby, Python, PHP, and many other languages, but almost 60 percent of boot camps that teach web development teach Ruby and the Rails framework, in addition to HTML and CSS. Ruby is popular, in part, because it is a simple language to teach, well documented, and common among startups, which hire many boot camp graduates.
By contrast, data science boot camps primarily teach Python because it has more supporting libraries and applications designed for data analysis.
Finally, boot camps that teach mobile app development, which is the hardest of the three topics, are primarily geared toward iOS development and teach Objective-C.
Given the price tag of boot camps, make sure you are signing up for a high-quality experience, which you can assess in a few ways. First, boot camp instructors are either good engineers, with years of coding experience in the language being taught, or good teachers, with previous experience teaching beginners. If you’re lucky, your instructor will be strong in both engineering and teaching. Second, see how long the boot camp you are considering has been open. Boot camps are popping up at a fast pace, and newer boot camps may still be working out the kinks with logistics, curriculum, and attracting employers to hire graduates. Finally, ask the boot camp what the job placement rate is for students who graduate the program; the rate should be 80 percent or higher.
The high price of coding boot camps might scare you off, but their recent success has created some opportunities to attend for free. Federal agencies, encouraged by technology education initiatives promoted by President Obama, have released grants to coding boot camps to lower the cost of attending for underrepresented and rural populations.
Similarly, some cities, such as New York, have used workforce development grants to sponsor boot camp classes for citizens who have not attended college and earn less than $50,000. Additionally, boot camps themselves lower the cost of attendance. Some boot camps have an initial highly selective application process but are free to attend; employee referral fees and corporate sponsorships fund these boot camps. Other boot camps offer $500 to $2,000 tuition discounts for women and minorities.
The boot camps in Table 10-1, which are sorted by topic, are some of the more established and well regarded in the United States. If one of these is not available in your city, use this data as a benchmark to evaluate other boot camps you may be considering.
Table 10-1 Reputable Boot Camps in the US
Boot Camp and Website |
Cities |
Cost |
Topics |
General Assembly |
Atlanta, Austin, Boston, Chicago, Los Angeles, New York, San Francisco, Seattle, Washington DC |
$11,500 |
Web development |
Dev Bootcamp |
Chicago, New York, San Francisco |
$12,700 – $13,950 |
Web development |
Launch Academy |
Boston |
$12,500 |
Web development |
Hack Reactor |
San Francisco |
$17,780 |
Web development |
Flatiron School |
New York |
$10,000 – $12,000 |
Web development Mobile apps |
Iron Yard |
Atlanta, Austin, Charleston, Greenville, Houston, Indianapolis, Las Vegas, Little Rock, Nashville, Orlando, Tampa, Washington DC |
$12,000 |
Web development Mobile apps |
Zipfian |
San Francisco |
$16,000 |
Data |
Metis |
New York |
$14,000 |
Web development Data |
Recurse Center |
New York |
Free |
Self-directed |
Of the companies listed in Table 10-1, General Assembly has the most locations and graduates the most students. The only full-time coding course the company offers is web development, but there are part-time courses for both data and mobile development. The most expensive web development program is Hack Reactor, which justifies its higher cost because it offers 50 percent more formal instruction than other programs, with classes six days a week for 11 hours a day.
The dominant boot camp in the south is Iron Yard, with locations in North and South Carolina, Texas, Arkansas, Georgia, Nevada, Tennessee, and Florida. The company, along with Flatiron School, also offers courses in mobile app development for Apple devices. Although mobile device use is rising quickly, boot camps have yet to embrace teaching mobile app development, in part because of the increased difficulty of learning mobile programming languages.
Two companies, Zipfian and Metis, each teach a data science boot camp. Metis is a subsidiary of Kaplan, an established education company known for its test preparation products. In addition to learning to code, these programs also emphasize data science theory by teaching topics such as big data processing, machine learning algorithms, and natural language analysis.
The Recurse Center, formerly known as Hacker School, has a different model than the other boot camps listed. There is no fee to attend, nor is there a set curriculum. Students apply to attend and are screened for their interest in learning; those who are accepted form their own self-directed learning plan. You might pursue learning web development, creating a programming language, or coding a game. Fellow students and resident mentors help support you and answer questions throughout the program, which culminates with a project. Companies sponsor the program and pay a referral fee if they hire a graduate, though there is no obligation for any graduate to accept a job. Similar programs in data science that charge no tuition include Insight Data Science, available at insightdatascience.com
and the Data Incubator, available at www.thedataincubator.com
.
Boot camp courses run every week day for ten to twelve weeks. Boot camps vary in the structure of their curriculum, so find out the specifics for the boot camps you’re considering. A daily boot camp schedule should include time for the following:
Following is a sample web development boot camp daily schedule. When coding boot camps say you will eat, breathe, and sleep code you’ll see that they aren’t kidding!
Time |
Description |
8:30 am–9:45 am |
The day officially starts. The instructors share what you will learn today and cover two to three programming concepts. |
10:00 am–12:00 pm |
With another student, you complete challenges that test your understanding of the programming concepts. You might write a program from scratch or fix an incorrectly written program. |
12:00 pm–1:00 pm |
Break for lunch! Occasionally, a boot camp alum or an industry veteran might join the group and talk about breaking into the industry or the latest tech trends. |
1:00 pm–2:30 pm |
Instructors teach more concepts that you will apply in the challenges and to your final project. |
2:45 pm–5:00 pm |
With another student, you continue working on challenges and projects. |
5:00 pm–5:30 pm |
Class pauses to recap what was taught today and to address major questions or issues that came up. The day is officially over, but most people stay to keep working. |
5:30 pm–6:00 pm |
Instructors have office hours daily and at various times during the week to answer your questions. |
6:00 pm–7:00 pm |
Break during dinner to catch up with other boot campers about tech news and products. |
7:00 pm–8:30 pm |
Time for camp-organized events, such as a career panel or a resume workshop, or community-organized events, such as a MeetUp or company-sponsored hackathon. |
8:30 pm–10:00 pm |
Students go home, finish incomplete challenges and exercises, and rest up for tomorrow. |
You’ll repeat a rough version of this daily schedule for 10 to 12 weeks. Toward the end of program, less time will be spent on instruction, and more of your day will be allocated to completing your final project.
From the start to finish of the course, you should learn these core skills:
The following is a sample week-by-week web development boot camp schedule focused on Ruby and Rails. Many boot camps assign pre-work, and assume that when you arrive you’ll already be familiar with basic HTML, CSS, JavaScript, and Ruby on Rails.
Week |
Description |
1 |
Git and Github basics are covered so you can publish code that you write. You also start learning basic Ruby. Finally, the first evening will have an installfest to resolve any software installation issues on your system. |
2 |
You start with advanced Ruby topics such as loops, classes, and objects. |
3 |
You begin using SQL to query and modify information stored in databases. |
4 |
You use the Rails framework and HTML to create dynamic websites. The model-view-controller concept is used to separate different parts of your application. |
5 |
You learn advanced HTML and CSS so you can style and lay out your application with precision. |
6 |
You cover advanced Rails concepts such as authentication so you can create user accounts. You also learn advanced JavaScript and jQuery to make your web pages interactive. |
7 |
You integrate external data from Twitter or Google Maps using their APIs. You also learn an advanced JavaScript framework such as Backbone.js. |
8 |
You start your project, either in a group or by yourself. You also cover theoretical concepts, such as Big O notation, which describes the complexity of an algorithm. |
9 |
You continue working on your project, working through missing data and broken external programs. You begin interview preparations with sessions on resume reviews and networking tips. |
10 |
It is crunch time — you work hard to finish your project. You also practice answering programming challenges with your classmates and present your finished project to employers. |
With so many available boot camp options even after you’ve filtered by topic and quality, and the significant expense to attend most of them, take the time to think about which boot camp is the right choice for you. Keep the following in mind at as you weigh your options:
Boot camps require that prospective students complete an application, and accept anywhere from 5 to 20 percent of applicants. The application helps the boot camp identify those most likely to succeed. Additionally, boot camps are evaluated on their job placement rate, and select candidates with profiles that will be interesting to potential employers. Here is a sampling of the questions asked on the application, and advice on how best to answer:
Why are you applying to this boot camp?
Whether you’re applying to one or multiple boot camps, show in your applications that you’ve done your homework and have a reason for applying to each specific program. Perhaps you’ve spoken to an alumnus, read reviews online, or attended a sample class and enjoyed learning from the teacher.
Almost every boot camp has in-person or live video info sessions covering the boot camp curriculum, alumni, and application. Attend at least a few to get a sense of the boot camp and what your expectations should be.
What is your previous coding experience?
Don’t fret if you don’t have formal coding experience. The real question here is if you previously tried to learn to code, especially because many free resources are available online. It’s worth trying to code before applying because boot camps assign prework — online courses you must complete before you join. If you’ve completed some online coding courses or, better yet, built a website (no matter how simple), include the course name or website address in your application.
Codecademy.com is one of several free resources with online courses that many boot camps assign as prework. For additional resources, see the section in Chapter 9 on learning from online websites.
Why do you want to become a programmer?
You might want to become a programmer for many different reasons. Perhaps you want to advance your career, build an app that solves a problem you’re experiencing, or become a maker instead of a manager. Whatever your reason, it should be meaningful and serve as motivation during the highs and lows of your boot camp experience. Poor reasons to learn to code include “wanting to become rich” (the average coder’s salary is $70,000), or “because coding is easy” (becoming job ready can take at least 700 hours).
Describe a time when you solved a complex problem in a structured, step-by-step way.
Many problems you’ll face when coding will seem impossible to solve. If you try solutions at random or haphazardly, reaching a resolution will take much longer. The key to solving any complex problem is to list every step that might be at fault, and then methodically test each step. For example, if you turn on a light switch and the light bulb doesn’t turn on, you know the problem must either be the light switch, the wiring to the light socket, the light socket itself, or the light bulb. You can find the problem by testing or replacing each part, usually starting with the light bulb. Debugging a program follows a similar process. If you haven’t debugged a program, describe any complex process or problem and the systematic approach you used to find the answer.
Describe your previous educational and professional experiences.
Neither a college degree nor a current job is necessary to join a coding boot camp, though both show the ability to follow through with a commitment. For education, list anything that might show your aptitude and ability to learn. If you did not receive a college degree, include completed courses. For professional experiences, a history of consistent employment and increasing responsibility are positive signals of your future ability to be a good employee.
Write a program that counts the numbers from 3 to 117. But for multiples of 3, add 3 instead of 1, and for multiples of 5, add 5 instead of 1. For numbers that are multiples of both 3 and 5, add 15 instead of 1.
Boot camp applications can include a programming challenge, like the preceding question from the Zipfian Academy application, which requires you to write code. You can usually write the answer in any programming language — understanding your logic is the most important part of the question. This specific question is a variation of a popular programming challenge called Fizzbuzz and can be solved by using a programming loop and testing each number for its divisibility by 3, 5, and 15.
List your LinkedIn profile.
After you start looking for a coding job, your LinkedIn profile is a critical piece of your application. Get your profile in shape now and update your profile to include an accurate employment history, descriptions of each employer and role, and the leadership positions or effect you had. See Figure 10-4.
Congratulations — you’ve been accepted to a coding boot camp. Before you officially join, you’ll need to complete the prework, which is work the boot camp assigns you to complete before you arrive, and pay for your education.
When learning a foreign language, much of the initial work is learning the syntax and vocabulary. Learning to code is no different, except mistakes in syntax or commands can result in your code not running at all. Coding boot camps assign you prework to expose you to programming languages and tools so you become more comfortable with how they operate. Depending on how quickly you progress, the prework can take 50 to 100 hours to complete.
The following topics are typically included in prework. I’ve included resources for you to learn more:
www.codecademy.com/tracks/web
.www.codecademy.com/tracks/javascript
, and jQuery course, at www.codecademy.com/tracks/jquery
.learnshell.org
. You might also want to read Zed Shaw’s Learn the Command Line the Hard Way, available atcli.learncodethehardway.org/book
.www.codeschool.com/courses/try-git
.sqlzoo.net/wiki/SQL_Tutorial
.www.codecademy.com/tracks/ruby
, and Rails with Code School’s Rails for Zombies course, at railsforzombies.org
.hackdesign.org
.The cost of a coding boot camp averages $10,000 and can be as high as $18,000. Paying the fee up-front is the cheapest option, but you may not have the savings on hand to afford the entire sum at once. Several options exist that allow students to pay the fees in installments:
www.lendingtree.com/quotes/personal-loans.html
.affirm.com
and meetearnest.com
.upstart.com
and pave.com
.crowdtilt.com
enable you to promote your campaign and collect payments for a 5 percent fee of total funds raised.At the end of your boot camp experience, you should have greater confidence, increased abilities, and a larger portfolio than when you started. You will have completed a difficult journey and may be tempted to take a break. However, your work is not over yet! You’ll need to network with employers, convince them of your newly learned skills, and go through the interview process to secure a job offer.
Hiring managers are turning to coding boot camps in increasing numbers. Startups are especially receptive to hiring boot camp graduates because the existing team is small, the need for talent is great, the formal procedures are few, and hiring an additional coder would have a great effect. The recruiting process becomes more challenging as the size of the company increases. Bigger companies have more established hiring processes, and some recruiters still use traditional screens, which shortlist applicants based on college, major, and GPA.
Whether you’re recruiting for a position in a large or small company, the basic recruiting strategies remain the same: Network to build as many personal relationships as possible, and put enough time into your final portfolio project to show off what you can do after a few months of intense preparation. The goal is to convince just one recruiter or hiring manager that you have the aptitude and the attitude to continue learning on the job at a fast pace. Your boot camp will help you by reviewing your resumes, helping you practice interview skills, and organizing events with employers, but you’ll need to do most of the work involved in setting up interviews and winning the job offer.