It’s been about a month since I quit my programming job to be a full-time unemployed bum. I wanted to have some time to myself where I could step off the corporate hamster wheel—a wheel that I’ve found increasingly little value in—and just do things that I wanted to do. I wanted to have more time to work on research and more time to have fun with my friends. Working full time just wasn’t conducive to doing both those things.
So far, I’ve definitely been a lot happier! It’s extremely freeing to have time to yourself, without forced obligations. Who would have thought?
But it also turns out that having copious amounts of free time to pursue personal interests comes with its own set of difficulties.
It’s been fairly difficult for me to find my bearings without forced structure, particularly when I have so many things I want to spend time on and so much time that I could potentially spend on whatever I want. I don’t really want to waste these precious months of absolute freedom. But what does waste really mean to me? I don’t really know.
I do have some high-level goals of A) digging more deeply into programming languages research in preparation for graduate school, B) doing fun programming things that I didn’t have time for previously (perhaps related to programming languages/distributed systems research), and C) spending more time with people that I care about.
But it’s been shockingly easy to fall into doing lots of broad, unfocused work that I don’t feel like I’m getting much out of. Or simply messing around and not doing any work at all. And it’s also been fairly easy to put off seeing my friends and doing fun things outside of computers/programming because I either feel like I haven’t done enough work for the day or I feel like I could be doing more.
If I end up doing a PhD, self-directed work and lots of unstructured time are (probably) going to be the status quo. This is, in many ways, what I want! But I also need to figure out ways to direct myself so that I can make real progress on things that matter to me, while still making time for the things outside of “work” that make me happy and whole.
Having perpetual and immediate access to the internet doesn’t help. It’s very easy for me to go down these long rabbit holes into things that are tangentially relevant to my interests (or into things that are either just as engrossing—i.e. YouTube baseball videos—or simply anxiety-inducing—i.e. LinkedIn). The internet is great, but only to an extent.
Something I need to work on is just putting on a pair of blinders and doing the things that are most important to me right now. You can’t do everything and you can’t know everything. That’s okay. Do the things you can do and enjoy it. That’s the whole damn point.
I do think that allotting a set amount of time a week to look at the bigger picture, think broadly about things, and explore tangential interests could be valuable. There’s a tendency for those things to spiral indefinitely for me, and I think blocking out limited time for them could keep me in check and keep me moving forward on the hard, immediate things that require my attention (particularly when there’s no external pressure to keep me moving forward on those hard, immediate things).
There’s a talk by Richard Hamming (of Hamming codes fame, among other things) titled “You and Your Research.” It’s about research, I guess, and how to be successful doing it. And it’s often recommended reading/watching for people starting out in the research world.
There are some things in it that I think are really valuable. I’ve listed some of them here, in rough order of how meaningful they are to me right now:
Some of this stuff is a bit trite, although it has more weight because it comes from the mouth of someone fairly influential. A lot of it just boils down to: be humble, work hard, believe deeply in your work, and believe deeply in yourself. And it kind of assumes what is often the most important part: having an authentic desire to do research on a problem you care a lot about. Without that, what’s the point of any of this stuff? Why not just get a job working in industry? You’ll probably be happier. You’ll certainly make more money.
But the talk also got me thinking a bit about ego and ambition and how they relate to my own life.
Having some kind of ego and ambition is, I think, a prerequisite to doing any sort of novel, cool, and exciting work. You have to want to do something ambitious and also have the ego (or self-delusion) to believe that A) what you’re doing matters and B) that you can make real progress on it.
But of course, ego and ambition can easily turn sour. A big part of having ambition and still being a healthy, happy person is finding a way to balance things. It takes a lot of self-understanding. It’s about recognizing when your confidence is slipping into egotism or when your goals are getting in the way of your life. Hamming’s talk offers some guidance, but it’s just a really difficult and immensely personal balance to strike.
I certainly find it difficult. I think I have a good deal of ego. I often have (comically) unrealistic ambitions. I don’t really know if that’s a good thing or a bad thing—it can often be both—but I guess being self-aware about it all is half the battle.
For me, at the moment, it’s important to remember that I can’t do everything that interests me. I simply don’t have the time or the ability. If I want to make progress and do something that meaningfully pushes things forward, I need to accept my limitations and focus on a few things that are most important and most interesting to me right now.
I’m not a genius. I’m not a particularly good programmer (in my opinion). I’m not exceptionally strong at math. But there are things I find incredibly interesting and incredibly important that I can do good work on, if I’m able to push at them long enough and hard enough.
I also think it’s important for me to try and learn generously. In a highly competitive space like academic research (or startups, or even just the software job market right now), it can be tempting to withold knowledge or get somewhere and pull up the ladder behind yourself. I think this is extremely damaging, particularly in research, and it’s important to actively push against it. Research isn’t a zero-sum game and we shouldn’t act like it (we also shouldn’t set up systems that encourage that view). The goal is to do good, meaningful work to the best of your ability. That’s it.
One more thing I can think of right now: it’s obviously important to believe deeply that my perspective and area of interest matters, but it’s also important to not let that belief lead to offhand dismissals of other perspectives, fields, or lines of work. There is value elsewhere. Other people can and will do incredibly interesting things. Hype is annoying (see: AI, Web3), but there is usually something at least somewhat useful at its core.
There are also some parts of the talk that I don’t like as much.
For example, there’s some cynicism in the talk that I find a little distasteful. Human relationships are not just a means to end and shouldn’t be viewed as such. Conversations with peers have more value than simply “stimulating” your own thoughts. Saying “you can be a nice guy or you can be a great scientist” is simplistic at best and damaging at worst—being kind, generous, compassionate, and “nice” in the broad sense should be a prequisite for any sort of greatness. The brilliant asshole shtick needs to go, both in academia and in computing more broadly.
Also, Hamming is obsessed with “success,” but there’s more to success than just some bar of research quality that Hamming has in mind or the kind of legacy that someone leaves behind. Legacy, public praise, and external prestige aren’t necessarily correlated to real, quality work or meaningful contribution. And being happy and fulfilled, I think, is probably the most important thing. If you find that purely in doing research, great! But it’s OK to enjoy research and also want something more outside of that. It’s OK to not spend your entire life on your work. There’s always a tradeoff, but you can still add something worthwhile to the conversation.
I’m going to try to hunker down and spend the next month or so continuing to learn more about SAT/SMT solvers and separation logic in hopes of doing some real verification work. Who knows how it’s going to go, but I’m pretty excited about it all. It continues to astonish me that there’s so much cool work being done, even in just a “niche” area like programming languages and verification.
Making a software developer salary is great, but my time is simply the most valuable thing I have. At least that’s how I feel at the moment. I guess this is sort of a privileged place to be in. I don’t know.
What I do know is that, right now, I’m really happy getting to spend my time learning about and working on all these things that I find fascinating and important. I’m incredibly grateful that I’m in a place to do this. There’s not much else to say. I’m just really grateful.