Why I left my job to do an MS in CS

Leo Mehr
5 min readDec 21, 2019

August 2018, I left my job as an algorithm engineer at Hudson River Trading to begin an MS in Computer Science at Stanford. I had been working at HRT for two years after undergrad and I was enjoying it greatly. “Why leave to do the MS?” many have asked, and here is a collection of my reasons:

Classes are fun

After working for a while, I really missed taking classes.

  • Course content is curated by professors, experts in their fields.
  • Assignments focus on the fun experience of quickly learning new ideas and putting them right into practice. It’s a sad reality that a lot of real work is intellectually less interesting than school content.
  • You have the autonomy to pick anything that interests you. Even beyond technical requirements! I mostly took the coolest-looking ML and systems classes (on the whole, really good, really practical), but also classes like Intro to Acting and Sailing. In Steve Jobs’ 2005 Stanford commencement speech, he described a seemingly random undergrad experience. He took a calligraphy class. He loved it. Yet, “none of this had even a hope of any practical application in my life. But 10 years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac.” The most unexpected learnings can serendipitously prove essential in your future endeavors. School especially enables such learning opportunities. And Jobs continues, “it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backward 10 years later.”
  • Grad-level courses often cover the cutting edge in a subject, in a way that you don’t really get in work (unless you’re doing industry research). A collection of courses gives you a big picture of where the field of CS is heading.

Stanford is an exciting place to be

  • VCs literally roam the campus. By virtue of being a grad TA in CS, I was invited to a dinner at Sequoia. I met Ben Horowitz at an A16Z event. Several friends from my first year now work at top VC firms down the road.
  • Half the students are talking about the idea / startup they’re most excited about. My summer internship was at Sisu. They were in stealth mode when my friend told me about them — that friend’s CS prof advisor was the founder.
  • CEOs constantly give talks. Last quarter I took a cloud computing seminar during which I saw 8 public company CEOs give talks to a class of ~40 students (including those of Zoom and Docusign). The class boasts an impressive list of speakers. Stanford’s entrepreneurship program also hosts a seminar with a steady stream of founders, CEOs, and VCs.
  • This nymag article paints a caricature of the school, but the hype is partly real. (Photo below is from the article)

Meeting people

  • I probably met the same number of people in the first 2 months at Stanford as in my 2 whole years at HRT.
  • New grad orientation at Stanford is insane. I must have met 200 people in one week. There is huge diversity in the student body. Everyone is excited to be there and to do something big.
  • There are countless academic and social organizations. You can fill your calendar every night for weeks if you want.
  • The more people you meet, the more likely you are to find good friends or important connections for the future.

Explore new job opportunities

  • The MS is 2 years, so I was able to do 2 job search cycles. You don’t get that many of these cycles after school, and they’re pretty extreme at Stanford — companies claw their way to get career fair spots and talk to students.
  • Job app cycles allow you to try new opportunities. My whimsical interests drew me to consider a PM internship my first year and, despite roughly no background for PM, I applied to a bunch of places. I definitely would not have done this while working full-time, and even though I discovered my true passion still lies in engineering, it was a fascinating and worthwhile experience to go through a couple rounds of the PM intern process.
  • I did an internship at a 15 person startup. This felt a bit weird at first, being an intern after having been a full-time engineer for several years. But, it’s unique in a couple of cool ways. First, at such a small company, I was treated as a regular engineer and still could have a huge impact. I was able to work there for 2 months, no strings attached, and learn how the company runs, how their tech stack works, how they acquire customers, etc. The rate of learning at a new job drops off rather steadily, and in just those first few months you get a concentrated dose of new ideas.

Alternating school and work

  • Industry and academia teach you different yet complementary skills. By alternating, you can use insights from one to apply in the other in a way that compounds. That is, I believe I learned much more by working in between undergrad and my MS, rather than going straight to the MS.
  • After undergrad I was excited to build real systems, to see the inner workings of a top high-frequency trading firm. The transition from school to full-time engineer was challenging in many ways, and I quickly realized that success in work is very different from success in school. People skills matter. The “perfect solution” doesn’t always win; hacking it is sometimes better. A bunch of things you learn in school are often useless on the job. Even in CS, e.g. automata theory (cool topic, but seldom directly used in a software job).
  • After working for a while, I began to miss school. I wanted to learn about the cutting edge of systems and ML. I wanted to meet a ton of people again, to be around hot new startups, to find potential future co-founders. A couple years of real work taught me to be skeptical of academia, so I came in with a critical eye. But also with an eagerness that I would not have had straight out of undergrad.

Assorted positives

  • Having the “S card” is pretty cool.
  • Once completed, I can officially be called a Master of Computer Science.
  • It was a convenient way to move from NYC to Silicon Valley; Stanford provides housing, a big social community, etc.

Some downsides

Every decision in life has its compromises, and the MS is no different.

  • Opportunity cost. Although the program is just slightly above net-0 with a teaching or research assistantship, this is far less than 2 years of salary.
  • Schoolwork inevitably overflows into nights and weekends. Good work/life balance is somewhat easier to find in industry. I honestly thought the MS would be less work, and that I would have more time to work on my own projects, but that simply has not been the case.
  • Palo Alto is not nearly as fun as NYC.

Overall, I have been loving my time at Stanford. As a friend would say, I cannot experience the counterfactual, but I’m really happy with my decision to have come to Stanford to do an MS in CS.

--

--