Monthly Archives: March 2014

What I Studied Before Applying to Hack Reactor

I’m pretty eager to get started on the pre-coursework for Hack Reactor, but the admissions staff has been a bit delayed in getting that to me. I sent them an email almost 5 days ago, but no response yet on next steps…  I wanted to write down what I’ve studied so far, in preparation for applying to Hack Reactor. Disclaimer: Not all of this was necessarily to prepare for the admissions process itself–a lot of it was just for my own personal learning and knowledge. I was(am!) genuinely interested in learning as much about Javascript as I could absorb at the time. I also learn through repetition, so I thought a first pass would be great.

 

Useful for Hack Reactor

  • Codecademy JavaScript Track – I mostly skimmed through this, it’s pretty basic JS syntax
  • CodeSchool Javascript Track Parts 1-3, I also skimmed the first and second part; the third part was helpful
  • Javascript Koans – I liked this, because I got to work with actual provided code and fix (debug) it to make it work properly and make sure I understand the concept. It only took me an hour or two.
  • All of the Coderbyte easy problems. They took me anywhere from 1 minute to 15 minutes. I also did 2/3 of the medium problems–they weren’t significantly harder than the easy ones. The technical interview didn’t really ask the same types of questions, but it was a good way to practice syntax and thinking critically about a problem. I also looked at how other people solved the problems; it was neat seeing how others approached them (though some people’s approaches were admittedly overly complicated, in my opinion).
  • I went through devdocs.io and read the documentation for arrays, strings, functions, etc. It’s good to understand how everything works, what parameters each function takes in, what you can do with arrays/strings, etc.
  • Reading Eloquent JavaScript chapters 1-6. The chapter on functional programming was important.
  • I read and studied important concepts through JSisSexy, including Javascript Variable Scope and Hoisting ExplainedUnderstand Javascript Closures with EaseUnderstand Callback Functions and Use Them and Understand “This” — Closures and Callbacks are pretty important to understand

Less Directly Useful for Hack Reactor Application, But Educational

  • The rest of Eloquent JavaScript. None of those topics were covered in particular during my interview, but it was a good read!
  • I read JavaScript: The Good Parts – this is a book I would probably read again, as I didn’t understand everything fully the first time. I also wouldn’t recommend it for JavaScript beginners
  • I coded Phase 10 in JavaScript – I didn’t really finish, and I didn’t formally learn JavaScript before making this game. I made it by looking at other people’s code and reading some JQuery tutorials. It was fun, but now that I know much more about JavaScript, I would probably write this game completely differently if I did it again.
  • I went to a Hack Reactor algorithms meetup. It was really fun and I met some cool people, and solved an interesting problem regarding Monte Carlo algorithms. I also got to look around the space a bit too.
  • Studied Regular Expressions: RegEx Crosswords for Practice and Decipher Javascript RegEx in Humanized Form
  • Looked at the underscore.js documentation for funsies

In general, before I wanted to apply to Hack Reactor, I had some basic programming experience in Python, HTML/CSS, PHP, Java, and the teeniest bit of JavaScript and JQuery. The results of self-teaching :) But now I am excited that the months of self-teaching in my free time are over! Hack Reactor and programming full-time ftw, yay!

Which Cohort?

In my interview, I was told the soonest available cohort was in June, so I said that would work great. Turns out, though, that there’s a opening for the April cohort. I’ve been trying to talk myself through the pros and cons of starting earlier vs. later, and I’ve discussed with several people. These are my conclusions thus far.

April

Pros

  • My ultimate goal is to be a software engineer, and this means I can start going for that goal earlier!
  • Spending less time doing tasks I’m not particularly excited about at my current company
  • More time doing something I love
  • Less time earning my current (so-so) salary and more time (hopefully) earning a higher salary post-HR
  • I don’t have to wait as long!!! Super excited to join Hack Reactor.

Cons

  • Won’t have the full tuition saved up yet so I’ll have to defer or take out a loan
  • May feel less prepared because I’ll have less time for the pre-course curriculum
  • Will feel like I’m leaving my company in a time that I am very useful/integral

June

Pros

  • Will have saved up the full tuition amount
  • More time to transition out of current company and see certain projects to completion
  • Due to above, may have more to put on my resume in terms of accomplishments
  • A lot more time to spend going over the pre-course curriculum multiple times = feeling more prepared at HR!

Cons

  • Have to wait longer and drag out tasks at current company
  • Will be programming intensively through the summer (slightly unpleasant due to years of conditioning in school with summer breaks)

Most of my conversations with people have led to my leaning towards April. I’ve emailed asking if a small deferral amount would be possible if i were to do the earlier cohort. I won’t flip a coin, but regardless money is still helping to decide this for me. </cheesy>

Hack Reactor Admissions Decision

My interviewer told me I should hear back within the week, but if not that I could email her and she would reach out to Kristen, the admissions manager. I’d read a lot of other blogs where people had heard back within a few days–some even the next day! So, I had that in mind…

After my interview, I wandered SF and then went to a Women Who Code iOS workshop, which was pretty fun. I thought it’d be cool to learn Objective-C because then I could help the mobile developers at my company. I made my first (very basic) app! The next morning I woke up at 4am to catch a flight to Colorado to go skiing! Every time I had service in the mountains, I checked my email. 5 days of skiing came and went, and I hadn’t heard anything. It was torture! On the other hand, I braved my first Blue, which was initially terrifying and tough but eventually very fun and gratifying. Just goes to show, not much worth having or doing comes easily :)

Finally, a week passed, and I thought–maybe I got rejected. If I’d gotten accepted, wouldn’t they have emailed me earlier? I was getting tired of repressing my anxiety, so I emailed my interviewer a fairly enthusiastic follow-up, that evening. She emailed me back at 3am, letting me know that she had reached out to Kristen, who should be getting back to me soon. Her email was pretty devoid of any emotion or indicator of my admission result (which was probably intentional) so I gritted my teeth and forced myself to go into the office and focus on work. It was an abnormally ridiculously busy day.

One funny thing I should mention–I’m part of the Hack Reactor Meetups group, so I constantly get emails “from Hack Reactor” which always made my heart skip a beat and then I’d realize it was from the meetup group. I kept expecting each email to be my admissions decision.

Finally, in the midst of being really busy in the office and trying to do a million things at once, I got an email from Kristen, and without really thinking about what it was, I opened it.

“Hi Amira, We are excited…”

Stopped reading. Glanced at the email header. My admissions decision! I got in! A second after that my boss started talking to me, so I had to save my mini-celebration for a bit later.

But. So. Excited!

Learning Objective-C

I thought it would be fun to write a quick short post on my first initial impressions of Objective-C, from a few lessons from Codeschool.

1. Types!!!
2. Immutable arrays?!
3. Why did Apple choose this…?
4. Methods have a very… interesting syntax: [object methodWithAParameter: a andAnotherParameter: b]
5. XCode is pretty cool.
5. I miss Javascript and Python.

Let’s see how the rest of this learning goes….