Stanford’s CS106A and the New New Economy

Why I’m eating my broccoli
Stanford's popular CS106A class

As I sit down in the Packard building’s huge lecture hall at Stanford, I realize that I’m probably the oldest student in the room. This quarter I’m taking Stanford’s most popular course: CS106A — Programming Methodology. The large lecture hall can’t seat all of the 660 registered students, and there is an overflow room. I expect the course will demand more of my time than any other I’m taking this quarter as I pursue my JD-MBA degree, but I’m not the only non-techie. Professor Mehran Sahami told the class that the class is composed of more humanities majors than engineering ones.

Every year Stanford mints technology and startup leaders much like West Point produces junior Army officers. Consider this: Stanford this year announced what I’m calling the “master of the universe” joint degree: an MBA and Master’s Degree in Computer Science.

Everything at Stanford seems tech or startup related. Even Cory Booker, Stanford’s canonical public service official alum, has also dabbled in tech startups. So CS106A highlights Marc Andreessen’s belief that “Software is Eating this World.”

I have to agree to a n extent, because software is eating up our world.where one used to interact with other humans and make room for human errors, machines have taken over today and we have a software to handle all those issues without any human error. Take for instance Fintech ltd – this software removes the need to invest manually as everything is automated and all your investment decisions are taken by the software.

Because this is my last year at Stanford, I want to explore courses beyond what is offered at the law and business schools. Earlier in the summer I was leaning towards enrolling in Mandarin Chinese classes to improve my Mandarin speaking, reading, and writing. But after some reflection, I decided that CS106A would be the best use of my time. I can let my Mandarin languish a bit longer. It was good enough during my two visits to China that I was able to understand the locals, talk to them and survive. Not knowing a single programming language I have felt more like a foreigner living in Silicon Valley than I ever did traveling internationally and it has become clear to me now that Java is the lingua franca in Silicon Valley, much like Mandarin is in China.

I’ve interned at a few tech companies while pursuing my degrees. Every one of them described themselves as engineering-based companies. That basically means the engineers run the show, so non-engineers should either get out of their way or try to help them in other areas. I’m hopeful that CS106A will help me understand what exactly the engineers at my next job are doing so that I’ll know whether I need to jump aside or weigh in.

Silicon Valley reminds me a little bit of China in this regard because in China it’s the engineers who run the show in government and in business. Here at Stanford, that’s reflected in the leadership of President John Hennessey, an engineer who formerly headed up the Electrical Engineering Department and was the Dean of the School of Engineering.

In business there are countless examples: Larry Page, Mark Zuckerberg, Marissa Mayer, Drew Houston, and Aaron Levie. In politics, there’s Gavin Newsom, who is not an engineer but who has wholeheartedly embraced the tech/engineering culture.

When I was a kid my parents dragged me kicking and screaming to Chinese school every weekend. I wanted to play basketball with my friends and ideally become an NBA player even before Jeremy Lin started shooting lights out in Madison Square Garden. I am now, with 20/20 hindsight of course, grateful that my tiger mom pushed me to learn Mandarin. Last year I half-jokingly chided my parents for not also pushing me to learn a programming language.

As a father myself now, I can empathize with my own parents. I wonder if I’m a bad parent for not planning how my kids will learn Mandarin or programming. I know I’m not alone with my worries, particularly in Silicon Valley where parents have a front-row seat in watching China’s rising influence and the development of an increasingly engineering-centric world. Some of my neighbors have enrolled their kids in Chinese immersion schools, and two recent job postings at Stanford demonstrate that the new economy’s employment base will be in engineering. Google’s posting read:

Google is hiring teaching assistants for a new internal CS education program. A Google TA is expected to spend up to twenty hours per week fulfilling responsibilities that may include teaching review sessions, meeting with students, helping with the preparation of handouts, problems, projects and/or exams, proctoring exams, and grading. The content areas are Data Structures and Algorithms (as in CS161), and C++ programming (as in CS140 or CS143).

Another position was posted by a former senior executive at Facebook – not himself an engineer — who is looking for someone to tutor his child in computer programming:

I am looking for a software/coding tutor for my son, aged 12…He devours books on IOS and Java but is finding parts of it very hard and really likes the 1:1 help. As far as languages go, he’s learning derivative C (IOS) right now but is interested in java, python, and php/html.

I almost talked myself out of taking CS106A because I I figured I could always take an introductory computer science course on Codecademy, Udacity, or Coursera. But optional, anonymous on-line learning doesn’t generate the weight of responsibility that taking a class on campus does. I know myself well enough to know that if I didn’t enroll in CS106A, then I would probably just continue to kick the can rather than immerse myself in basic programming.

CS106A also feels like Stanford’s rite of passage, or perhaps Stanford’s academic equivalent to West Point’s cadet basic training. While I was in the Army, I began to view education as more signaling than substance. After all, it was the so-called “best and the brightest” who got our nation into Vietnam and Iraq and who were largely responsible for the financial crisis. Education was about accumulating degrees from prestigious schools in order to signal to the market that you were purportedly ready to work at a prestigious company. I knew school was not going to teach me to be intellectually curious, a trait that at times can be my worst enemy.

It’s true that much of what I learned academically at West Point didn’t apply directly to my responsibilities in the Army.  But I understand now that this isn’t analogous to an undergraduate engineering degree at Stanford. Engineering students are more likely to take jobs requiring use of skills learned in school, and it seems likely that those with the highest academic scores will also have a strong engineering career.

For a non-technical student like myself, one of the best things about Stanford is the combination of its interdisciplinary environment and its first-class programs in nearly every field, which gives everyone access to classes as diverse as computer science, management science and engineering, military history, and courses at the design school. I’m not exceptional in taking CS106A – many of my law and business school classmates have already completed this feat, and then continued to take more advanced computer science classes. Armed with their new programming skills, some law school classmates have opted not to pursue a career in big law and instead starting their own companies or joining a startup.

It’s going to be a rough quarter for me in CS106A. I know I’ll probably struggle with all of my assignments. But I’m treating the class like broccoli. It’ll be good for me in the long run. This time my parents won’t be around to drag me to class kicking and screaming. Also, if one day I have my kids undertake some programming courses, then I should be the first to sample the broccoli. Wish me luck this quarter, as I’ll need plenty of it.