Hack Reactor Remote-Getting Here

 

If you’ve found this blog looking for more information about Hack Reactor – you’re in the right spot! I was you a short time ago, and I spent a lot of time reading past/current students blogs. Thanks for taking the time to read what I’ve written – I hope it helps!

I started Hack Reactor Remote last week and they suggested that we begin blogging as soon as possible since we’ll be required to later on the program. I’m currently halfway through week two, and we’ve already covered so much ground I keep forgetting we’re only a week and a half in.  We just finished the infamous n-queens sprint (If that sounds like nonsense, don’t worry, it felt a lot like nonsense while we were in the midst of it), and though I’ve got a lot to discuss about said sprint now that I’ve emerged on the other side, I decided to write my first blog post on my route to Hack Reactor, since I found reading student blogs to be the most helpful guide in getting me prepped for both the interview process and the actual course.

TL;DR – Be able to respond to new concepts and materials. You may not pass your first interview – don’t stress. I yell and talk at my computer more than is probably normal. I spend most of my day realizing I know nothing.  Be able to respond to new concepts and materials: in your interview, in web development, in general.

slack-imgs.com.jpeg
please enjoy the nerd humor.

 

Bootcamps?

There’s mixed perception of bootcamps, which is understandable – people seem to either regard them as the education of the future or a total racket.  I’m not much of a believer in ‘fast education’ and as such, always dismissed the idea of a coding bootcamp.  They seemed, in general, too good to be true, as with most things that promise such amazing returns in such a short amount of time.

However, after a few close friends took the plunge and went through with some of these programs (DevBootcamp, General Assembly, and AppAcademy), and had overall very positive experiences, I started considering coding bootcamps more seriously.  I was certainly interested in transitioning to web development, but there were so many options! And once you started looking into those, there was SUCH a diversity of opinion on the quality of each one – which bootcamps were good, which were mismanaged, whether a program was a scam or a life-changing experience.  There was an endless font of information and as it usually goes, those with the strongest opinions tended to yell the loudest into the internet void.  I quickly found myself overwhelmed (this techendo overview was a lifesaver though).  How to choose? Enter Hack Reactor…

I heard about Hack Reactor about a year ago through a friend of a friend who had a friend who attended (or maybe a brother?)…anyway it was a very tenuous connection, and although it was nothing but rave reviews, I didn’t put much stock into the program in general (again, very tenuous connection).  However, once I started poking around Hack Reactor, I realized one of these things was not like the other.  Students raved about the program, alumni posted blog articles with impressive projects they had built during their tenure, and their students seemed to exit the program with a higher level of knowledge than anywhere else.  Also, there did not seem to be a single bad review from students (past or present) online.  Bumps, hiccups, and struggles?  Sure.  Poor reviews of the program overall?  Nope.  I looked.  Could not find. ON THE INTERNET.  Anyway, the stellar reviews, sick student projects, continued alumni engagement, and unique interview process in conjunction with their focus on javascript sold me on their program.  If I was going to do a coding bootcamp, I was going to do theirs.

(Of course, this is not to say that theirs is the only good program by any means.  My friends who completed similar bootcamps had amazing experiences, are currently working at amazing jobs and are in general just loving life.  I won’t go in depth on the other programs I mentioned, because there are plenty of students who are better equipped to evaluate them and give advice. There are a load of great options out there. I got stuck on this one)

Interview No. 1

Anyway, at this point I was pretty much like: ‘okay! going to learn some javascript!’.  I had taken one C.S. course in college and so when I looked at their admissions challenge, it only took a little googling and some light reading to find a solution.  I’m pretty sure I hit submit and got a response like “You solved it!”.  I felt pretty smart.  For the last time, I might add.  Following the admissions challenge I got an email telling me to schedule a technical interview and material to focus my studies on. They provided a roadmap of the interview and a list of resources which was a slightly different format than I had read about online.

   ROADMAP

  1. Using callbacks in JavaScript (how to pass functions as arguments to other functions)
    • You should understand how to use both anonymous functions and functions stored in variables as callback functions
  2. Composing and writing functions
    • What arguments are provided to each function, and what are their types?
    • What gets returned out of a function, if anything?
    • How and when do you use anonymous functions?
    • What does it mean to be a higher-order function, and how are they composed?
  3. Be able to respond to new concepts and material

    RESOURCES

  1. Codecademy Javascript track (1-3)
  2. JavaScript Koans
  3. Eloquent Javascript, Chapters 1-5
  4. “Understand JS Callback Functions and Use Them”
  5. “Understand JS Closures with Ease”

