Here’s what I learned from 700+ hours in a coding bootcamp

Written by stll.chung | Published 2017/07/14
Tech Story Tags: programming | learning | learning-to-code | web-development | motivation

TLDRvia the TL;DR App

I just completed the Grace Hopper Program at Fullstack Academy this week. It was intense, and there were plenty of moments of self-doubt and anxiety. But it has also been one of the most empowering and formative experiences of my life. Here is a bit of what I’ve learned from my experience.

1. You can learn a LOT in a short amount of time, given the proper guidance.

Before joining the program, I was learning to code by myself on and off for a few months. I would have a few short bursts where I would study daily, only to lose momentum when work or life got in the way. Then I would have to play catch-up trying to remember what I had forgotten during the gaps. I would beat myself up about it, thinking that it was my laziness that prevented me from making progress.

The truth is, there’s a reason why teachers are so important. Learning to code is HARD, especially when you are working full-time, and when you are cobbling together a curriculum for yourself from free online resources. Codecademy was great for a gentle introduction to HTML and CSS, but going from their tutorials to building and deploying a responsive website was a big leap. And as a complete novice, it is also hard to know what to focus your studies on, and in what sequence. I wasted a lot of time switching between tutorials, unsure of what would be the “best” resource.

Originally Hyperbole and A Half

Ultimately, what got me on the right track was freeCodeCamp. Their curriculum’s emphasis on building projects was exactly what I needed; I finally began learning JavaScript in a way I found fun and rewarding.

FreeCodeCamp helped me get to a point where I was ready to leave my job and dedicate myself to learning programming full-time. I considered continuing to study independently, but ultimately I decided to attend a bootcamp for two reasons: 1. Accelerate my learning so that I can jumpstart my dream career and 2. Be in a supportive community of like-minded individuals. Of course you can achieve these things through self-study, but again, it is more challenging. And I was able to attend a bootcamp with limited risk thanks to Grace Hopper’s deferred tuition model.

The pacing of Grace Hopper/Fullstack Academy’s curriculum was daunting — in week one we dove straight into prototypal inheritance in JavaScript, and by the midway point of the program, we built web apps using Express, PostgreSQL, Sequelize, React, react-redux, and webpack. But it was all possible thanks to the focused curriculum and the tremendous support of the instructors. They set the bar high, but helped students every step of the way to get there.

2. Community is essential to learning and success.

Studying in the mornings and evenings before and after work was rewarding but lonely. On the other hand, being at Grace Hopper was kind of like an extreme version of nerd-camp. Everyone was passionate about programming, regularly sacrificing evenings and weekends for study, and we got to know each other very well after spending 8+ hour days with each other 5 days a week.

This was exactly what I wanted — people who I could share my frustrations and my victories with, people with diverse backgrounds looking to make a change in their lives, people who genuinely care about what they do and the impact they are making on the world. I was lucky to be part of a cohort of fierce, funny, weird, and authentic individuals, and studying with them gave me the motivation to work harder and believe that I could become a programmer. I made friendships that I will cherish for years to come.

3. Don’t underestimate the value of self-care and work-life balance.

Photo by Lesly B. Juarez at Unsplash

The best code I wrote during the program happened when I was well-rested and energized. This sounds like a no-brainer, but is easy to forget with all the assignments, tests, and my sometimes obsessive perfectionism. I grew up being the A+ student in the classroom, so it was hard accepting that during the program, I might not fully grasp a concept until several workshops later (which is actually just a few days to a week — eons in bootcamp time!).

In the end I had to learn to trust the process, and pry myself away from code to live other parts of my life. Going on long walks, having dinners with friends and family, and playing video games provided much needed decompression time. I can’t count the number of times I struggled with code at night, only to wake up the next day and immediately figure out the solution, all thanks to getting a good night’s rest.

4. You cannot be an effective programmer if you cannot communicate your ideas.

I know that without attending bootcamp, I would not have gotten nearly as much experience talking about computer programming concepts. The curriculum requires that students pair-program nearly every single day, as well as give three presentations — a technical lecture, a short presentation of our hackathon project, and a group presentation of our capstone project on Fullstack Academy’s Demo Day Live.

I remember on the first day of bootcamp, I had the most difficult time pair programming. I had never before articulated my thought process, so I struggled grasping for the right vocabulary to describe what I wanted to do. And in the presence of another person I had only just met, I was afraid of being judged for having a “dumb” idea.

But in the end, I grew to love pair-programming. When you gel with your partner, it is one of the best ways to learn. You come up with more ideas when tackling a complex problem, and you can take breaks exercising different parts of your brain when you switch between driver and navigator roles. I’ve learned so much from my partners, and shared my knowledge with others too, which has been a major confidence-booster.

I’m now a firm believer that teaching is the best way to learn. If you can’t explain a concept to someone else, that’s a pretty good indicator you don’t fully understand the concept yourself. And being a programmer is more than just writing code — if you can’t articulate your ideas, there’s no way you can truly participate in the developer community.

5. Don’t get down about gender bias — fight!

Photo by Jon Tyson at Unsplash

Both the Grace Hopper and Fullstack Academy cohorts (which follow the same schedule and curriculum) had several presentations about the challenges female and minority developers face in the industry today. This included a talk about unconscious bias by our instructors as well as several guest speakers coming in to share their experiences.

For me and my all-female cohort, this was downright depressing. After all, we had all decided to transition to new careers and were working hard to complete a demanding bootcamp curriculum — to be faced with the stark reality that after overcoming this first obstacle, we would likely have to deal with the much more daunting challenge of unconscious bias for the rest of our careers, was tough.

But I’ve come to realize that I can’t afford to be depressed or avoid thinking about this issue. I need to face it head on because the tech industry needs more women speaking up and paving the way for other tech “out-groups” to succeed. Putting my personal journey in this context has helped fuel my drive and ambition.

I also can’t thank my classmates enough. These brilliant women served as my daily inspiration, and they created a safe, supportive environment to grow. In the past, I had just assumed that I wasn’t smart or analytical enough to do something like computer science. But being part of this amazing class, and finding myself do just as well as the men completing the same curriculum, has forever changed the way I think about my own potential.

6. Imposter syndrome doesn’t go away.

Even though I know how to build a web app from the ground up, the title “software engineer” still doesn’t feel right. There’s a part of me that fears people seeing it on my business card, looking at me and what I’ve built, and thinking, “Boy, that’s a load of bull****.”

And a part of me knows it’s irrational. I learned how to build a 2D platformer in Phaser.js over a weekend, how to write a program in Elm (also over a weekend), and create a React Native + Firebase mobile app with geolocation over 2.5 weeks with my teammates, but I still question my ability to learn new technologies.

What I tell myself now is that, while that little nagging voice may never go away, I can quell it just enough to get things done. I’ve noticed that my moments of panic, when I feel like I know nothing, have been getting shorter and shorter every time I approach a new project. I try to look back at the last time I felt inadequate, and remember that it always worked out far better than I thought it would. Or, you know, just rewatch this video:

The biggest comfort though, has been knowing that I’m not alone in this journey. The individuals I’ve met through bootcamp and online have been amazingly open, kind and collaborative. Nearly everyone could relate to imposter syndrome, and readily shared words of encouragement. I started learning to code to solve problems, but now I realize that I want to stay to be a part of this thriving community of makers and learners.

I hope you found this article useful. If you’re an aspiring developer and want to chat, or if you’d just like to get in touch, feel free to message me on Twitter @stellasighs. I’m now currently on the lookout for new opportunities as a software engineer. Thanks for reading!


Published by HackerNoon on 2017/07/14