Dev Bootcamp: A Retrospective

From the day I started Phase 0 in late January to the day thatI landed my first job in early August I have lived and breathed programming and web development. Throughout my time at Dev Bootcamp and during the hectic job search that followed it I have had few chances to reflect and record my thoughts on this transformative experience. However, now that I’ve finally found gainful employment I can no longer think of a good excuse to not write an opinion piece on my experience. So, below is a thorough — but by no means exhaustive — dive into Dev Bootcamp, the coding bootcamp industry and the future of one of its graduates.

Why I Chose Dev Bootcamp

I graduated from college in 2015 with a degree in Information Systems and an insatiable need to move to the Bay Area for reasons both personal and professional. By sophomore year I had done a heel turn and left behind my hopes of becoming a doctor to dive into the world of business and technology; my post-college journey towards Silicon Valley was a sort of pilgrimage towards the epicenter of my chosen industry. Out of college I worked as a Data Analyst for a medium-sized Education Technology company. While I liked working in a technical role, I felt a lingering dissonance brought on by the thin yet very apparent divide between my own job and the duties of our Engineers. After spending day in and day out working alongside, but never directly with the people that built the software, I realized that while close to my goal, I wasn’t quite there: I wanted to be an engineer.

By late 2015 I was already applying to coding bootcamps. Because I came from a technical background I didn’t think it necessary to return to school for a full-fledged computer science program and I had been turned on to Dev Bootcamp and its competitors from several coworkers who went through such programs. I ultimately settled on Dev Bootcamp for two reasons: its standing as the creator of the bootcamp industry and its heavy focus on empathy and emotional intelligence. Dev Bootcamp’s role as the pioneer coding bootcamp insinuated, to me, that it had had ample time to perfect its curriculum and build a solid alumni network. Its highly-touted “Engineering Empathy” program spoke to me on a more human level and promoted the notion that I would be working with upstanding individuals — greater diversity, fewer tech-bros — sign me up.

The Experience, Summarized

Phase 0, which I started in late January, is a gateway, of sorts, into the pacing, workflow, and material of the rest of the program. This 9 week portion of the program focused on basic Git workflow, building command-line programs in Ruby and JavaScript, and DOM manipulation with HTML and CSS. Phase 0 is advertised as a method for easing students into Dev Bootcamp, wherein they can continue to support themselves through full-time employment while committing their free time bootcamp-related activities. Remote pair programming and guided pairing sessions with Dev Bootcamp mentors were the norm during Phase 0 and I often met up with several of my local cohort-mates in San Francisco for working sessions at Philz. While fulfilling in its own right, Phase 0 began to grow tedious by week 7 and I found myself itching to begin the on-site portion.

Phase 1 marks the beginning of the on-site portion of the program and is nothing short of a head-first dive into the deep-end of the programming pool (which is ostensibly filled to the brim with a muddy mixture of data structures, algorithms, and object-oriented programming). If that metaphor misses its mark I invite you to try your own. During Phase 1 you find all aspects of your life consumed by the bootcamp black hole, as we called it. This sudden ramp up in time and energy made me question just how much Phase 0 really prepared me for this increased commitment. Regardless, I, as well as my cohort-mates, allowed ourselves to be overwhelmed and we lost ourselves in the thrill of the journey. We learned about how to work with data structures and algorithms in Ruby, abide by the principles of Object Oriented Programming, and worship the brilliance of Model View Controller. The phase concluded with an assessment where we applied all of what we learned towards what felt like a standardized test of sorts. Quick note: Dev Bootcamp has a habit of drinking its own “alt-school Kool-Aid” so they’ll never admit that it’s an exam, but as my now elsewhere employed mentor put it, “Don’t kid yourself, this is an exam”.

After each phase, the teaching staff reviews student work (through a variety of Github pull requests as well as student performance on the end-of-phase assessment) and determines which students proceed to the next phase and which students repeat. Students can repeat each phase a maximum of once if necessary. I actually like this method and have come to respect Dev Bootcamp’s commitment to each individual student’s success. For me and the majority of my cohort-mates, Phase 2 awaited.

