This guide is all about software development bootcamps, including how they work, who the intensive bootcamps are designed for, and how to get started.
The term ‘bootcamp’ conjures up images of intensive physical training, where would-be soldiers overcome obstacles in a fast-paced bid to prove they have what it takes to join a specialized team. Software bootcamps offer a similar service, preparing potential programmers by developing hands-on functional capabilities in participants as quickly and intensively as possible.
While there are a variety of software development bootcamp programs, all bootcamps share a few of the same basic goals. The objective is to orient new entrants within a technical field, equipping amateurs with the basic tools they’ll need to succeed (or at least to slowly fail upwards). Any software soldier who can survive an intensive bootcamp will be seen by prospective employers as a safer bet, having been tested already in a rigorous and results-oriented environment.
But is a bootcamp the right development path for you? Who are these bootcamps designed for, and are they taken seriously by hiring managers?
To Bootcamp, Or Not To Bootcamp?
As a budding software developer, a bootcamp is a way to prove the professional potential to future employers while refining those all-important technical skills. This means that the best candidate for a bootcamp is a professional with a reasonably good idea of where they want to be career-wise but not nearly enough hands-on technical experience. There are two general groups of professionals who benefit most from these short-term and intensive software development programs.
The first group is the early professional, who typically has a fair amount of theoretical knowledge but is quite limited in the actual technical experience. For the early professional, a bootcamp offers the opportunity to build real-life applications alongside other industry professionals. Unlike a traditional classroom, bootcamps are designed to always drive towards building something (as opposed to learning theory). This is a necessary practice for many, if not most, new developers.
The second group of professionals who benefit from these bootcamps is established to acquire a new skill or capability, ideally one that modernizes the technical abilities. Indeed, one of the most frustrating aspects of working in tech is the ever-evolving nature of the field. New tools and technologies are constantly emerging, often changing the best practice in software development. Bootcamps are a great opportunity for established professionals to stay ahead of the curve and anticipate the changing needs of their clients.
Whether amateur or established industry veteran, the main benefit of a good bootcamp is learning new things (the hard way) without incurring the commercial consequences of making mistakes. From this perspective, a bootcamp is an environment that simulates real working conditions in a way that allows the new developer(s) to experiment and learn through iteration. It’s always better to test out new knowledge and skills in a simulation, practicing the real-world skills while minimizing the consequences of messing up.
A useful way to view one of these bootcamps is like an onramp for the software highways, occupying the space between theoretical learning (like traditional university degrees) and the professional application of that knowledge. Due to the huge variation in software development languages, tools, and philosophies, the popularity of bootcamps has been consistently increasing. This allows a path to apply computer science knowledge in a tactile and pragmatic organizational function.
What to Expect
This path to applying computer science knowledge in a software development context is all about observing organizational trends and skill requirements and translating those demands into a (hopefully) fairly short hands-on curriculum. As the onramp between theoretical knowledge and professional application, a prospective bootcamp student can expect a brief review of the basic theory, followed by projects which turn theory into practice.
To zoom in a bit further on a typical curriculum, it’s useful first to set expectations regarding the duration of a bootcamp program. Most programs will be between 12 and 24 weeks from start to finish for a full-time student. Part-time students can pace themselves, with an average of between 20 and 40 weeks to complete a program. This relatively short timespan results in a distilled and action-oriented curriculum focused on building a finished product that can act as a hiring portfolio for the student.
The next key feature of a software bootcamp is the technical objectives, usually described through the tools and programming languages used to achieve these goals. This is a key factor for any prospective students, who should know what profession they are pursuing qualifications in and what prerequisite skills will be required to participate in a bootcamp targeting that profession. This is often a technology stack, a combination of tools and technologies geared towards producing a given solution (such as MERN or LAMP).
To provide a sneak peek of a typical curriculum, let’s look at the broad strokes of most general software development bootcamps. While all programs will have their own approach, and some are highly specialized, typical curricula in application development will focus on some version of the following three-tier structure:
- Application tier: Using Python, PHP, Ruby, and/or Java, developers will design the logic which processes the interactions from the presentation tier. This allows the software to be reactive based on programmed rules.
- Database tier: Using some form of SQL or a third-party infrastructure like Amazon Web Services (AWS), back-end developers and database managers focus on how the organization stores and manages incoming data.
As all of these core competencies are best tested in practice, the delivery of a worthwhile bootcamp program will be the full development of a simple application. The curriculum may be offered online or onsite, with some even including hybrid options with a bit of both.
Online and Onsite Software Bootcamp Options
One of the most valuable distinctions of a software bootcamp is the possibility of these programs being offered entirely online. While it’s up to each individual whether or not they learn effectively through an online classroom, it’s always good to have the option when necessary.
Of course, working onsite with a certified instructor and a classroom full of experienced coders is a precious experience. In many cases, hybrid programs are offered to try to capture the best of both worlds. This typically means 8-12 weeks of work from home, with another 8-12 weeks participating in live classrooms and discussions with experts and other students. Onsite and hybrid approaches that include classroom learning typically have a slightly higher price tag than strictly online programs.
Whether you choose an online, offline, or hybrid route, the next challenge is determining which of the many program offerings are of high quality both in curriculum and reputation to prospective employers. A few of the most popular options are listed below:
Most prospective students immediately notice two distinctive groups within these options: traditional universities (MIT, Rutger, UC Berkeley) versus newer edtech companies (Actualize, Hack Reactor). The primary tradeoff here is that traditional university programs carry some extra reputational weight, which is justified by their highly qualified faculty and staff who contribute to the programs. Of course, this will also be built into the price. The edtech companies have the advantage of less bureaucracy and thus more flexibility and adaptability in program design.
Bootcamp Costs and Benefits
When considering any personal development investment, it’s always a good idea to compare the program’s cost in the context of the gradual payoff over time. The typical software development bootcamp has a median cost of around $12,000. That isn’t per semester or credit hour, but the total cost of the entire 12-24 week program. Assuming the student is successful, it is simply a one-time cost and a fairly short time commitment.
There is plenty of variance between program costs, with online programs like MIT xPRO clocking in at $6,332 while onsite/hybrid programs like Actualize charge $16,000 for the full program. There are also many programs students can try out which come in well below the $5,000 mark, which can be explored here. As these are significant investments of both time and money, exploring the curriculum and doing one’s due diligence is well worth the time and effort. The next step is to consider if the payoff will justify those costs.
The true upside to moving one’s career into computer technology and software development is the high salaries and the equally high demand for talent. As of May 2020, the average salary in computer and technology services was over $90,000 per year. In the United States, this is over double the median national salary and an excellent path to financial freedom and professional development. As technology is always adapting and evolving, careers are fairly future-proofed so long as the professional invests consistently in learning the latest trends, tools, and technological norms.
Bootcamps will likely pay dividends long into the future for the dedicated professional. There are also three very useful ways to minimize the risk of the upfront investment. These include scholarships, loans, and income share agreements:
- Scholarships: Simple and familiar, there are countless scholarship programs out there (if you can find and qualify for them). The trick here is to research extensively and focus on identifying scholarships that match your current situation. Here’s a quick list to get you started.
- Student loans: As most bootcamps qualify as investments into your own education, there are quite a few low-interest student loan options to consider. MIT xPRO claims student loan payments are as low as $25/month, with most programs working collaboratively with lenders such as Sallie Mae to help students handle tuition costs.
- Income share agreements (ISA): The most interesting financing option is an income share agreement, such as is offered by Hacker Reactor. This is increasing in popularity across many different technical schools, where the training organization puts their money where their mouth is, betting on the success of their students as a result of the program. Tuition is paid back based on one’s ability to pay relative to their new-and-improved salary after completing the program.
As a final suggestion for those already employed in tech fields, many employers will happily invest in the skills and competencies of their best people. Talk to your employer about professional development opportunities, and you may be surprised how much they’re willing to help out. Of course, it’s always respectful to bring those skills back to the company that helped you acquire them!
What types of job opportunities can a successful student expect to find? The answer to that can range quite dramatically, from a modest web developer all the way up to the CTO at a Fortune 500 firm. Let’s walk through a few of the more common roles a decent developer might pursue:
- Software Developer: Design, write, and develop software programs and applications. Median salary of $110k/year.
- Computer Programmer: Write, modify, and test scripts and code which allow these software programs and apps to run properly. Median salary of $90k/year.
- Full-Stack Engineer: Full-stack developers can build both front-end and back-end solutions and typically focus on full end-to-end development projects. This is a great career for moving into an executive position. Median salary of $100k/year.
- Front-End Developer: Recently evolving into fields such as user interface (UI) and user experience (UX), a front-end developer specializes in building the customer-facing components of a given app or web development project. Median salary of $120k/year.
- Database Administrator (Back-end Developer): In the era of big data, there are increasing demands for good database engineers who can interface with third-party software solutions such as AWS and Azure. This role is all about managing, storing, and retrieving massive data streams. Median salary of $100k/year.
A software development bootcamp is easily one of the best investments a professional can make into their own development, but it’s no easy road. Be prepared to put in the work, as bootcamps are all about learning through doing the job. There is no better way to learn than through experience, and very few things are worth learning as software development. The real question is, do you have what it takes?