Whenever someone includes “be able to respond to new concepts and material” as a preparatory note for anything (tests, interviews, life in general), I generally curse their name and panic deeply, so any confidence I felt after the admissions challenge was quickly dispensed. I spent the next few weeks reading through EJS, and doing the codecademy Javascript track and reading the recommended articles.  I took one look at Javascript Koans and resolved to “look at it later”.  I actually felt fairly confident in the days leading up to my tech interview, until I decided to check out some of the problems on coderbyte the day before my interview and like Jon Snow, came to the shuddering realization that I KNEW NOTHING.  I spent the the hours before my tech interview stressing over native array functions in javascript and RegEx (do not do this) and whole-heartedly ignoring the advice I had read from past students to relax and do something other than review.

The first portion of the interview is pretty standard, they ask you about yourself, why you want to go to Hack Reactor, why coding, etc.  The second part is a pair programming session where they ask you to code in a shared browser window, focused primarily on the material laid out in the roadmap.  The interview was enlightening and totally different than anything I had done before, and my interviewer was friendly and reassuring.  I was generally a flustered mess, couldn’t explain my thinking and probably apologized upwards of 15 times.  Not my finest.  I got an email a few days later asking me to reapply after a month of self-study and send in some sample code when I did.

Going Remote

Due to a number of reasons, I took quite a bit longer than one month to reapply, but by the time I was ready to hunker down and get to it, I had just signed a year-long lease in Brooklyn and wouldn’t be able to go to SF for the program.  I was looking to get started on one of these programs sooner rather than later so I was faced with giving up Hack Reactor as an option, when I starting reading about Hack Reactor Remote.  I had seen the link on the Hack Reactor homepage, but hadn’t really looked into it as I had been so focused on the on site program.  Technically the program was still in Beta at the time, but I was game if the remote students were as passionate about Hack Reactor as the onsite students were.  I was definitely more apprehensive about a remote program – how did the curriculum compare? What was the lifestyle like? Were students as engaged?  But again, after reading lots of quora posts, blogs, and speaking with alumni, I had nothing but good things to report back.  I decided to get down to studying.

Interview No. 2

This time I decided I would be totally prepared for anything that came my way during the tech interview (I was not).  I ran through all the easy challenges in coderbyte and most of the medium ones.  I want to call them fun, but there was also a lot of yelling at my computer in frustration, so take from that what you will.  Still, I really can’t recommend coderbyte enough (mdn.io is a great resource for these, also repl.it for testing your code). I finally got around to figuring out Javascript Koans (this was my first introduction to github so it took me a minute to understand what I was looking at).  I read through EJS and did the exercises maybe five times each.  I set up my github account and learned how to actually push my code there.

When I got around to actually sending in sample code, I suddenly found myself asking “what on EARTH is good sample code?” so after reading many a blog from past students and stressing over what I had, I decided to do this Udacity course on Object Oriented Programming, which was made with one of the cofounders of Hack Reactor (Marcus Phillips), it gives you a brief introduction to OOP in javascript and then gives you the outline of a frogger game to implement (having done this was very helpful this past week).  I finally sent off my finished frogger game, some selected coderbyte exercises, and my solutions for the problems in EJS ch 1-5 to admissions and was asked to schedule another interview – success!

(Other useful resources that I didn’t have a chance to fully delve into but came highly recommended from other students: Hack Reactor Chatbuildercodewars, Project Euler)