Phase 2 is notorious for having the steepest learning curve and the most daunting material. While Phase 1 focused primarily on programming and software design, Phase 2 was where we took our first deep dive into web development, and like most other endeavors at Dev Bootcamp, it was a head first dive indeed. In Phase 2 you build a solid foundation in web development by learning topics like internet communications protocols, TCP/IP servers, AJAX, and the use of server-side frameworks for routing, templating, and data persistence. During Phase 2 we familiarized ourselves with the lightweight, Sinatra framework and reacquainted ourselves with JavaScript, a language we hadn’t touched since Phase 0. While Phase 2 was by and large the most difficult, it was also the most rewarding. We began to build and deploy full scale web applications and learned how different technologies can work together to build a cohesive system. Like Phase 1, Phase 2 concluded with an assessment — don’t call it an exam. Unlike Phase 1, however, this assessment felt like a race against the clock and an exercise in mild sadism. It involved a few challenges including basic JavaScript, using AJAX to build a single page application, and a half-day portion that involved building an entire application from scratch. Phase 2 arguably sees the highest percentage of repeats as the material is denser and more esoteric. For those of us that moved on to Phase 3 we were more than happy to leave Phase 2 behind, but many of those that had to repeat were both frustrated and indignant.

By the start of Phase 3 we were all tired, both mentally and physically. As it turned out, Phase 3 would an exercise in paradoxes — it was both the most exciting and most disappointing aspect of Dev Bootcamp. Ostensibly, Phase 3 is where you are introduced to Ruby on Rails and where everything you’ve learned in previous phases culminates in a final project in which you and a team of other students put your newly acquired development skills on display. Phase 3 was structured to simulate a real working environment and we received week long projects where we had to complete a website for a client. Unfortunately, our exposure to Rails was fairly brief and I concluded my time at Dev Bootcamp without a high level understanding of the framework. For our final project, my group built a mobile application in React Native which helps Bay Area cyclists with navigation and trail information. We worked 10–12 hour days and limped into graduation, but we were proud and felt an extreme sense of accomplishment. By the time graduation was over, I was all too happy to collapse into a week-long semi-coma.

My Thoughts on the Curriculum (More Computer Science Please)

Now that I’ve sufficiently regaled you with my time at Dev Bootcamp, I wanted to share my thoughts on the program’s curriculum.

Dev Bootcamp bills itself as an immersive web development bootcamp that trains junior Ruby on Rails developers. I found the early phases of the program to be its biggest strength. Phase 0 is an excellent way to gently introduce students into the world of programming and give them a chance to decide if this is truly the path for them. With the combination of Phase 0 and Phase 1, Dev Bootcamp subscribes to the idea of the learning to program the hard way. The program doesn’t rush its students into web development and spends ample time on the fundamentals of programming and substantial time on computer science and software design theory.

That being said, I strongly believe that the program should have a stronger focus on computer science fundamentals. One of the common complaints about bootcamp graduates is that they lack a theoretical understanding of computer science and applied mathematics, thus preparing them more for a career as a proficient programmer than as a full-fledged software engineer.

This distinction is important. Many bootcamp graduates advertise themselves as software engineers, which is blatantly incorrect. The truth is that we require months if not years of supplementary education in computer science and software design before we can append the engineering moniker to our title. Without a stronger focus on computer science, programs like Dev Bootcamp do limit the long-term potential of their graduates.

Where Dev Bootcamp really shines is in its practical focus on web development. the material that we learned in Phase 2 provided me with a deep understanding of client-server communications, web programming, and web frameworks. By the end of Phase 2 we could build web applications complete with user authentication, dynamic views, and a scalable database.

