Benjamin Martin

My First Month at Hack Reactor

Tuesday, October 22nd, 2013

A red Ferrari and a fleet of other luxury cars cruise through 5th and Market while a homeless man on the corner attempts to catch a nonexistent fly. After several minutes of passing exuberant tourists, harried professionals, and boisterous street dwellers, I find the correct building. I acknowledge the doorman I met a month earlier and take the elevator up to the eighth and top floor of 944 Market St. The beautiful sunny day and stale air of the city leave me as I enter my first day at Hack Reactor.

The first sight revealed by the opening elevator doors is the Hack Reactor logo painted across the wall next to closed double doors. I panic slightly and knock on the door too many times. A helpful lady named Shanna opens the door looking surprised. I'm directed towards the "party corner" where lectures are held and our superinstructor Marcus stops his intro lecture to acknowledge me. As I was to soon learn, punctuality is of utmost important at Hack Reactor, starting on day 1. The rules are thus: 1. The program runs 9 am - 8 pm, Monday - Saturday. 2. The doors close and lock at 8:57 am. After then you'll be the guy who has to knock to get in. 3. If you are late to a lecture, be it in the morning, after lunch, or whenever Marcus wants to chat, he will notice, stop the lecture, and ask why you are late. The curriculum and the students I am learning with are equally amazing. HR emphasizes pair programming, where two people program concurrently with one person typing ("driving") and the other person doing most of the talking ("navigating"). My partner for the first programming assignment (or "sprint"), Daniel, did investment banking at Lehman Brothers for a couple years out of college and has since worked as an associate at a Venture Capital firm in SF. He wanted to make things in addition to investing in them, so he joined Hack Reactor. My partner for a subsequent sprint, Kate, did her undergrad at MIT then got her Ph.D from Berkeley in materials science. Though the hours at Hack Reactor are long, she enjoys not being on call 24 hours per day like she was for several years of her graduate program. The other students are an equally impressive mix of makers and Ivy League graduates. Most have engineering or finance backgrounds. They all share a similar discontent in one way or another with their previous life and decided to take a new path. Whether it was overwhelming bureaucracy or dull work, everyone has come here with a genuine desire to build cool things. They are all sociable and friendly. Hack Reactor does an incredible job of filling their cohorts with top-notch students. I'm a little confused how I got in, actually. Feeling out of place is an important theme discussed throughout the program. "Impostor syndrome", as Marcus describes it, is a common feeling in any creative industry, tech included. How can someone want to pay us six figures to do something we don't feel competent in? The amount of time it takes to go from having no idea how to do something to have a good working knowledge, as Marcus emphasizes, is embarrassingly short. Software engineering isn't about having a large knowledge base to draw from as much as it is effectively figuring out what you don't know. One of the main activities Hack Reactor does to prepare students for interviews is toy problems. These are a random algorithm you pound out a solution to every morning from 9:30 - 10. Examples we've done so far include finding the largest contiguous sum in an array of positive and negative numbers, finding the nth Fibonacci number recursively below exponential time, finding the power set of a string, and returning all the different words that can be constructed from a string of telephone numbers. Before Hack Reactor begins, you are required to complete a large amount of non-trivial programming so you come in ready to tackle these kinds of problems. One task is to rewrite the entire Underscore.js library. This is a hugely popular set of helper functions for accomplishing various JavaScript tasks. These range from basic things like iterating through an array or object through more specialized jobs like storing the result of a computationally expensive function so it is not called more than once. There is also a recursion segment where you rewrite the native JSON.stringify(), getElementsByClassName(), and, if you're brave enough, JSON.parse() functions (see here for the difficulty of JSON.parse()). An hour is given to go to the gym or otherwise be active every other day. I've been going to the nearby 24-hour fitness with a classmate named Patrick who's pretty dedicated to his routine. Over the last couple weeks I've seen him deadlift 405, bench 235, squat 325, and overhead press 155 all with flawless form for multiple reps. We've been pretty consistent about it so I'll definitely see some gains working out with him - I did not expect this to happen while attending a programming school! Almost everyone stays past 8 pm. Be it to work on a sprint or something else of interest, play a musical instrument, or attend a meet-up being hosted at Hack Reactor, the atmosphere is still vibrant at 9 and beyond. My first week I would often stay until 10:30 and 11 PM but pretty quickly hit a wall. Though the program is only three months, each day is 11 hours long. To get the most out of each day, you must get a good night's sleep. What you gain by staying up to work on something you lose in the next day's work and the loss usually outweighs the gain. The program is twelve weeks long and split into two classes, juniors (us who just began) and seniors (who are already six weeks through). We do weekly code reviews with the seniors to get feedback and talk about their experiences in the program. They're all pretty awesome people. A senior named Blake used to be a professional musician and brought his keyboard to Hack Reactor, which I've been basically playing nonstop when I have a spare minute. It's now Tuesday of the 5th week and us juniors work from home today while the seniors participate in hiring day, where several company representatives come to meet and set up interviews. From what I heard there are many more companies coming than there are students. The companies range from smaller startups to large names like Pandora, Facebook, and Google. Us juniors are fast approaching interim week (a week off in the middle of the program) and transitioning into becoming seniors. I look forward to having a little down time and heading back home for a few days. More importantly I am looking forward to building my personal project which will be presented in about three weeks. Though I have an idea for what I want to build, I'm still not entirely sure what shape it will take. The tentative plan is to make a 3-D visualization of your Facebook Social Graph. You log in and it show's everything that's going on in a visually appealing way through 3-D space. I can't nail down many specifics beyond that yet. I'm undergoing more personal growth now than I probably ever have in my life. I'm being challenged and pushed to succeed every day by motivated peers and staff. When our hiring day rolls around in six weeks, I know I'll be ready to begin my career as a software engineer.