Tag Archives: personal

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.

My forearms are covered in scrapes from carrying a desk I got off craigslist across hilly blocks of the San Francisco Chinatown. A few days ago, I spent all day lugging heavy things from my friend's place in Oakland to the subway, to the bus stop and to my new room in SF Chinatown. And I did it on a strained ankle. It would have been great to have rented a car or to have hired movers, but I couldn't afford it. Since I can't really justify the cost of a bed, I just got a thin mattress. I don't have a refrigerator and I've been spending a lot of time at a local coffee shop nursing $2 cups of tea for the free wifi.

Not having money sucks.

I'm not completely sure how I arrived at this point. In some ways, I think it's due to my ambition. Six and a half years ago, I was a top paid English teacher in Taiwan, earning over double the average salary for foreign teachers which was already good in comparison to local teachers. Four years ago, I was half owner of an EFL school in Taiwan, and the school was doing okay. Month on month, I was earning less than I had been as an employee before, but still more than most foreign EFL teachers in Taiwan. I put most of my cash savings into the school, but unfortunately got a margin call on my stocks in 2008 in the same month the school happened to be late on payroll. As a result, I was forced to sell most of my long term investments at the worst possible time. Not long after, I started losing my passion for the business. In 2010, I left it to my partners and moved to China as part of a longer term plan to return to the US.

In China, I lived off of savings for over a year. In that time, I recovered a bit from my 4 years of putting in 70 hour work weeks and I also did a lot of learning. I learned to read the simplified characters used in mainland China, improved my drawing and made a few flash games. Eventually, I got hired by a start-up focused on educational games for the iPad and iPhone. I was working with a great group of people and seeing from the inside what a tech start-up looked like. This was exactly what I'd wanted... except that the salary was about half that of what fresh graduates can earn as English teachers in Beijing. Also, rents were nearly as high there as in Taiwan or many parts of the US! As a result, I got used to living in a small room with a kitchen and bathroom I shared with a stranger.

Now that I've made the jump to one of the most expensive parts of the US, my meager savings from China are in dwindling rapidly. So I took the cheapest place I could find -- a 9 square meter room in a Chinatown apartment where I share the kitchen, the bathrooms, and the shower. I may learn some Cantonese here, but it's not a comfortable place to stay. My thin mattress isn't comfortable. Having insanely steep hills in ever direction isn't very comfortable. Somehow, though I find it more motivating than depressing.

I'm firmly past the age when it's socially acceptable (especially for a man) to be floundering financially. I'm entering my mid 30's, with little in savings and no job. But I have the tools. I have some experience with some software, I'm multi-lingual and I have experience starting, building and running a business. I know I can do more, BE more than I ever could have before. The comfort I can take in my discomfort is that it just may give me enough motivation to do it.

I didn't get much programming done in November or December. I did pick up a copy of The Land of Lisp, which was awesome. I'm not quite sure it was ideal for a beginner such as myself, seeing as I used nothing but the REPL for two weeks not knowing I had other options and found myself bogged down about 40% of the way through. The author's enthusiasm and ability to make interesting exercises out of so many otherwise dry activities was great. I may return to the book later.

One reason I didn't do so much coding was the fact that all of my acquaintances here in the Beijing hostels seem to have social lives that revolve around drinking at bars. Some of them are great people... but you really don't have much to show for a late night at a bar the next day, except maybe some good memories. For that reason I think it's much better as an occasional event than a regular way of life. Tons of my buddies in Taiwan loved to drink, but the two groups I regularly met up with were centered around either strategy board gaming or outdoor endurance sports. Surprisingly both groups included a lot of computer people and some artistic people as well. Beijing is a big city, though, and I'm sure those people have to be around, with the possible exception of the distance runners.

Another thing that slowed me down is that my Chinese classes got way tougher than they had been before. Our teacher is great, and she's willing to regularly correct our essays, but that means we regularly have to write essays. Even now, I've got all kinds of non-standard Taiwanese phrases and the occasional traditional character popping up in my writing. I guess it's a good thing to have a teacher tell me though. I must have said 綁鞋帶 a five or six times since getting to the mainland instead of 系鞋带, but nobody pointed it out to me since they could all understand me... and that's just one of hundreds if not thousands of phrases I've got a little bit off.

One area in which I made a great deal of progress was drawing. Somehow, and I don't even understand how myself, I went from barely being able to do anything realistic to being able to draw a decent portrait given enough time, or a potted plant in 15 minutes or so. The aspect of this that surprises me most is that absolutely nobody helped me at all with it. I literally just got on google, searched "learn to draw" and took it from there.

Right now, I'm feeling energized. I've had time off from exercising the coding part of my brain and now I've got the desire to go at it again. I'm going to start working on that game like Tetris with a shop.

It's a little startling to notice that a month has gone since my last entry here and I haven't made any real progress on my quest to become the programmer I could have been a decade ago. Naturally this less than thrilling progress assessment leads to introspection. Here are some of why I haven't done any programming:

I've been spending time studying Chinese in the mornings -- I don't want to solve this... not now. Due to the massive Taiwan/Beijing regional differences, I'm learning more words faster than ever before and I'm actually getting to where I can almost write normally in simplified. Getting used to reading it was a pain, but writing is a joy.

I've been working out 3 afternoons a week -- Taking at least some care of myself is important. I've started taking an iPod to get some learning done while I'm at it, though.

I've been trying to teach myself to draw. It was flash games that drew me to it, and it's also a really cool life skill I'm determined to have eventually. It's really slow going, though and maybe I should put it on the back burner until I'm actually making money from something (my last few projects have died down).

It's hard to program in this little Beijing hutong hostel where I'm living. There's no desk in my room and it's cold enough in the courtyard that I have to wear gloves and type slowly. I could move. I'm planning on it actually, but most landlordspeople in Beijing really want to rip off non-Chinese. As a result, it's a long complicated bargaining process that often ends in me walking away from a bad deal. I've found a good-enough place, but the guy living there won't be out for another month or two.

Random other stuff keeps drawing my attention away. For example, I've started learning Swedish. I'm not sure why, but I felt supremely motivated to give it a wing a couple of days ago. This will probably pass within a week, but then it will be Chinese ktv or dancing or some other thing thing I've long been drawn to. Those kinds of things are great for the social life, but they don't exactly lead to prosperity. The world, especially the modern world, rewards specialization and I have to concentrate my efforts to some extent... somehow.

Related thoughts:

Rapid Improvement


http://www.paulgraham.com/wisdom.html

For the past several years I've been working in the EFL industry, first as a teacher and then later as a manager and part-owner of a school. While it has been rewarding seeing the progress of my students and the results of various curriculum changes, it has also left me unfulfilled in other ways.

From a business standpoint, teaching English to children in a place where the fertility rate is about 1.2 doesn't make much sense. More importantly, TEFL isn't doing much for me personally anymore. I haven't been learning as many new things as I had from previous work and while my Chinese and Taiwanese improved through living in Taiwan, my other thinking skills deteriorated. Sadly, I've mostly forgotten how to speak Japanese and I don't remember any math I learned after the age of 15. It's just not worth letting my brain continue to rot while I earn under 30k/year. I'm out.

So, what does a 32 year-old guy do when faced with no real career or money making abilities? I'm going to learn how to program. I did a bit of tools/sysadmin work way back in the day before graduating and had some aptitude for it at the time. While I bring my 6-years of living in Taiwan to a close, I'm going to start learning some ruby, and Ruby on Rails. I'm drawn to rails mostly by the fast-moving community behind it, but the ruby language itself is also appealing to me. It reminds me of Perl. Hard things are doable and easy things can be done quickly.