Blog Archives

Hack Reactor: Day 1

I made it to SF on Wednesday with a couple of suitcases and my new MacBook Air, ready to kick off the 12 weeks of programmer development at Hack Reactor. Today was the first day of class, and I finally met all of the other fellow students I will be sharing this experience with. There are about 20 students in this April 2013 class of varying ages, but the majority are in their mid to late 20′s. Backgrounds range from finance, to front-end web development, to biology.

Most of the day today was spent going over policies and procedures (free breakfast every day!), along with the basic Git workflow for Hack Reactor projects. They really stressed the importance of committing your code in Git about every 10 lines you write, or every time you fix a bug or add functionality. These frequent commits will make it easy for our future co-workers to figure out what we did, along with the ability to roll back the code to very specific points of the development in case there are future bugs or conflicts.

We also went over pairing, which we will be doing for many of our learning sprints. This basically involves working with another student on the same computer that has two monitors, two keyboards, and two trackpads. Both monitors show the same screen, and only one person can be typing or controlling the pointer at any time. This forces one person to be driving (writing the code), while the other person navigates (tells them what to type). It will be interesting to see how pairing works out for the more complicated projects that are in our future.

Class went from 9am until just after 8pm today, which is the standard schedule. However, all of the instructors mentioned that many students will be staying later to finish up projects and have one-on-one sessions with the teachers. First day down!

Read more

Hack Reactor Prep Work

I spent the last few days visiting San Francisco to check out Hack Reactor in person, and to secure housing for the next three months. I was able to find a great place to live bordering the Presidio Park in Richmond, which should be a fairly easy bike ride downtown to Union Square and Hack Reactor. I also met a few of the Hack Reactor instructors in person. Marcus took the time to work with me one-on-one to answer some questions I had about the prep work, which was super cool of him to do.

The prep work for Hack Reactor is designed to bring all of the students up to speed on some building block topics we will be covering during our first week. It is designed to be completed over 2 weeks, with Skype check-ins along the way to monitor our progress and help us out with sections where we may be stuck. Over these weeks I easily spent 100 hours on research, online tutorials, and writing the code for each section. The three main projects are to be submitted via a GitHub pull request so that the instructors can go over our code with us.

The first major component of the prep work included an introduction to Git, the version control software used in most professional environments. It allows engineers to work on separate sections of the same code base at the same time, and then merge their changes together without conflicts (hopefully). I worked through a number of online tutorials, the most helpful of which was the Git Real course on Code School. This course really cemented in what Git was, and how to use it.

Next up was re-building the popular underscore.js library components using JavaScript. I learned about all kinds of basic JS programming structures like loops, functions, callbacks, arguments, and conditional statements. This was the section I most struggled with because some of the underscore components are quite tricky. If you’re not familiar with underscore.js, go check it out and run through the wiki. I guarantee it will save you tons of time versus writing these building-block components from scratch.

The next major component of the prep work was building a more advanced version of the Twitter clone I built for my entrance exam. This one is called Twittler, and it required quite a bit of jQuery DOM manipulation. I completed both of the Code School jQuery courses to become more familiar with how to use selectors, animations, and DOM insertion/deletion. You can check out the my final version of Twittler online, which uses randomly generated tweets from a javascript function.

The third component was a basic computer science module where we learned about recursion and how to use it in JavaScript. Once I wrapped my brain around what was involved with recursion, the actual assignment did not take too much time to complete. However, there is still much to learn about this topic and how to leverage it in more powerful ways.

I just got back to Utah, but I’m looking forward to being in SF next week!

Read more