On the day of the interview, I was definitely calmer (maybe), this time around, and more able to listen to the advice to spend the hour before the interview relaxing or at the least doing something other than reviewing (I went for a walk and watched an episode of Bob’s Burgers.  It was delightful).  My interviewer was great (he stayed on the call an extra 45 minutes to answer my many questions about the remote program and totally assuaged any last concerns), but although I felt pretty comfortable with the material, I still left feeling like I had failed miserably.  Despite having read many lovely blog/quora posts about this exact feeling from other students, I was certain that I had actually bombed.  I’m very self-important that way.  A few days later I got an email from Hack Reactor saying I had been accepted and my mouth literally dropped open.  It said I would be starting in January and to please send my github handle so I could get access to the precourse work.

The most important part of the technical interview (a point which Hack Reactor stresses and I would advise to take to heart), is your ability to explain your thought-process and clearly describe your method for solving each problem.  This may seem unnatural at first, but I would guess it is the number one thing they look for in a candidate.  You also do not have access to outside documentation during the interview, so your interviewer is essentially your only resource.  Use them.  They want you to succeed and are happy to help (within reason).  Also asking questions will also encourage you to explain your reasoning more thoroughly.  If you feel stuck, tell them and explain why. I read this somewhere, and whoever it was that wrote it, I cannot thank them enough.

Precourse

The precourse work was a mix of lectures, reading, and actual coding and covered a lot of material.  Essentially we covered all the work I had done to prepare, plus a lot more, in a matter of weeks.  You definitely should set aside a fairly significant amount of time to get this work done.  It covered all the introductory javascript concepts (loops, conditionals, scopes, execution contexts, closures) and some compsci topics (objects and recursion).  I moved through those sections fairly quickly, but I had basically zero experience with html, CSS, and jQuery so a lot of my time was spent reading up on those and yelling at my webpage to work.  We also had a brief introduction to testing, debugging and git.  I wish I had a chance to go over all the precourse work again, because now that I’m working on the sprints there is definitely some stuff I wish I’d had a firmer grounding in.

Adjusting to Hack Reactor

Having actually started at Hack Reactor Remote, I understand why they advise you to tell your friends and family you are going away.  I am technically in the same city, but I have so little time to do anything non-Hack Reactor related.  It can be a bit overwhelming, but it is also distressingly addictive.  I think my friends and roommates are becoming concerned, since this is pretty much the only thing I talk about now.  Having a life is pretty much on hold for the next three months.  The program itself is unlike anything I have ever experienced. The amount of material we have worked through in this short time (and now feel genuinely comfortable with) is pretty astonishing.  The involvement and eagerness from the staff would be almost intolerable except that they are all the most delightful humans. And lastly, the dedication and enthusiasm from the students is unmatched.  Okay, I am done geeking out.

From my time prepping for Hack Reactor, from solo study to precourse work to my brief 1.5 weeks in the program, my number one takeaway is definitely to “be able to respond to new concepts and materials.”  I perhaps have never been the number one person at this, but I have quickly learned that to succeed at Hack Reactor, this is critical.  You are 100% guaranteed to work with something you have never seen before, and you cannot panic spiral (I have had to overhaul my approach). I spend most of my day looking at something that I have never seen before and struggling with it until it works.  And although there may be a lot of exasperated sighs and cursing along the way, it is actually pretty fun. Also, when you figure it out you will feel like the king of the world.  That feeling cannot be beat. In one of our first lectures from last week, one of the cofounders (the previously mentioned Marcus Phillips), gave a lecture on how to succeed and his time working at a software engineer.  He said a lot of things that really hit home, like:

  • “No one told you how to do that thing. No one is going to tell you. And all you’ll find online is a blog post that doesn’t pertain to your situation.”
  • “This is like being in the Specials Forces.  I’ve never been in the Special Forces, but it sounds terrifying
  • “No one gets reduce”

But overall what I think he meant was success isn’t knowing everything (though you have to know some stuff), it’s being ready to tackle what you don’t know, no matter how terrifying it is.  I’ve made it sound horribly cheesy – he encapsulated the idea more elegantly:

“Why would anyone know more about this than you?  Sure, somebody does.  But they don’t work here. It’s my job.  I gotta do it.”