Are you being pushed forward, or perhaps, sideways?
Eric Zhang • March 7, 2023
MIT is not perfect, but it feels like home to me. The school resonates with magic, and I adore the students that roam its halls.
This post is not about MIT. It’s about Harvard, the place where I’ve spent the last 4 years, which somehow feels decidedly less homey.
Harvard is so different. There are places I love, but I need to actively seek them out, and I’m rarely understood by others. And there are few passionate people at Harvard who enjoy creating software. Why?
Harvard Systems Reading Group
I think it’s a difference in how many people share common interests and dreams. I like computers and think about them more than anyone else I know.
Systems reading group is one example. During the last meeting, there were more MIT students than Harvard students, despite only being advertised on Harvard mailing lists and physically being located on Harvard campus. What the hell? A friend half-seriously told me “If you ran systems reading group at MIT, there would be an entire auditorium, and you would need to limit attendance.”
In this case it’s a good thing that the reading group isn’t an entire auditorium, since reading groups scale poorly past ~10 people in attendance. Large groups lack the closeness that’s so important to feel comfortable learning in a safe space, where people can make mistakes. But I’m still shocked.
I started systems reading group because there were no groups at school with like-minded people, so I lovingly crafted something I would really enjoy. The organization’s structure is designed this way. There are no prior expectations. We welcome everyone. There are no snacks advertised in group emails (though we do have snacks), since I want to keep the focus on the topic and community, not free food. I’m not trying to make something that gives people job opportunities or status. I just want to gather technical people who enjoy learning and growing together. And somehow that turns into a gathering of… MIT students.
For a while, I kept some psychological distance to avoid being disappointed if no one was interested. The initial fragments of an idea were written in my journal last year, a few months prior to when I started the reading group:
What kind of communities would you make if everyone around you was exactly like you?
Self-development and learning is really individual, so it can feel lonely sometimes. What if I made a school group where we learned a new programming language every week together? Do some mini projects, learned from each other’s work, discuss language design, and explore a little bit of how people have thought about how to “talk to computers.”
It sounds fun in my head but I’m also aware from past conversations that no one at Harvard is interested in this kind of thing. (well, not quite, I’ve met two guys at a Harvard grad class who like applied languages, but one of them has graduated and the other is an MIT PhD student)
Luckily it turns out that if you send mass emails to a mailing list of 3000+ Harvard people, 2-3 of them will show up. Sometimes they even stick around for future weeks! And I augmented that with posting occasionally on Twitter and Facebook. I’m really grateful for the reading group now; it’s something I look forward to every week.
I can’t help but wonder if I’d feel less lonely in other places though, as a curious person who likes computers. In my case I’ve coped by developing a sense of rugged individualism around my passions.
School has changed me, but it wasn’t by pushing me forward.
Craft and Curiosity
I am going to abruptly shift gears to talk about research. I love research. I admire researchers, and I find the spirit of “have fun and advance human progress” to be compelling. Many of the most articulate, passionate, and poised people I know work in research.
The arc of my work has fit this shape. I aim to do things that I would be excited about 1, 5, or 10 years into the future. In other words, I pursue projects that I am personally drawn to, no matter what I am doing, as I uphold my individual inclinations and beliefs. My creative output will naturally form a thread, whether it’s from today or from years in the past.
I’ve always been working on the craft that I most love on my own time, when I have 100% freedom for myself. That won’t change no matter where I’m employed. In fact, investing in creative pursuits has produced many of the results that I am most proud of. A few examples:
- My favorite recent interaction design work, Dispict, is an art project that pretty much only exists because I was curious and envisioned it.
- When I spent a day reading Forma’s source code, an acquaintance who makes Next.js found my notes equally interesting, and that’s thrilling — an intellectual connection beyond empty professional gestures.
- Rustpad, a collaborative text editor, branched off a much larger project, a math typesetting system that I had spent months working part-time on. Although that initial project never launched, the collaborative text editor that I dreamed of did, and now it has been used by millions of people.
- Similarly, Set with Friends, an online game that has been played over 6 million times, started because I wanted to teach people frontend web development by making a card game together. I vividly remember the first time I used the pen tool in Adobe Illustrator; it was to draw the “squiggle” shape in Set!
Work ideally gives me unique resources to do things that I wouldn’t be able to do otherwise, with new collaborators and other people around me. So the ethos of research seems like it would be a natural fit. What happened?
In short, it’s because of politics. Academia is a walled garden by design, but institutions are at least supposed to help you navigate your way into it through mentorship. Collaborators and mentors would give you feedback on progress and help you develop new ideas and a sense of taste, rather than be hammered by the politics of peer review and publication. Unfortunately Harvard never had community around research in applied computer science.
More generally, academia never quite meshed with me. The culture in academia never felt like it had enough compelling motivation. I love writing software and communicating new insights, but research involves a lot of gesturing, and the kinds of papers held up by various communities seemed arbitrary and sometimes popularity-driven or random in their scope.
My software research output in the past has been directly used by companies in production, attracted interest from a lot of academics (PhD students, postdocs, etc.) in the open-source community, inspired other researchers, and just generally is something that I’m proud of. It was also done completely individually, without institutional support.
That said, I’m grateful for my mentors in the past throughout the academic community, who have really changed how I see the world. I wouldn’t be writing my undergraduate thesis on programming languages otherwise! It just took a little bit of back-and-forth for us to understand each other.
The Privileged School Aura
This is a complex issue, and it would take me a long time to write an essay about it. Instead I’ll paint an incomplete portrait through some unsavory stories that I broadly attribute to the “privileged school aura” in Harvard’s admissions process.
- Every day, there are students who loudly argue about philosophy in the dining hall. Last year, there were many people who loudly mansplain about cryptocurrencies in the dining hall. There is no one who talks about writing open-source software in the dining hall.
- The Harvard-Radcliffe Orchestra overwhelmingly consists of student musicians who attended pre-college programs at top music schools like Juilliard, NEC, and MSM, along with expensive national programs like NYO-USA. They gather and form unfriendly social cliques.
- An introductory distributed systems class is offered at Harvard. Last time, two years ago, 10 students enrolled. They wrote in the course evaluations that it was extremely easy and not that interesting. This semester, many undergraduates saw the course evaluations, in particular that it was an easy class marked as graduate-level, and now over 200 students are enrolled.
- A friend recently said to me: “Wow, people work on the OCaml compiler at Jane Street? What a terrible job. That’s so boring. Why aren’t they learning real-world applicable skills, like how to make money trading in the market?” He has taken only 1 introductory CS class.
- On the bus, I was disheartened to hear how someone gave advice to an underclassman: “Take CS 61 [systems software], it’s really important. After all, Citadel [a hedge fund] asked me a bitset question on my interview.”
- I often hear students in the dining hall interrogating their friends about what their romantic interests are studying, what clubs they lead, and how much they are getting paid. “Oh, the guy you met last night interned at Meta? That’s second-tier; you can do better.”
- “Hey Eric, I heard you’re a startup person. Want to come to a resort with me and a dozen other people who are going to start billion-dollar companies someday, fully paid for? By the way, it’s a super selective group.” The next day, I overhear some random dude in the CS building trying to pitch this group to the girl next to him.
- There are several large organizations on campus, such as the Harvard Computer Society. These organizations do nothing except act as vessels to sell Harvard student resumes to company sponsors for thousands of dollars, then disburse that money on free food and branded merchandise for members.
- At one point I ran workshops for the Harvard Computer Society, in their membership process. One workshop that I open-sourced has 1900 stars on GitHub, and it has been used by thousands people to learn computer graphics. At HCS, when I ran the workshop, students spent an average of 2 hours on it (over a 2-week deadline) and complained that it was too long and boring. Yet to finish the workshop, they only had to write 6 lines of code.
- Another time, I suggested students go through A Tour of Go, which is a top-notch free educational resource. I was reprimanded by the Co-President of HCS for giving students “undue burden.” This person did not even look at the link I sent.
- After class at Harvard, in most CS classes with over 50 people, no one talks to each other. I smile, say hello, but people literally pretend I don’t exist. In art, humanities, and social sciences electives that I’ve taken, students will actually smile back at me like normal people. They say hello when I see them in the library, and they’ll gladly talk to me about their research with enthusiasm.
When you’re surrounded by so many different people who don’t understand you, you need to maintain your own individualism. I struggled a lot with this. For a long time I was insecure about not being kind or good enough, being too nerdy, and not working on things that people around me found important. Somehow I eventually ended up coming out the other side loving myself more.
Struggles push you to grow and be bettter. For me I’ve found community in those rare kind, passionate people at Harvard who dwell in non-technical subjects, since there are so few who enjoy software like myself. That’s a good thing! I love hearing about 18th century Spanish literature, sounds of West African languages, photography as art, philosophy of music, stories of Filipino migrant workers in Jordan, traditional Japanese woodworking, etc. Getting pushed sideways in all the right ways has made me a better person.
But at the same time, sometimes I miss having people physically around me who I can talk to about my work. Collaborators, close friends, and mentors push you forward.