CS198 and Section Leading Your Life
THE LEFT ONE! NO! NO! THAT’S TOO FAR LEFT!
SECOND FROM THE RIGHT. SECOND FROM THE RIGHT NEVER FAILS!
PICK THE MIDDLE ONE!
The Stanford CS106 Section Leaders are having their weekly staff meeting, and the Door Prize is being awarded. A web app containing face-down cards is projected on the screen and the prize winning Section Leader is being advised by her peers on which card to pick. She moves the cursor from one card to the next, looking up to get more guidance before clicking on her final selection to shouts of ARGH! YOU BLEW IT! The card turns over to reveal her prize, “LITERALLY FIVE NOTEBOOKS.” It’s unclear if that’s one of the better prizes.
The funny part, an irony not lost on the crowd, is that these people, perhaps more than any other group in the world, know that the selecting and shouting are pointless. The cards are shuffled randomly and the audience is intimately familiar with how random numbers work. These are the Stanford CS106A Section Leaders — undergrads who, in addition to taking a full course load, teach introductory Computer Science and help students with their assignments. I was one of them from 1996-1999. And now I’m one of them again.
Section Leading was the defining aspect of my Stanford undergraduate experience. Through the Section Leading program (known at Stanford as the CS198 Program because reasons), I formed most of my lasting friendships, honed technical skills, landed jobs, learned to embrace sarcasm, and unknowingly developed non-technical skills that would prove crucial in running a company and raising kids. These non-technical skills that continue to work their way into my everyday life.
Part of a Section Leader’s job involves “helper hours” at a dark, depressing computer lab known at the LaIR. I think the chairs in the LaIR have remained the same since I was a student 15 years ago. Several are missing backs or are permanently inclined at spinally impossible angles. Students show up at the LaIR when they are totally stuck and frustrated. Then they wait, sometimes over an hour, for a section leader to come over and help them. We sometimes find that we’re helping the same student over and over, and we lament seeing someone put their name right back on the list as soon as we walk away. They don’t already have a new problem; they’re just assuming that by the time we get to them, they’ll be stuck on something else.
While I’m somewhat ashamed to admit it, I remember one chronic help-seeker who I found particularly frustrating. I felt like I was never able to get through to her and found myself wondering how she got into Stanford in the first place. About a week after puzzling over this, there was some sort of art exhibition on campus and I happened to see her artwork. It was amazing. I chided myself for thinking that her difficulty understanding Djikstra’s Algorithm was in same way reflective of her overall talent.
That experience really stuck with me over the years, and had a big impact on my methodology involving developing employees as a founder. I remember going to a lecture at Stanford once where a “serial entrepreneur” emphasized the importance of firing people early when it’s clear they aren’t working out. He said, “I have never regretted firing someone. I’ve only regretted not doing it sooner.” I remember feeling uneasy when I heard that. I was sure at the time that I wanted to start a company one day, but I didn’t like the sound of firing people all the time.
To be clear, I’ve fired people who were clearly not going to work out. But much more often, I viewed poor performance as an indication that I needed to find the right role for this person. I thought about that student who was struggling so much with the task at hand while secretly being a genius at something else. As a cashflow-driven company, Context Optional was very careful and measured about hiring. We hired someone because we saw a spark of genius in them. If we put them in the wrong role, we knew it was time to try something else. More often than not, we’d find a way that they could be productive and successful. People didn’t always do what they were hired for, but once we found their niche, they often grew into a much larger and influential role.
As a section leader, I wasn’t very good at just walking away. We don’t technically have to sit with you until your problem is completely solved and you understand what it’s doing at a fundamental level. It would be perfectly cromulent to say, “Here are some things you can try. Give it a shot and sign up again if you still need help.” But I don’t think I *ever* did that. I would always wait until I saw the glimmer in the students eyes when they found the problem or when everything clicked.
Sometimes, it took a while. I could walk through what I thought was an extremely elegant explanation of a concept, draw some pictures, get nods of understanding the whole way through, only to finish my mini-lecture and have the student say, “I still don’t get it.” Okay, let’s try a different way of talking about it. Let’s try another picture.
After graduating, I joined a company called Bluedog. We were known for rigorous interviews featuring then-en-vogue brain teasers. At one point, our VP of Engineering and I interviewed a candidate who had serious trouble understanding our puzzle involving gnomes, their hats, and murder. Long after it was clear that we would not be hiring her, I still found myself explaining the concepts to her in different ways until she understood. Once we finally let her go, my VPE said, “You have the patience of an angel.” I don’t. I was super frustrated the whole time, but Section Leading had conditioned me to try new explanations and to seek out true understanding in order to be fully satisfied with the interaction.
I’m not going to claim that I don’t get frustrated with my kids when they don’t understand something. But as frustrated as I do get, I think about how much worse I would be if I hadn’t been a Section Leader. And the frustrations I see CS106 students having is similar to stuff I hear from my kids — “I don’t get it.” “Why can’t you just tell me the answer?” “Uh huh. Uh huh. Uh huh. Wait… what?” When I have the patience to stick with it, to not remove them from the proverbial help queue until I see the glimmer of understanding in their eyes, I get the same reward. “Oh! I get it!” “Thank you so much!”. Section Leading turned out to be great prep for having a family.
Interest in Computer Science maps directly to the ups and downs of the tech industry in ways that are generally not great if you’re trying to run a Computer Science department at a University. When I graduated in 1999, interest in CS was at an all time high. We thought it was getting pretty nuts. Then came the downturn and enrollment went down for the next several years. These days, in large part thanks to the portrayal of Stanford as the certain path to startup fame and fortune, CS enrollment far exceeds the “record growth” from ’99. CS is now the largest major at Stanford. CS106A, the very first introductory class, had around 600 students this quarter.
That puts a lot of pressure on the course staff and the Section Leaders, who now have 12 or more students per section, compared to the 8 student sections I had in the mid-90s. Having some time on my hands after leaving Adobe, I offered to help. Before I knew it, I was back at Monday Meeting explaining who I was to Section Leaders who hadn’t yet been born when I took CS106X as a visiting high schooler.
Coming back has been strange. A lot of things seem eerily the same, 15 years later. The culture of the Section Leading program endures. Section Leaders still chow down on baguette and veggie dip before the meeting (coding requires lots of carbs) and the students still struggle through some of the same assignments (it wouldn’t be CS106B without Boggle). More importantly, the Section Leaders still care deeply about sharing their knowledge and enthusiasm for Computer Science with new students. It warms my heart to see that when the helper queue in the LaIR gets too long, a Section Leader will send an email to all their peers asking for help. Anyone who’s around will swarm to the LaIR and contribute.
I was never 100% clear on what I was trying to get out of returning to Section Leading 15 years later. Maybe it was just a genuine desire to help the program that helped me so much. But I think it was something more than that. Something around reconnecting with a distant passion, or finding some new energy. Or a mid-life crisis. Who knows?
Two things happened that I didn’t expect. First, a dormant part of my brain woke up. The “science” part of Computer Science doesn’t come up very often when your typical coding tasks involve showing or hiding a message based on a user swiping their finger on a piece of glass. Attending lectures and helping the more advanced students with algorithmic problems reengaged that part of my brain.
Second, it was invigorating to experience CS through the eyes of the 12 students in my section. Not just because it was new to them, but because one by one I could see where things clicked and coding went from confusing to enjoyable to frustrating to enjoyable again. Students who probably didn’t expect to like the class, who took it because it fulfilled a requirement, started adding optional extensions to their assignments. They’d claim it was just for the extra credit, but I know they secretly enjoyed it. As I’m working on my own project, I’m more motivated thinking about the energy they’re bringing to their work.
Every former Section Leader I talk to about CS198 says what a big impact it had on them. Few are aware of how big the program has gotten, how little it has changed, and how much it has changed.
In 2015, the Stanford Computer Science Department is establishing a fund to ensure the long term success of the program. In addition to leading a section this quarter, I’ve contributed to this fund, as have a small number of other former section leaders. If you’ve been through CS198, I’d encourage you to think about the impact the program continues to have on your career and your life, and to consider giving back.
To contribute to the fund, contact Matthew Bahls at Stanford (firstname.lastname@example.org).