Read this first:
If you are looking for a silver-bullet or a “hack” to cruise through a bootcamp and have a cushy job offer waiting on the other end, stop reading now.
There is no shortcut. There is only working smart, working hard, and being consistent. I’ll share ways that you can maximize your experience, but the onus is ultimately on you to put in the requisite effort.
What does it mean to be successful?
I’m going to define success in a coding bootcamp by your ability to absorb, recall, and apply the knowledge you gain well enough to land yourself a job within 6 months of finishing your bootcamp.
Maybe success means something different to you, but most folks I know doing a bootcamp are doing it in order to get paid to write code.
You might ask: “How do I know that these ideas will work for my particular bootcamp schedule/setup?”
Here’s a secret
Bootcamps aren’t unique. In all of them, you’re trying to develop a valuable skill in a short amount of time to get a job.
If we can optimize for that generalization, chances are pretty good that you will get where you want to go.
All learning is more or less the same. If you’d like an in-depth dive into learning to learn, check out this awesome course. It’s free, and it’s very good.
With that out of the way, let’s take a look at some of the qualities you can develop or actions you can take that will increase your chances of being successful during and after a bootcamp.
Over-prepare
This one is obvious.
The more work you can do before the bootcamp starts, the further ahead you will end up, all else being equal.
This is a free opportunity to get ahead, all you have to do is show up and begin learning as much as you can.
Ideally, the first week or two of bootcamps should be reinforcing things you’ve already tried to teach yourself.
You will be surprised how many people haven’t even written one line of code by the first day of bootcamp.
Don’t be that person.
Grit
Google search defines “grit” as “courage and resolve; strength of character.”
If you want to dive deeper, this book goes in depth into what grit is and how to apply it.
The gist of that book, is that the greatest predictor of how successful somebody will be at something boils is how willing they are to stick it out when the going gets tough.
It’s not some magic sauce. It’s not something you’re born with. It’s simply making the decision to persevere, to dig deeper, and keep going.
Attending a bootcamp you’re sure to get overwhelmed. The amount of information you’re trying to absorb and apply can be suffocating. If you AREN’T overwhelmed, your bootcamp is doing you a disservice.
Go in knowing this.
Accept this.
Make the decision to stick it out long before you even start.
Programming is an exercise in frustration. You’re constantly going to be working just outside of your comfort zone. The sooner you come to terms with this, the further you will go.
Go deeper
When is comes to depth and breadth, bootcamps excel at providing you with breadth.
Within a short period of time, you will learn how to build entire applications. In order to do this, you’ll have to learn about varying subjects. Given the short time frame, it’s likely you will only go deep enough to accomplish what you need to.
In many cases, you will be taught how to use a framework, such as React, without going over the fundamentals. This is fine. Honestly. What’s important is that you learn to build stuff!
You’ll find, however, that if you set aside time to read the documentation, you’ll have a deeper understanding of WHY you’re doing WHAT you’re doing. This won’t just make you more effective in the short-term, but it’ll also equip you to answer technical interview questions.
With any and every tool you’re taught, I encourage you to dive into the official documentation first, and then if you still want to go deeper, find supplemental resources.
This is a large part of what you will be doing as a programmer anyway, so you might as well build good habits early.
Practice
This is the only way to getting good at anything, so it shouldn’t be a surprise that it’s also key here.
Ideally, your bootcamp is going to teach you some concepts, and then have you apply them shortly afterwards. If your bootcamp isn’t doing this, maybe you’re in the wrong place.
Doing the bare minimum won’t get you where you want to go, though. I saw too many people at my bootcamp copy and paste others code to “pass” their exercises.
I think this is an artifact of the schooling we all attended as children, but the reality is that “passing” a bootcamp doesn’t mean anything.
Employer’s don’t care that you got a paper certificate from wherever, they care that you can solve their problems. You won’t have anyone to copy from anymore, and if you didn’t put the work in, you’re going to fail.
I implore you to complete the exercises that the curriculum provides, but then go further. Find ways that you can continue to practice, even the most basic things.
One practice I found particularly beneficial was to complete 5 exercises on CodeWars every day. This will help you think critically about a problem, develop muscle memory for common syntax in your programming language, and seeing other solutions to the same problem, you’ll learn something new every time.
With any opportunity the bootcamp provides you to practice your skills, ask yourself: “How can I practice this further?”
Sleep & Exercise
This one shouldn’t need justification.
There will be people who take the approach of sleeping four hours a day in order to work late into the night. It will feel like they’re out-working you and are going to eat your lunch.
That’s all bogus.
Get 7-9 hours of sleep every night, whatever amount makes you feel the best.
You will get more out of your waking hours and it’s not even close. You will absorb more during the instruction, and execute better during practice.
Your brain NEEDS rest in order to make sense of everything you’re learning.
There’s also plenty of evidence that exercise helps your brain (and body) function more effectively. It’s as close to a silver bullet as you’re ever going to get.
You’re a better programmer, and problem solver, when your brain is firing on all cylinders.
Don’t cheat yourself.
Network
I’m sure you’ve heard this before:
“It’s not what you know it’s who you know”
It’s cliche, and it’s not fair, but it’s true. You can be upset about it, or you can start use it to your advantage; I recommend the latter.
You want to network both within your bootcamp, and outside of it. These serve two different purposes.
Networking within your bootcamp is to set yourself up for the long-game. The people that you are studying with have great insight into your skills and work ethic. Building meaningful relationships with them could lead to all sorts of opportunities down the road.
For example, I had a bootcamp friend end up working at Microsoft. After a year of working there, he called me to see if I would be interested in interviewing to join his new team. Unfortunately, I couldn’t relocate at the time, but I can guarantee that if I had applied to that job without any reference (if it was even posted publicly) I wouldn’t have stood a chance in hell.
It was ONLY our relationship from the bootcamp that opened up that door.
Networking outside of your bootcamp is how you set yourself up for the short-game (and eventually long-term as well). For anybody, it’s hard to get your foot in the door for that first tech job. For a bootcamp grad, it’s even harder.
You are going to have to meet people, and build real connections, in order to stand out from the crowd. Going to meetups in your area and building relationships on social media are a couple ways you can do this.
Bonus points if you sign up to be a speaker at one of these events.
My friend Peter gave an awesome presentation about building an application with FireBase at our local React meetup. He had several people asking him to interview for jobs at their company afterwards; a much better result than the people who only presented themselves during the “hiring open mic”.
Putting yourself out there will pay off.
Solve the problem THEN write the code
Building applications isn’t so much about writing code as it is about solving problems.
You’re going to be tempted to always start by writing the code, but that’s putting the chicken before the egg.
Your text editor isn’t always the best place to figure out how to get from Point A to Point B. Writing out the problem, and your potential solutions, on paper or a whiteboard will allow you to quickly see gaps in your reasoning, and allow you to pivot a lot more quickly than editing code.
Extra points if you can talk through your thought process as you do this.
Not only is this a better way of solving problems, but it’s also going to get you practice for the dreaded 😨 WHITEBOARD INTERVIEW 😨 .
Look, I hate the whiteboard interview as much as anybody else, but it’s not going away any time soon.
If your goal is to get a job, you might as well prepare yourself for the worst case. I hope you find employment without ever getting whiteboarded, but there’s no use in letting it be what stands in the way of your success.
Like anything else, the more you practice solving problems on a whiteboard, the better you will get at it. You will get better at describing problems, describing potential solutions, asking clarifying questions, and ultimately implementing said solution.
These skills aren’t just important to pass the technical interview, they’ll also set you up for success once you have the job.
Teach others
“Quote about how you don’t really understand something until you can teach it” - Smart Person
The easiest way to solidify your understanding of anything is to explain it to somebody else until they understand it.
You don’t attend bootcamps in a silo. You will be learning alongside a group of other clueless people, you might as well help each other.
I remember when our entire cohort was having a hard time grasping “state” and “props” as they pertain to ReactJS. I foolishly thought I had it figured out and started trying to teach my cohort mates on a whiteboard.
I quickly realized that I didn’t actually know what I was talking about, even if I could apply these concepts in certain situations.
I was lucky to be a mentor for the next cohort after I graduated. Again I realized how important it is to be able to explain concepts to others. I failed gloriously in front of the class many times, but it always lead to a learning moment for us all.
Hang in there
Bootcamps are hard.
Programming is hard.
Don’t let anybody tell you otherwise.
If you really want it, you can do it. Do the above, and you’ll be ahead of most of your peers.
You got this.
If you want to ask me anything, I’m always happy to answer any questions on Twitter.