2014-04-03

Co.Labs

Do Coding Bootcamps Produce Inferior Engineers?

We talk to six graduates who landed jobs at major startups to see if bootcamps can really get you a new career.



Over the last couple of years, highly selective coding bootcamps like Hackbright Academy, Hack Reactor, and Hungry Academy have graduated bona fide software engineers into the coder job market. But some naysayers claim these "coding bootcamps" leave students with inferior skill sets. We spoke to some hacker school alums to find out the realities: Is this a gateway to a lucrative new field or just a conduit for hobbyists? Can you really bootcamp your way to a new career?

An Art Major Goes To Uber

Ingrid Avendaño studied art for a while in college until she changed majors to electrical engineering. But she didn’t get a good coding background as an undergrad. Ultimately, she dropped out.

Her coding interests brought her to Hackbright Academy, which exclusively enrolls women. For her final project at the bootcamp, she chose to create a compiler, a program that translates code into a real programming language. She quickly accumulated detractors who thought she couldn’t do it.

“That’s all I really heard from people: ‘Compilers are really hard. You probably can’t do one in five weeks. And if you do it, it’s probably not going to be that great,’” she says.

It was all the more troubling that she didn’t completely understand what a compiler was at first. “I didn’t understand why I needed certain tools to write a compiler.”

After a week of poking around online at other people’s explanations and examples, she got a boost from her Hackbright mentor, who stayed up with her until one in the morning one night. “I remember the moment when [my mentor] finally explained it, and I freaked out. I was like, ‘Thank you so much!’ And I went right to coding,” says Avendaño.

“Compilers are great because they can compile languages together, so you can write a new programming language. For me, I interpreted it as a language that could be understood by a computer, and that was awesome,” says Avendaño. “I actually made a really kick-ass compiler!”

Just after graduation, Avendaño landed her current software job at Uber in San Francisco. Now, she works on a team where she uses Python and JavaScript to build her own application for Uber to use internally. “I think that’s pretty cool because it isn’t like I’m just fixing little bugs; I’m actually building a tool from scratch,” she says.

SurveyMonkey Promotes An Accountant To Software Engineer

After having worked on the administration side of SurveyMonkey’s business, Dee Gill started to take notice of what her software developer-colleagues were doing. When she expressed interest in attending a coding bootcamp, her manager specifically recommended Hackbright.

SurveyMonkey put her through hacker school with the intention of hiring her back as an engineer. “They sponsored me through the whole process,” she says.

After the three-month program, Gill’s supervisors asked her to create an entire application to automate some of the finance team’s tasks. “I built it from scratch, and I had to build a new service within our architecture,” she says.

All the Python she learned at Hackbright paid off. “Having it work so well, and being able to co-exist with all of the other code and services we have in production in our architecture at SurveyMonkey was probably the proudest moment I’ve had so far,” says Gill.

One of Gill’s former finance pals was thrilled. “He was like, ‘You saved me so many hours and hours of work!’” Gill says.

How A Data Analyst Became A Data Scientist

John Dvorak had a solid data background before starting the curriculum at Hack Reactor. But all of the JavaScript he learned in that intense learning period gave him what he needed to develop his own data tools, making the transition from analyst to scientist. Now, Dvorak is lead data scientist for NodePrime, a data analytics and management company for hardware. He manages one other data scientist, but three more will soon join his team.

“I’ve been kind of dividing up data scientists into two groups. There’s the group that is analysts and another group that is developers. The difference between the two is that analysts generate reports, one-off pieces of information that just answers questions. And the developer side of a data scientist is they develop data products. Things that repeatedly give you more answers, something that keeps asking questions,” says Dvorak.

At NodePrime, he’s working on a front end application for general users. “At the moment, I’m working on a project that will make it easier for laypeople to analyze very large quantities of data about how their data centers are running.” It’s all coded in JavaScript.

And this November, he’ll give a talk at a conference on how JavaScript is a powerful language for computation, much in the same way that the R language is.

Their Numerous Side Projects

Coding bootcamps live up to their name mostly because they demand long hours from their students. But the students want to be there. In general, the type of student the schools accept is excited about solving technical problems, and it shows in their extracurriculars.

Melanie Gilman got hired right away at LivingSocial after completing her training at Hungry Academy and is now in her second engineering job at Thoughtbot. At Hungry Academy, she built an entire application in the Ruby programming language that stands out as her shining moment.

“I was actually able to extract a little piece of what I had done in that project into a small open-source library. And I published a Ruby gem. So that was the icing on the cake,” Gilman says.

A couple of years ago, Gilman spoke at the Frozen Rails conference and has also served as a coach for Rails Girls workshops.

Kate Jenkins, a Hack Reactor alum, headed a team of other Hack Reactor alumni at a recent hackathon. They built an app for hikers to auto-blog their itineraries. “We used a bunch of technologies we hadn’t used before,” she says.

Now, Jenkins is a software engineer at Ejenta, a company that uses artificial intelligence to help projects move along. NASA is a customer.

Jenkins tries to do a hackathon about once every month. “One of the cool things about hackathons is that you get a really low commitment opportunity to explore all these amazing, new technologies that are just blossoming all over the place, she says. “So, after that hackathon, we used D3, the visualization library, to plot our trail information. And when I went back to Ejenta, I was able to start using D3.”

And Uber’s Avendaño has created an online learning tool that outputs computer gate schematics according to logic expressions that a user types in. “I’ve been keeping analytics, and it’s really nice knowing that a good number of people are actually using my website,” she says.

