Maybe you’ve just graduated college and realized you can’t (or don’t want to) work in the field you studied for. Maybe you’re sick of making no money working multiple jobs in the service industry. Maybe you’ve realized research just isn’t your thing, but you’ve got a math brain you don’t want to waste. Or maybe you’re a creative looking to use your artistic side in a career that supports a lifestyle above the poverty line. Perhaps you’re a woke high school grad who sees that the ROI on a college degree isn’t what it used to be and the whole experience sounds like a big fratty waste of 4ish of the best years of your life that you’ll pay for with those monthly student loan checks over the subsequent decades.
Maybe none of the above statements describe you.– god forbid they somehow all describe you. But either way,
If you’re curious about how I made the decision to pursue a career in software engineering via the immersive experience at Hack Reactor (and what I’ve been doing since the program), you can read about that here. This is the first in a series of posts I plan to do on
a) figuring out if a software engineering immersive is the right choice for you, and
b) preparing your ass off for it.
Disclaimer: keep in mind as you read this that I will have a positive bias towards Hack Reactor because that’s where I attended bootcamp. The bootcamp re-educational model is something of a recent phenomenon and many of the newer ones that are cropping up haven’t had as much time to iron the kinks out of their curriculum and post-graduation support as HR.
I) Manage your expectations
Going into bootcamp with the expectation that they will take you from knowing nothing about code to being able to build the next Facebook would be wildly incorrect. You can’t download everything about computer science into your brain Matrix-style in three years let alone three months (as much as Keanu Reeves might have you believe it’s possible).
Even if your bootcamp doesn’t require you to know much about coding before orientation, not doing your oh-so-literal homework would be a HUGE disservice to yourself. At the very least, do the free Codecademy lessons on whatever languages you’ll learn at your chosen bootcamp. Why? Because hitting the ground running during this career transition will put you ahead of the curve and also confirm that, yes, coding is something you’d be happy to make a living out of.
II) Does it make sense to do a bootcamp (right now || at all)?
A few questions to ask yourself:
Q: How am I going to pay for this?
A: You’ll need to have savings of your own, generous family members willing to loan/give you the tuition amount, win a scholarship, or finance it through a third party (your bootcamp will usually have a few preferred tuition lenders on hand to refer you to).
Q: What are the opportunity costs?
A: If you’ve been in the workforce for awhile and aren’t coming to bootcamp immediately after or instead of college, you’re going to really miss your paychecks. I can’t emphasize this enough: you need to have enough saved to support yourself through your bootcamp and for at least 3 months after graduation while you look for your first engineering job.
Q: Do I actually enjoy coding?
A: Obviously, only you can answer this question. This is another reason it is SO IMPORTANT that you teach yourself the basics. I know a ton of people who get anxious just looking at code because taking the time to decipher it makes them confused, then flustered, then self-conscious. If you can power through that frustration, learn the basics, see the potential applications and uses of coding, and still enjoy learning how the damn things work, then this is probably a great career path for you. If you’re the kind of person who gives up easily on challenges and prefers others to walk them through it to ease the discomfort that is learning anything new, then
You’ll probably come up with other things to consider when making this decision so — let me emphasize this again — take some time to really THINK ABOUT IT and feel free to fire any questions at me via my contact page.
III) How to prepare and resources to use
These are going to be a bit specific to Hack Reactor since that’s what I personally had to prepare for, but I think these are still good general starting points in terms of the types of things to know if not the exact language to know them in.
☑️ How to declare variables and write functions that do things with variables.
☑️ Basic data types including strings, numbers, booleans, objects, and arrays.
☑️ Understand control flow (if/else logic), “both” vs. “either” notation, basic mathematical operators, value assignment versus equality testing.
☑️ Higher-order functions (a.k.a. array methods) including .forEach(), .filter(), .map(), and .reduce().
☑️ Be able to solve and understand alternative solutions for some basic toy problems on codewars.
☑️ Be comfortable with concepts like anonymous functions, lexical scoping, closures, and callbacks.
☑️ A basic understanding of the keyword “this” (if only it were as simple and straightforward as it sounds *sigh* ).
And as confusingly-worded as it tends to be, Codecademy does have some valuable information. I intensely dislike how they’ve started presenting everything in ES6 syntax first before explaining how the syntax evolved so abstractly (as in, a beginner software engineer couldn’t easily look at the syntax and intuitively understand what the code is trying to accomplish based on pattern recognition without some previous knowledge of how it works). I’ll be writing some tutorials soon to fill in the missing pieces that Codecademy fails to convey to the user to address this issue.
Practice doing some coding problems with any software engineering friends you have, especially if they’ve gone through the bootcamp you want to do. There are plenty of online platforms for remote pair programming, including appear.in and codeshare. I also strongly recommend finding a favorite coding sandbox to play around in (I personally prefer repl.it, but codepen and jsfiddle would also do just fine).
Lastly, if you have to get through a technical interview to get into your preferred bootcamp, practice getting comfortable with THINKING OUT LOUD IN FRONT OF YOUR INTERVIEWER. If you’re staring at your screen trying to think through a problem without verbalizing your thought process, your interviewer won’t know how to evaluate you. While it’s definitely important to be able to solve the problems they throw at you during interviews, it is equally if not more important for them to get a sense of how you approach problems as well as your ability to communicate your struggle. This equally true of interviewing for jobs after you graduate. Failure to communicate well with your instructors or classmates in bootcamp can make or break the entire re-education experience for you… and those around you. So get over sounding like a crazy person talking to yourself because it’s highly valued in this field.