Unfortunately, one of Dev Bootcamp’s most glaring oversights is in its advertising as a Ruby on Rails bootcamp. Ultimately, we only spend about a week on Rails and most of us left Dev Bootcamp with only a cursory knowledge of the framework. While I can build full-scale web applications in Rails, I still need a good amount of supplementary learning to fully understanding the framework’s inner-workings. Dev Bootcamp needs to spend more time on Rails itself, so that its students can develop a high-level understanding of web development from a professional standpoint.

There is one last thing I would like to address about the program’s curriculum and that is the chosen programming languages.

There has been much rumbling as of late about the mature — and some might incorrectly say, antiquated — nature of the Ruby on Rails framework. Many of my own cohort-mates expressed a desire to move towards a more JavaScript-centric curriculum, which was evident by the large of number of groups that based their final projects on JavaScript frameworks like React.js and React Native. I wanted to say that I do not agree with these sentiments. I applaud Dev Bootcamp for sticking to the Rails platform and not giving into the latest programming fad. While the recent addition of a post-graduate MEAN stack course was a welcome augmentation, I see no need for the program to blow up its curriculum.

The Staff

I was amazed when I first encountered the eminently talented teaching staff at Dev Bootcamp. Many of the instructors came from a wide variety of backgrounds and Dev Bootcamp has made a great effort to hire those that came from more traditional CS programs as well as less traditional paths. This, ultimately, helps the program bestow its view of diversity of thought on its student body.

Instructors serve to give lectures and breakout sessions and also assist with one-on-one issues. Additionally, they also serve as advisors. Each instructor has a randomly assigned group of students that they coach individually and provide more tailored services to. Your advisor is the person you tag in your Github pull requests and the one who reviews your major projects. Advisors will also help you with more intimate issues and attempt to aid you in your personal journey towards your new career path.

My advisor, Julian, was a godsend. As a Harvard CS major with years of industry experience, Julian had an answer to every question I asked. In fact, there was a point when I was convinced that there was nothing that he didn’t know. Julian didn’t just help me write more idiomatic code, he also had suggestions for what to learn after Dev Bootcamp and how to better improve my fundamental knowledge of computer science.

Dev Bootcamp also hires mentors to fill the gaps left by instructors including assisting students after hours, answering questions during assessments, and acting as advisors for final projects. Dev Bootcamp mentors are grads that are either employed or in the midst of their job search and I found their fresh knowledge of the Dev Bootcamp curriculum and material to be a huge asset to me and my fellow students.

Career Services

At the end of graduation, Dev Bootcamp graduates are highly encouraged to partake in career week, an intensive week of lectures, workshops and projects to prepare recent graduates for entering the workforce as developers. I found this week to be incredibly valuable and I give all the credit in the world to the Dev Bootcamp career developers for creating a career week curriculum that is interesting and essential.

However, the massive alumni network that played such a prominent role in attracting me to Dev Bootcamp in the first place ended up letting me down a bit in the long run. Reaching out to alumni was met with little success and I ended up striking out on my own when it came to finding a job. I suppose I was a little disappointed with how difficult it was to leverage that network. Ultimately, this cannot be blamed on the careers team as they cannot fully control how responsive alums are in their post Dev Bootcamp lives.

Additionally, while the careers team does a stellar job during career week and prepping its students for the long job search ahead, I feel that more could be done to actually secure grads with jobs. I graduated during a time when the careers team was piloting the new “Employ” platform and, so, I didn’t get a chance to really use the software to its full potential. I also found it difficult to reach out to employers through the Dev Bootcamp network and while there were always opportunities to meet with a developer advocate here or a willing engineer there, I made few meaningful connections with potential employers through the Dev Bootcamp network.

Fortunately, the careers team is extremely responsive and always iterating over their own process. The tools at their disposal will continue to improve and subsequent students will continue to benefit.

The Dev Bootcamp Culture

