We spent the last couple of days of week 2 at Hack Reactor re-implementing underscore.js functions. It may seem like an odd and useless exercise, but I feel I've gotten some good things out of it.
Tag Archives: Hack Reactor
How Code School helped prepare me for Hack Reactor
I've just finished my first week of Hack Reactor, an intense program even in comparison to the other hacker schools. Our class runs from 9am to 8pm six days a week, but in honesty I was there until 11pm on most nights and I was never the last student to go. The students in our class come from a mix of backgrounds. Some have done CS degrees and others had virtually no technical background at all before getting in. In this week, we've learned how to use Jasmine for automated testing, we've slung jQuery to make front-end Twitter clones, we've implemented linked lists, queues, stacks, trees and hash tables, and meditated upon many JS koans. One thing that really helped make it possible was that the instructors signed us up for accounts at Code School and gave us some prep work to do before the first day of class.
Test Driven Development in JavaScript using Jasmine
Test Driven Development (TDD) is a development process that suggests we write tests before we write our code to ensure that the code works as expected. While I've often read blog pieces praising the benefits of TDD, today was the first time I've really had a chance to experience it for myself.
My first day at Hack Reactor Class
The first day was no disappointment. In fact my classmates were impressive enough that I felt just a bit of impostor syndrome. One thing that makes it especially interesting is that half the students in the school were just starting as I was, and half the students are in a cohort that is about half way through the program. That other cohort was shockingly capable! One of the first things we did was pair off with advanced students so they could demo their projects to us.
Hacker Schools in San Francisco
Since my arrival in San Francisco last summer, I've become aware of the new "hacker schools" popping up around the city. Their stated purpose is to take smart, motivated people who may or may not have a strong technical background and turn them into world-class junior developers in a short time.
The Starter League
The first school of this type that I ever heard of was Code Academy in Chicago (renamed as The Starter League due to name confusion after the online school Codecademy launched). Their system was pretty unique-- students spend 8 to 10 hours per day for 2 months, working in pairs as they learn a stunning amount of ruby, HTML/CSS/JS and Ruby on Rails. At the end of this time, they have an interview day in which they demo their projects to various tech companies, including some of the hottest local startups. The school has only been running since 2011, but results have been excellent and even DHH, the creator of Ruby on Rails, is a fan of the program.
SF Hacker Schools
With that kind of success, it wasn't long before similar schools started popping up in the Bay Area. The demand for top notch developers is extreme here, but very few companies are willing to train and they take only a tiny fraction of their applicants. A program to quickly bring students up to speed in the technologies that local start-ups are using is the perfect solution. It's an incredible learning experience for the students that opens doors, the companies can hire solid programmers to join their teams and schools can earn money from either or both of the former two groups. From what I understand, Dev Bootcamp's first class was hugely successful--Over 90 percent of the students landed jobs shortly after graduation (at nearly double the average US salary) and of those who didn't one opened a similar school called App Academy that focused on iOS development and the other opened Hack Reactor, an even more intense school with a stronger focus on JavaScript and front-end technologies. There is also another school, which I know less about since it doesn't accept men.
In contrast with computer science degrees at universities, these schools have less of a focus on CS theory and more of a focus on building things. Students write a lot of code, and they use newer languages and frameworks. Another feature is heavy use of cutting edge tools and various automated testing frameworks that are commonly used in bay area start-ups, but not so common yet at larger, more traditional companies. Most striking to me is the intense nature of the study. No college I've ever seen puts students through 8 class hours of computing classes per day.
The bay area hacker schools remind me more of high-end intense language schools! There are a number of 6 hour per day intense language learning programs in which students work in pairs or small groups, work hard, and acquire a great deal of vocabulary, speaking skills and reading skills in a short time. In my experience learning mathematics as a teenager and then later learning Japanese and Chinese in my 20s, working at something 4 hours a day isn't just 4 times as good as 1 hour a day. It's probably closer to 10 times as good. So even before encountering any students of such programs, I was bullish about the idea. But when I did finally some students from App Academy and saw how much they had picked up in only a month of classes, I knew I had to join.
My quest to get in
They had only been in class for a month or so, and their class was free since they were the inaugural (i.e. guinea pig) class. In that short time, they had already picked up enough to start making some kind of fun iOS projects! Beyond that, I hung out with a bunch of them and played a cool board game called 7 Wonders or something like that. It was a fun group and they were genuinely excited about what they were learning. I had some background in iOS. Not fully aware of how rigid the program was, I bought a Macbook and started working on the materials they were using hoping I could get into the program in some way. I realized pretty quickly it wouldn't be possible, so I didn't press the issue. But I did ask the instructor what other materials they used and I applied for their next batch, which they said would be focused on web development with rails and importantly would only charge tuition for students successfully hired.
Next, I started learning all I could about similar programs, what it would take to get into them and how expensive they were. Unfortunately, for the most part, they're pretty expensive. Dev Bootcamp, for example, costs 12k. That's more than I spent on tuition for all of my B.A. at one of the better public universities! They're flooded with applicants and pretty difficult to get into, also.
When it came time for winter applications, I applied to multiple schools. I talked with former students to get as much of an idea what they were looking for. One of my major difficulties since coming back to the US has been much of what I accomplished in Asia (language learning, running a business in a foreign country, etc...) doesn't really translate into much social proof here. It's awesome for social settings, but in interviews or people evaluating my professional abilities, my background looks a bit meandering. So, I focused on my track record of learning hard things, my adaptability and my genuine interest in education. I think it went fairly well. I made it to the interview stage with 100% of my applications in which I followed this strategy.
Interviews
Hack Reactor had a pretty extensive process. Of all the schools I applied to they were the only one to require a video. They asked me to teach something I was interested in. What a perfect thing for me! I put my heart and soul into teaching for most of my 20s! The challenge was not to teach something I wasn't so interested in anymore, such as Chinese learning or something that would likely be boring to them, such as phonics. In the end, I decided to explain what spaced repetition systems are and their strengths and weaknesses. After that, there was a general interview. Last was the technical interview, which was kind of hard. It was an interesting system, though. The interviewer actually taught me some useful things about prototypical inheritance in it, and I had them down pretty solidly by the end. I felt good about my showing, but they clearly had a high bar technically. Still, even if I got a rejection letter the next day, I had learned how to monkey patch Javascript classes!
The technical interview with App Academy on the other hand, was terrifying. I knew they were the only program I could afford, and my hopes were pinned on it. I started out pretty confident, but then the interviewer asked me the scariest possible question-- Fizzbuzz! Before he'd even finished explaining it, I felt my heart sink. Knowing how ridiculously high their applicant to student ratio was, with a question that easy I'd probably have to solve it as quickly as I could type. Who knows what else I'd be filtered on... language choice? Running correctly the first time? I decided to use ruby since that's what they use, and typed as quickly as I could, made a few errors, corrected them and ran my program through a fizzbuzz grader I just happened to have made a year earlier to ensure it was correct. For a moment the instructor thought I'd made an ordering mistake with the mod 3, mod 5 and mod 15 conditionals but then realized all was good and said as much, sounding pretty upbeat. What a relief! The rest of the interview was mostly questions about why I was interested, whether I'd be able to devote my full attention to the program, etc. I asked a few questions of my own and all seemed to go well.
Disappointment
But I didn't get in. That was rough. After having sought them out last summer, talking to the students of the first batch and clearly being so motivated it was a blow to get rejected. Worse yet, when I emailed back to see what I should work on to be a stronger candidate for their next batch, they told me I was out for six months. For someone in my financial/career state, six months was dream killing. All over a stupid fizzbuzz interview! Still, I have to say that Ned and Kush were incredibly kind, far beyond the call of duty. They gave me a good amount of feedback, and were helpful in a number of ways. I'm sure they were flooded with applicants, too. Ned even went so far as to offer to intro me to other schools whose owners or instructors he knew. Unfortunately, all of them had 10k+ tuition fees taken up front instead of after job placement like App Academy's system.
Around that time I heard back from Hack Reactor, asking how much financial aid I would need to do their course. The amount I told them was pretty much undoable. Still, though... it made me wonder. If they were contacting me again and they already knew my situation from the previous interviews, maybe there was still a shot. It was an exhilarating feeling! Of all the schools I'd visited, Hack Reactor seemed to have the highest bar in terms of everything. Other schools went five days a week, they did six. Other schools had nine hour days, they had eleven hour days. Other schools went for two months, they went for three. Also, their focus on JavaScript frameworks was a plus to me. Studying at a school with such a tough entrance filter would not only give me skills that would greatly improve my ability to do more interesting tech work in Silicon Valley, but it would also impart much needed social proof to convince various gatekeepers to give me opportunities. It was time for extreme measures.
Tenacity
I went out every bank I could find in the city. I knew a loan wouldn't be easy since banks are big, slow-moving, conservative behemoths that would almost certainly have no loans for non-university schools that have only existed since 2011. The fact that I have essentially no US credit history for the last 10 years didn't make things any easier. I channeled everything I've learned about sales from my entrepreneurial experiences going back to the house-painting franchise I ran when I was 20. I found bankers who had heard of the new hacker schools and showed them statistics on previous graduation classes on my Macbook. They said no. It sucked, but I kept looking for more creative ways of funding the class I scraped together just enough. And I got in.
It was a thrilling moment. It's a little terrifying as well. This is my shot. It took a lot of tenacity to get it. I have 12 weeks to make the most of it, and it starts tomorrow.
I'll probably be way too busy to write in detail, but I'll be keeping a log of notes, study tactics and observations here. Expect to see projects showcased here as well.