5 Things I Wish I Knew Before Attending Coding Bootcamp
Tags: career, beginners
Published: 2020-09-28 13:39:48

Before I knew what a crazy ride 2020 would turn out to be, I had already decided to jump off my own deep end by quitting my job, learning to code, and changing careers to programming. I submitted my notice in January and started attending a three month coding bootcamp, Code Chrysalis, from April. It was a great experience and just a month after graduating, I was able to land my first job as a software engineer!

That being said, looking back, I didn't quite know what I was getting myself into. I thought I'd done my due diligence: I'd gone to the school's open day, spoke to former students, and searched for articles online about the course. Even so, there were some things that I wish someone had just been there to tell me, 'Hey, this is what it'll be like. Just a head's up.'

So this is my article to you, prospective bootcamp student, so that you can be mentally prepared before you start. :)

## 1. Prepare to spend 90% of your time coding.
This isn't a joke. Bootcamps are there to push their students hard and get them to where they need to be to be employable in a seriously short amount of time. 

At my bootcamp, they would give us small projects that would go over a concept we'd learnt just that very morning, and we would be expected to submit that by 9am the following day. Most nights, we would work until at least 10 or 11pm. Some people definitely worked longer. Don't get me wrong -- I could sometimes squeeze an hour or two here and there to relax, but there was always studying to be done. In my 'downtime', I'd be reading articles about JavaScript or watching Udemy courses. That's just how life was for those three months.

In addition to daily projects, sometimes there would also be bigger projects that spanned 2 to 3 days. There were a mix of solo and group projects, and they always felt very stressful because you are basically told, 'This is what your end-result needs to be, now go and make it.' Of course, tutors would be around to ask questions if you were seriously stuck, but there was a very firm emphasis on 'the struggle is part of the process', and you wouldn't always get the answers you wanted. Which leads me onto the next point...

## 2. The teachers won't have all the answers you need.
I guess my experiences at school and university gave me the idea that people who 'teach' you usually know all the answers to your questions, but for my bootcamp, that wasn't really the case. The thing is, software engineering is so broad and changes so quickly that it's unlikely any one will ever know everything about everything. And once you get to group projects where you have freedom to choose your tech stack, they're even less likely to be knowledgable. So you spend a lot of time stuck, unsure what to do, clicking around in the docs, making slivers of progress until you finally find yourself on the right path and the fog starts to get a little clearer. (And then you repeat, again and again.)

What's more, bootcamps try to cultivate an atmosphere of self-research ('read the docs!') and autonomy. These are definitely important skills as software engineers, but no one gets anywhere in life solely by themselves, and this mismatch (feeling like if the teachers could _just fill in that one blank_, you'd be able to make sense of everything) can be pretty frustrating at times.

This sounds like common-sense, but I feel like it bears saying because I definitely felt at times like I would have liked a bit more help...which leads us to no. 3.

## 3. You will be frustrated. A lot.
Yeah, no way around this one. You will get annoyed, many, many times. 
One of the hardest things for me during the course was doing a lot of the daily homework tasks in pairs. Don't get me wrong--I loved my fellow students. But trying to read docs, reason about code, think and try out different coding approaches, debug specific areas... all while someone else is simultaneously trying to do the same thing, but with a different approach that doesn't quite make sense to your way of thinking? It's really tough. I often felt like I just wanted a bit of time to really look at and understand what the code I was seeing was by myself, before trying to talk to someone else about what we should do to solve the problem. 

Even if the above doesn't sound like a big deal to you (and it might not--I'm pretty sure my personality played a bit role in how challenging I found that aspect), you will be frustrated by other things.

* Can't figure out why all your API data is coming back as unresolved promises?
* CSS on your site looks like crap but you have no idea how to make it nice? And to top it off that one person in the class made theirs look _amazing_?
* Got told you have 48 hours to make something from scratch using technology you've never used before to present to class, and nothing is going well?
* Spent the whole day trying to set up your RESTful CRUD API with Express/Knex but NOTHING IS WORKING?!

Not being able to do something is frustrating. And you'll go through that feeling a lot. ;)

## 4. Rely on your fellow students.
You're all going through it together, and you are definitely not the only one who 'can't do it', even if it seems like that. The students on my course with me became amazing friends by the end, and I would have been a lot more stressed if I couldn't have shared my complaints, as well as my wins, with them.

## 5. It's okay if you don't understand everything.
Bootcamps are a lot of material covered in way too short of a period. Try to remember it's okay if something doesn't click straight away. Sometimes our brains need to revisit a topic a few times to 'get' it, and hey, maybe some things will always be hard, and you'll always need to check the docs for the right way to do it. That's okay -- even if other people in the course seem to have no problem, don't worry (easier said than done, I know). It's like they say: sometimes they'll be ahead, sometimes you'll be ahead, c'est la vie. You'll have time after the course to come back to the tricker parts anyway, so if you've tried but it's just not clicking right now, let it wash over you for now and try not to stress too much.

### In Summary...
Going to a bootcamp was the best choice I've ever made, and I love my job now. Despite what I wrote above, I loved my course and made lifelong friends. But it's also important to know what you're getting yourself into and to have realistic expectations.
Feel free to reach out to me at @pollyj_ on Twitter if you have any questions!