Image: Flickr user Dave Herholz

Understand The Big Picture, Then Graduate

Getting through hacker school did not only entail picking up a few HTML goodies or JavaScript structures. Graduates came out understanding the big picture, the overall layout of how different coding technologies fit together. For many grads, this was the “Aha!” moment during their training that carried them through to the end.

“The main challenge for people was getting into the mindset of debugging, to get unstuck and familiarize oneself with the technical landscape, break down a problem,” says Shawn Drost, cofounder of Hack Reactor.

With her electrical engineering background, Avendaño naturally looked at new information as pieces of a puzzle. But ramping up to planning out an entirely new tech project was her biggest lesson at Hackbright. “It is really difficult to have that intuition,” she says.

When Avendaño started her compiler project, she began to see how all the pieces of what she learned fit together with her mentor’s help. “When I figured out how that was actually done on a technical level, I felt like it opened the doors, and I actually understood a lot more things just in general,” she says. “I was like, ‘Oh, I don’t have to reinvent the wheel!’ And I could understand what other people had done better,” Avendaño says.

Dvorak had the same issue as Avendaño. “I think the biggest training was the culture and learning how to think in the way that people who are already proficient in the task think,” he says.

He gives an example: “Like, if you hang out with a lot of plumbers, you’re going to suddenly get a kind of sense about what types of problems to look for and what types of ways to think about a problem that you can’t really teach but you can pick up by just talking to these people and hanging out with them. And that is definitely one of the largest things learned by just being with these experienced programmers.”

Struggling With Status

“Software development is a series of struggles. The machine is constantly telling you that you’re stupid. You have to be just the right amount of egotistical to decide, ‘No, I’m going to tell you what’s what, machine. I’m going to conquer whatever your error messages are,’” says Jeff Casimir, cofounder of Hungry Academy and business manager of Jumpstart Lab.

Drost agrees that confidence is important. “[The students] are dwarfed by the challenge of imposter syndrome,” he says.

Gill had a lot of friends in SurveyMonkey’s software engineering department before joining the team, so she knew the kind of work they put out. “One of the biggest fears was producing the same quality work,” she says, realizing that it happens to every engineer.

Thoughtbot’s Gilman says, “It is really hard when you’re in a class with another 23 very bright people, some of whom have a lot more experience, some of whom are really, really bright, to feel like you really know what you’re doing, when it seems like everyone around you is so far ahead.”

But Gilman’s work in the professional arena has beat back her doubts, especially her work on a recent project. “[My mentor at Thoughtbot] said if I hadn’t been helping him out with it, it wouldn’t have been as easy. I’m not just sitting there, working on fluff,” she says.

And Ashley Lorden, a software engineer at Lyft, says her experience at Hackbright lessened her anxiety. “For me, it was getting accustomed to being in that situation where I had to learn a new way to work, a new vocabulary, and prove myself that was scariest. But going through that with a cohort of other women in the same position was an incredible experience.”

These hacker schools pick the most intelligent and motivated students whom they know could deal with the material. “The least educated woman in my class had a master’s degree from Oxford,” says Jenkins of her time at Hack Reactor.

There is nothing easy about mastering a technical subject that is constantly evolving within a few months. The caliber of the students who graduate from these coding bootcamps is evidence of how much hard work both the schools and the students put in to continue to shape the tech world.

[Image via Wikipedia]




Add New Comment

3 Comments

  • Coding bootcamps don't produce any kind of engineer, they produce programmers or coders or developers or whatever you want to call them. In many countries "Engineer" is a legally protected title.

    I wouldn't say first aid courses produce "inferior doctors".

    I don't mean this as any kind of slight on non-engineer software developers, I am one.

    I think as many people as possible should know how to write code, and you don't need the theoretical computer science knowledge to get useful things done. But sometimes you do need someone with that knowledge.

    Also, as someone who frequently interviews and hires people to write software I can tell you that people are generally expected to know the difference between various job titles in the field they are trying to work in, not knowing them just signals a lack of effort.

    The media in general does seem to just call anyone involved with computers whatever term they feel like, but I'd expect better from fastcolabs.

  • Great article highlighting some of those student stories Tina. It's important to note that not all bootcamps are equal and even bootcamp grads from the same program are not equal.

    It's a little disappointing to see Dev Bootcamp not mentioned in this article as our graduates went on to start Hack Reactor and Hackbright. Not to say they aren't both doing great work, but it's worth noting where the term "coding bootcamps" came from.

    One thing that's not mentioned in the article is the importance of culture fit and communication skills for various bootcamp graduates. As Google's research has shown, emotional intelligence (not IQ) is the leading indicator for people who do best in their engineering organization.

    Our Engineering Empathy curriculum helps prepare developers for the elusive "soft skills" mentioned in this article - http://www.fastcolabs.com/3028575/a-practical-guide-to-becoming-a-whole-developer

  • Markus Pope

    I like this article. I just have one comment, and this is opinion. I believe that it's inferior coders that produce inferior coders. Coding is like anything else, if you have a good mentor, that results in a good coder. If you have a bad mentor, and the student listens to the biases of the teacher and incorporates bad habits into their own behavior, the result is another inferior coder.

    An example of an inferior code is one that doesn't understand the compromise between code, time, quality, and the revenue requirements of the people selling your craft. That lack of understanding seems to create "attitudes" that are handed down from coder to coder.