Last winter, Stanford CS Professor Andrew Ng taught an online course in Machine Learning. I took the course, and today the students in the course got an email from Prof. Ng asking for our stories. Here’s what I wrote to him. Maybe this can be an inspiration to someone out there hoping to become a programmer!
tl;dr, in 15 months, I went from unemployed lawyer to employed ruby hacker.
Hello Prof. Ng-
Thanks again for teaching ML. Here is my story.
First some quick background info: the job market for lawyers is very bad. During the economic downturn firms were laying off dozens of people at once, and many froze hiring. I graduated from law school in 2009, and was lucky enough to start working for a big firm. I had no work to do, ever. I would just sit in my office reading the news and wishing for my phone to ring. The firm had way too many young lawyers, and not enough work for us to do. In January 2011, me and few others were laid off. I saw it coming and had been looking for work, but no one was hiring. I was unemployed and my legal career was over before it started.
I decided to teach myself to program and start a new career as a programmer. I came up with this idea from reading Hacker News. There were so many stories about how programmers had such an easy time getting jobs! In contrast, for lawyers there were about five job postings in the entire state of California, and every posting got hundreds of resumes. In fact, when my boss came into my office to fire me, I was installing python onto my work computer I did an “Ask HN” for advice on learning to program, you can check it out here.
Only eight days after making this decision, I started volunteering for a non-profit to build them a database system. I put it on my resume like a real job, and worked as hard as I ever had. It took me five months, but I built them that database, and taught myself PHP, SQL, etc at the same time. Nowadays I could build that database in a weekend, in a half-dozen languages .
Then I built a site to apply to Y Combinator. It was a news recommendation website. That’s what got me interested in ML. When I tried to build the recommendation engine, I realized I was in way over my head. About that time the Stanford classes were announced on Hacker News. I couldn’t believe my luck! So I devoted myself full time to the AI, ML, and database classes. I also downloaded Stanford CS106A and B, and worked through those.
In these classes, the rate of learning for me was faster than working through books by myself. You can teach yourself syntax, but it is difficult to improve your overall skills without someone guiding you and giving you exercises that are appropriate for your ability. The classes gave me a way to measure my progress. Was I a “real” programmer or just a pretender? Since I could do the work, I was a real programmer! And when I got stuck on an exercise, I could go to the forums for a hint. The forums were key to the course.
Three weeks ago, I got a paid internship as a ruby hacker. I mentioned the Stanford classes during the interview and my interviewer had heard of them. I am no longer adrift without a career, in contrast to thousands of underemployed lawyers nationwide, banging their head against the wall, hoping for a miracle. At my internship, I have already committed code that is in production (despite never having written any ruby when I was hired). In the past 15 months I have learned enough that I was able to pick up ruby/padrino and start contributing quickly. After this internship I am confident I will be able to get a job hacking ruby, maybe at the same place, maybe somewhere else.
Programming, especially mathy programming like ML, gives me great pleasure and is a wonderful way to spend time. I’m really surprised that I can get paid for doing something that is so fun!
I am currently taking the Algorithms class. I plan to work through as much of the Stanford CS curriculum as possible, and give myself a virtual “Stanford CS degree” on nights and weekends while hacking ruby during working hours. In a year or two I will be in really good shape, having real-life working experience, and having learned so much from online courses. Thanks to Hacker News and these online courses, I have a new career and am having the time of my life!
Thank you so much!