Coding Bootcamps: Here’s What You Need to Know
As many of today’s industries become increasingly reliant on the internet and other digital services, it’s no surprise that the rise in demand for skill in these areas has led to an increase in hype and interest in becoming a software developer. The US Bureau of Labor Statistics has determined that the employment of software developers is projected to grow 17% from 2014 to 2024, much faster than the average for all occupations. Enthusiasm for such roles has even trickled into pop culture—TV shows such as Silicon Valley and the blockbuster hit The Social Network feed into the idea that developers and hackers have a certain “rockstar status” in society. While once referred to simply as geeks and nerds, these days heads turn upon hearing that someone works as a developer, whether it be for tech giants such as Google or Facebook or for a start-up building a new app or platform.
With such a jump in demand for programming skills, the educational sector has tapped into the opportunity to provide in-person and online courses to learn computing languages, from Javascript to Ruby. Coding bootcamps, where attendees with little to no programming knowledge study it intensely for 12+ weeks, are on the rise. Robert Duffner, who previously worked on the Developer Relations team at Salesforce, says, “Businesses need programmers now. They don’t have the resources to groom new programmers, and non-techies looking for a career change don’t have time to earn a four-year degree. Enter the coding boot camp.” According to Techcrunch, bootcamps are “now backed by hundreds of millions in VC funding, will educate about 30,000 students in 2016, and rake in just shy of half a billion in tuition fees.” Whereas the profession was almost unheard of six years ago, now it’s not uncommon to know of a friend or acquaintance who is considering or has completed such a program in order to jump into this rapidly-growing field.
Although there is an explosion of programs, there are a few important considerations that developers and recruiters for technical roles think prospective coders should understand regarding the realities of these jobs, as well as the different ways to go about gaining the relevant technical skills.
Upsides to a Career in Software Programming
High Entry-Level and Median Salary
Most people are already aware of the positive aspects of a career in software development, one being the high starting and median salaries. The median annual wage for software developers in the United States was $100,690 in May 2015 (Bureau of Labor Statistics). In our age of a rapidly changing economy and fluctuating unemployment rates, especially for young people, it’s no surprise that people would find job security in the idea of becoming a developer.
Flexibility and Location Independence
A 2015 Gallup poll found that in the U.S., telecommuting for work climbed to 30% to 37% over the course of a decade. The term “digital nomad” is being used to describe the growing class of people whose skills allows them to be based anywhere in the world as it’s all or mostly digital. Many developers, whether they work on a freelance basis or full-time, don’t necessarily have to be based out of the company’s office or even in the same city or country for that matter. For people who like to work on their own time from anywhere, this industry offers unprecedented mobility and flexibility.
Creativity and Continual Learning
Coding and development tends to have a large passionate community of practitioners who sincerely enjoy the challenge and creative elements of building products and writing code. Simply searching Meetup.com for Javascript gatherings or Hacker collectives will provide an endless list of developer groups located worldwide. People who enjoy this kind of work can find it to be extremely rewarding, because they are tasked with creatively building technology.
Preparation for the Real World
Anisha Ramnani is a 25-year-old woman who works as a software engineer for a company based in New York City. In 2013, she graduated from a small college upstate, though found the education she received not so helpful when it came to applying it to actual jobs.
“When you’re studying at a liberal arts school you don’t really have a concept of careers,” she says. “You study a subject but not how to apply it. I studied abstract mathematics, which has few practical applications in the real world.”
Later in 2013, she received a scholarship to attend the Flatiron School, a bootcamp program based in New York City. Previously, she had worked for a startup and her boss had signed her up to learn how to program with Python on Thinkful. “He thought the best way to get into tech was a knowledge of programming, so he was a high advocate of it.” After graduating from Flatiron (which was a 5 month program), Anisha got hired at her current job at Hoefler & Co, where she’s currently working on an API built in PHP. While she originally started programming in Ruby, she’s had the opportunity to expand her programming knowledge by working in a different language and framework. “I’m grateful that I have been able to create and build interesting products at Hoefler & Co.,” she reflects.
An increasing number of young professionals are following Anisha’s lead and turning to programming as a means of securing a good job upon graduation.
The More Challenging Aspects
Maya Prohovnik in Brooklyn, New York taught herself to code, though she wouldn’t call herself a professional programmer. She heads up Operations at a startup called Anchor, and her work centers mostly around people and product. Having worked in hiring for technical roles over the past six years, Maya has seen the rapid change and shift in the educational backgrounds of applicants applying for technical roles.
“Now, I’d say less than half of people applying for engineering jobs are coming from computer science programs at universities,” she observes.
It’s now more common to get applications from either self-taught developers or people who have gone through bootcamp programs such as Fullstack Academy or Dev Bootcamp. Having been in this field and seen firsthand the hiring processes and career trajectories of developers, she has a few thoughts on what people should know about these positions before committing to enter the field:
Intensive Nature of the Work
While coding can be interesting and meaningful for many people. it can feel arduous and stressful. When it comes to deciding to make programming your life’s work, Maya stresses the need to be “passionate about it, otherwise it will be hard to succeed. This kind of work requires a lot of focus, dedication, time, and continual learning.” In a blog post titled Before You Learn to Code, Ask Yourself Why Maya argues that if you lack the passion needed for such positions, “you’re likely to join the ranks of people who quit months in when you spend a week troubleshooting and realise your code didn’t work because of a missing semicolon. In fact, the whole concept of learning to code—where there is an endpoint, where you can say ‘I have now learned to code’—feels off to me. None of the developers I know ever set out to ‘learn to code.’ They wanted to build something, and they figured out what they needed along the way. And they chose to keep doing this for a living because they enjoy the challenge, and they enjoy creating things. I’d argue that unless you’re solidly in this camp, you should probably think hard before committing to a career in software development.”
Less Human Interaction
Though this may not come as a surprise, a job that requires one to be behind the computer most of the time doesn’t equate to much in-person human interaction. Coding bootcamps are usually social classroom environments where certain assignments may require students to work together to solve a problem. Although that can be said about teams of professional developers to some extent, people might have a hard adjustment going from such programs to a more solitary position in an actual development job. That said, there are ways to pursue a social dynamic to programming outside of the work itself. For example, local developer meetups are a good way to network and feel less alone in the industry.
How to Tackle a Career in Programming
Have a Specialty But Be Adaptable
When deciding to get started learning web development, it’s advisable to take some time to conduct preliminary research about what the associated languages, terms, and jargon mean. Maya advises that one of the first things that would be helpful to figure out is if you want to learn front-end, back-end, or both (otherwise known as “fullstack”).
Front-end web development is making things one sees visually on a website or app. Everything that you see when using the web is built with languages like HTML, CSS, and JavaScript all being controlled by your computer’s browser. These include buttons, fonts, transitions, sliders, contact forms, etc.
In order to make the front-end possible and to store the information that you put in the front-end elements, back-end development is needed. Back-end development consists of three parts: a server, an application, and a database. “A back-end developer builds and maintains the technology that powers those components which, together, enable the user-facing side of the website to even exist in the first place,” notes online learning provider Udacity.
When it comes to which language to learn, coding bootcamps tend to focus on web programming languages such as PHP, Ruby, and JavaScript. That said, to be a good developer Maya believes that “you should be language-agnostic; you should be able to use anything.” She gives the example of her husband, a developer who had to learn how to use Perl, a relatively uncommon language these days, when he switched to a new company. Not knowing Perl specifically ahead of time wasn’t a problem for the company; they knew he’d be able to pick it up. After graduation from coding bootcamps, it’s expected that developers will continue to self-teach other programming languages—so you should focus on learning the fundamentals of coding, rather than focusing on perfecting your use of one specific language.
Decide Between Bootcamps and Self-Education
Although coding boot camps can seem like the perfect solution to the urgent demand for developers, there are several critical realities to keep in mind, a major one being cost. Scholarships are available (with a focus on women, people of colour, and veterans), but bootcamps generally cost students anywhere between $8,000 and $18,000. That is less than a 4-year degree, but as Maya advises it’s a hefty price tag to pay if you aren’t sure you have the passion for the job: “I wouldn’t suggest paying to learn how to code unless you already know that you have at least a baseline interest in programming and you’ve figured out what you want to get out of it.”
If you’re an independent learner who doesn’t need a social, structured learning environment, you may be better off learning online for free and self-teaching. As Maya notes in her post, “Code school is being marked incorrectly as the way, not a way to learn to code.” She lists several places to start learning online in her blog post.
Additionally, the unstructured element of learning on one’s own is not unlike the actual work of a developer—these jobs will require employees to build things that don’t necessarily have a clear-cut path and require experimentation. Maya warns that prospective attendees should know that the experience of a boot camp can be quite different from the reality of a job in the industry. Although mentorship and guidance are more likely to be continuously provided at a larger corporate company, most places (and particularly startups), will hire developers expecting them to be able to problem solve with less guidance or support.
Maya discusses this dynamic in her post: “Bootcamp programs give you a specific problem and have people walk you through the problems. The job (as a developer) itself requires a lot of creativity, experimentation, and a lot of frustration. That’s also why it’s dangerous to go straight from the bootcamp to the job.” Maya therefore suggests taking time after graduating to figure out how to make something from scratch on your own and build your own side projects. From a hiring standpoint, she values seeing evidence of this in resumes over completion of a boot camp when it comes to hiring for positions.
Know How to Vet Bootcamp Programs
Although there have been several cases of governing bodies for post-secondary education attempting to crack down on programs, there still isn’t an official regulating or certifying body for boot camps. With many programs guaranteeing entry-level jobs paying $90,000 a year after a few short months of training, there is room for potential organisers to take advantage as the field grows.
Darrell Silver, CEO of Thinkful, observes in a TechCrunch article that “the only way for students to make a wise decision about how to learn is to understand the types of outcomes, peer groups, and time commitment each type of learning offers and promises.” Maya’s advice? “Find someone who actually graduated from the programs you are looking at. Ask them if they believe they are a good developer and if they feel like they know what they are doing.” She also advises prospective students to be wary of programs whose instructors are recent graduates of the program: “It’s better to have experienced developers who know how to fill in the gaps and give context about what’s missing, not just repeat the details they were given in the same program.”
Be Realistic and Honest About Your Skill Set
Whether you attend a bootcamp or self-educate, it’s important to keep in mind that you can’t fake programming expertise.
“You can’t speed up the equivalent of 10 years of practice,” says Maya. She gives an example of a resume she reviewed that stated that after graduating from a bootcamp, their knowledge was equivalent to someone with 8 years of professional, full-stack programming experience. Even in comparison with individuals that have 4-year degrees in Computer Science, she says, “I would never consider someone who’s just started programming a few months ago to be anywhere near as proficient or qualified as someone who’s graduated from a four-year college with a computer science degree.”
When graduating from bootcamp programs, people can make the mistake of over-promising and under-delivering in their new jobs. Maya advises graduates from these programs to be up front about where they are in their learning process and not to be afraid of saying that they are still learning. In Anisha’s opinion, “The selling factor for a bootcamp grad is ‘Look how much I learned in three months. Imagine how much I can do in six.’” She also acknowledges this culture of continual learning, “In a bootcamp, you are learning a very particular skill to get an entry level job. The path to learning does not end when you leave the bootcamp; you will have to keep building your skill set. Programming languages are always changing and there are gaps in knowledge. Bootcamps gives you the basics and the overview but you need to fill in the rest.”
——–
The tech world’s great need and ability to hire for programming jobs is a good thing for the global economy and employment opportunities. As the educational training market for these roles continues to develop and expand, each individual job-seeker must use their best judgement, knowledge, contacts, and research skills to find the most suitable programs and pathways to best prepare them for this growing industry.