Things I Wish I Knew Before Starting a Coding Bootcamp

So you decided to take the leap into a Software Engineering bootcamp. Looking back from the other side of the mountain that is Flatiron School, I can honestly say it was one of the more difficult thing that I’ve committed myself to. Even though the time commitment over the past few months have been brutal, to say the least, it’s overwhelmingly satisfying looking back at the amount I’ve learned in such a short amount of time. Here are a few of the things that I know now, but I wish I had realized before my cohort started in October.

1. Start Learning Before Your Class Starts

About a year ago I started learning Javascript basics in my free time, but because everything I was learning was completely unstructured I never felt like I was actually learning anything. This led to a cycle of practicing for a couple weeks, then taking a few months off, and repeating. I had been in a phase of working through some lessons on codecademy.com when I got into Flatiron School, but for the 2 months between getting accepted and starting I mostly stopped working on code challenges. I’m absolutely positive that not keeping my brain fresh for those months led to some early struggles with the course material. I remembered some key words like function, iteration, method, etc, but it was harder for me to put those words into action than it would have been if I had kept up with learning before the start date.

2. Take Breaks

The amount of time you’ll put in through the upcoming months will be considerable. A lot of bootcamp websites say to expect to put in 40–50 hours into studying and coding per week, but personally, that number skewed closer to & above 50. With so many hours committed to learning every week, it’s incredibly important to take some time to decompress and give your brain a break throughout your day. Personally, I would take 2 deliberate breaks through the day, not including breaks to eat. I would go exercise for an hour at noon before lunch and an hour later at night to either watch a movie, play a video game, or read a book. Mental health should be an absolute priority in all times, but it’s especially important when going through an intense experience like a full-time or part-time bootcamp.

3. Code A Little Every Day

One of my shortcomings early in my experience with the Flatiron School was thinking that I’d be able to keep my normal weekend schedule from my old job. Spending two days straight without exercising the material you learned in the previous week is a terrible mistake to make while going through an intensive course load that a bootcamp can require. I found early on that the pace was so rapid that if I didn’t spend some time over the weekend to review or work on coding challenges, I would feel like I was a step behind come Monday morning.

4. Redefine What Failure Means

The biggest difference between software engineering and many other career paths or interests is how much of an emphasis is put on the ability to google and the personal acknowledgement that you’ll have to use outside resources for a sizeable amount of your work. I remember going through traditional schooling and being somewhat afraid to look up an answer in certain situations because it was stigmatized as a small failure of knowledge. Beating that idea back and replacing it with accepting help from the millions of people available on the internet with more knowledge on the subject was difficult, but made me a better programmer at the end. It’s not a failure to have to use a web search to figure out an answer to a coding problem, it’s all a part of the plan.

If you’re reading this and you’re about to start a bootcamp, I hope these points were helpful or enlightening in some way! If you’re reading this and you’re halfway through or just finished, I hope they were at least relatable. The bootcamp life is definitely a struggle, but with a little bit of self-awareness and self-respect, along with an absolute ton of hard work, you can come out of the other side with an immense sense of accomplishment.