Some reflections on curating personal life, happiness, and software development.
Eric Zhang • March 10, 2022
So far this year, I’ve lived in London for 4 weeks and New York for 6 weeks. Here’s what I’ve learned so far from existing as an individual.
- Time really makes a bigger impression when you’re in new and uncomfortable situations. For example, the things that I remember from my first semester of college are: writing music at the first-year arts program, being scared of talking to upperclassmen in my compilers class, having a crazy 6 weekends in a row of inter-state travel and performances, and my ex-girlfriend. Right now as I’m getting in a routine, the clock seems to be accelerating.
- I used to lament that other people around me were bad at software. Turns out there’s nothing wrong with them; it’s just a relative observation, since I’m really just quite good at software engineering as a result of working on a lot of software.
- There’s nothing more I can learn from working in industry that I couldn’t figure out in a couple weeks of tinkering by myself. This is a natural result of being a strong generalist: for me it included past work in PL, systems, machine learning, web development, databases, TCS, and graphics. Basically whatever I was curious about, I learned, and now nothing is inaccessible to me in the software world.
- On the other hand, there’s a lot of really cool and interesting orthogonal skills like graphic design, writing / communication, and empathy that you can develop over time if you don’t box yourself into one path for the future.
- Even when all of the people I worked with at my last couple gigs have past job titles like “Staff/Principal Engineer,” “Senior Director of Engineering,” and “CTO” at top-tier tech companies, there’s really nothing they do differently than anyone else in the industry, including free open source labor. In fact, most of the engineering I’ve seen done by very senior folk is at best inferior to the engineering work in open source projects of the same field, and it’s vastly inferior when they’re out of their narrow range of expertise. This isn’t to say that they’re bad engineers, but open communities are just incredibly good at making top-notch software at the forefront of technology.
- That brings me to my next point, which is that people tend to have a very narrow range of expertise, and they often don’t communicate well to others who are unfamiliar with their craft. I’ve met amazing systems developers who can’t make a simple frontend web UI without using 500+ lines of excessive, buggy code. Conversely there are many amazing designers and UI engineers who have never written a single line of systems software in their life. This is why cross-disciplinary understanding is valuable.
- Community is really important, just the state of being together with other people is naturally so valuable to my personal health. I feel it on a physical level when this need is not met.
- Exploring cities is a lot more fun as a group of 2 people than as a single person. But even as a party of one, it can be fun to explore new areas and just spend some time by yourself: reflecting, listening to others, making observations.
- My prospects for finding love in the next few years are going to be pretty shot unless I go out more and meet people.
- Routines are incredibly important for personal productivity and making you feel like you have more time in the day than you do. It’s also really helpful for working on longer-term personal projects, for yourself or for others.
- 40 hours a week is more time than I had pictured. It’s actually kind of interesting how this changes with your perspective though. When I was working at Jump Trading last summer, I would be that bad intern who showed up after 10 AM every day, left at 5, and spent 1-3 hours during the workday just chatting with other interns over lunch or playing ping pong. But somehow I was actually incredibly productive, looking back at the work I did, despite barely working any hours. My performance reviews were also stellar. I wonder if your mental state, how relaxed and content you are, plays an outsized role in how much you actually can get done.
- There’s so much incredibly cool work being done in the global community, and I want to surround myself with more people who make me excited to create wonderful things. I especially want to work with people who are incredibly skilled in other areas, like robotics, graphic design, interactive media, writing, and animation. Luckily, there’s pretty much no organized entity in the world that doesn’t need good software built for them, so in my mind, I have a lot of options for how to work with and learn from these aforementioned people.