Dev Bootcamp’s culture is both its greatest strength and its greatest weakness. The program’s emphasis on emotional intelligence and respect towards your fellow students will help those that come from more privileged backgrounds — such as myself — appreciate their inherent advantages and work to make the system more equitable for everyone. Engineering Empathy brought me and my cohort-mates closer together and I truly believe that everyone was better off because of it.

However, Dev Bootcamp’s overly-friendly and new-age culture often veered into the realm of self-parody. Should you decide to enroll in Dev Bootcamp you will not go a single day without hearing, “Whole self”, a phrase that has been uttered so many times within the walls of that SoMa office space that I can no longer fathom its meaning. At times, my fellow cohort-mates and I found the forced bonding exercises — the Engineering Empathy, mandatory yoga, and daily stand-ups — to be distracting and draining. While we undoubtedly appreciated the sense of community and happiness that the staffers propagated as a means of offsetting the stress, it sometimes felt condescending and ridiculous. I’m simply suggesting that not everything needs to be sunshine and rainbows while we’re spending upwards of 80 hours a week staring at code and losing sleep over it. I realize that I am very biased in this regard and verging on curmudgeonly, but the constant goofiness took away from the seriousness of this undertaking.

My Fellow Students

Dev Bootcamp is a place where people of myriad backgrounds come together to achieve a collective goal. Some students, such as myself, came from a technical background within the tech community, while others were artists, writers, and baristas. This tapestry of personalities and backgrounds is commonplace at coding bootcamps and is one of their many strengths. Given our diverse backgrounds many of us enter the workforce with a different perspective on life and software development than the average software engineer. In fact, many companies, such as my own, have been turned on to this fact and have found ways to hire bootcamp grads into a plethora of technical roles that require a wide variety of skills.

I can say, definitively, that the students at Dev Bootcamp are its biggest strength. Yes, the teaching staff is top notch, and yes the careers team is incredibly dedicated, but my constant source of support, knowledge, and inspiration came from my fellow students. Whether I was pair programming on a challenge or working on my final project, I was amazed what happens when you put a diverse group of people together and watch them tackle creative, and stimulating challenges.

However, I’d be remiss if I did not offer at least one criticism in the name of balance. While many of us come out of Dev Bootcamp with an overwhelming case of imposter syndrome, a small yet apparent group finished bootcamp with, what I like to call, “bootcamp hubris”. After going from 0 to 60 in 18 weeks this newfound sense of knowledge and ability manifested itself in some unflattering ways among a few grads. You would occasionally work with a partner who refused to admit their ignorance, or perhaps you’d have a conversation with another student that was all too quick to consider themselves an expert in React Native. I think it’s important to be proud of how far we’ve all come, but we must all realize how much further we have to go. Fortunately, a little exposure to the type of experience and brilliance among senior engineers at any Dev Bootcamp grad’s future place of employment will likely bring them back down to Earth.

Where I am Now

As of writing this, I am working as a Solutions Engineer for a company called Optimizely. I was lucky to come across them during my job search and I found that my time at Dev Bootcamp was a major selling point. Though I’m not working on a core engineering team, I have come to realize that working in a more customer facing engineering role better suits my personality and aspirations. In the future I’d like to continue to explore similar fields like Solutions Architecture, Developer Evangelism and Product Management. One thing I know for sure is this, I wouldn’t be where I am now without Dev Bootcamp and for that, I am eternally grateful.

In Conclusion

Dev Bootcamp, as well as its competitors, is an imperfect solution to the high demand for technically-adept people in today’s economy. For those that want to make a career change or augment their current career, Dev Bootcamp is an excellent opportunity. The program’s focus on a rigorous, alternative education curriculum, as well as emotional intelligence seeks to educate and build the entire individual. I love this approach and it is why I chose Dev Bootcamps over other similar programs. Ultimately, Dev Bootcamp is an excellent start to your career as a developer, as long as you are honest with yourself — graduating from Dev Bootcamp is only the beginning of your journey. Fortunately, The program is there to support you every step of the way.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.