This was a response to a Hacker News comment asking me what I've been up to since 2010. I'm posting it here since HN rejects it with "that comment is too long." I suppose that's fair, since this ended up being something of an autobiography.
--
What happened after 2010?
A lot of soul searching. I was disillusioned from gamedev. My entire life, from age 13 till then, was dedicated to the idea of being a game creator. And I no longer found satisfaction in it.
I had it in my head that gamedev was somehow going to be "not merely a job." After all, that's why we love the idea of making games, right? There's something special about it, about being able to say that you helped build a Dota 2 clone (Heroes of Newerth) or that you made a clever graphics algorithm.
So when it turned out to be just a job, with a fair dose of company politics / maneuvering, I questioned what I had spent my life training myself for. Why had I done this?
A decade later, I still don't have a good answer to that question. All I know is that I'm glad I did. I wouldn't have been any happier if I had taken a standard path.
After 2010, what followed was a haze, a period where I simply drifted without purpose. I'm sure that many people go through long stretches like that, but it was my first experience with it. I got a job at Scottrade, a finance megacorp that happened to have a massive office in the midwest. I wound up there mostly because that's where the talent company placed me. (I forget the term; you go in and say "Hey, I'm a programmer," and they say "Sweet, I know like 17 companies; we'll take a cut of your salary." They had some C++ test that you're supposed to take at home, and no rules about how you're supposed to take it, so I simply copied each question into Visual Studio and chose the answer that the compiler produced. They seemed impressed that I got a 100%.)
If I thought company politics were bad in gamedev, my experience at Scottrade was a real wakeup call. Imagine spending all of your time working very hard on something that you believed might be used, and then concluding that none of your work will ever be used. I wound up reading a lot of research papers. I wish I could say I felt happy when the contract ended, but I don't think I was feeling much of anything.
My next job was much of the same: Thomson Reuters, finance gig, rinse and repeat. That one was sort of cool because I worked closely with a single dev each day. He was decently talented and into racecars, and it was my first experience chilling with someone whose life didn't revolve around work. We got along and had a lot of fun designing a messaging system that used Redis and python, which was my go-to tool for "you need performance? this gives peformance. it's also simple."
Eventually I wound up in Chicago, and at the time, Chicago == tptacek, so it seemed reasonable to go get a job at Matasano pentesting with him. I did get a job there, but tptacek had left by then. He'd periodically drop by and show off whatever thing he was working on. I remember him bragging that sama called him up and wanted Starfighter to do YC, and that he said no. I looked at him like he was crazy.
The rest of the experiences were no less surreal. I was basically parachuted into ~57 codebases, sometimes alone, sometimes with someone else, and your goal is to break their program in as many ways as possible, sometimes in two days, sometimes in five. I took pride in the fact that out of every engagement I was on, I found at least one medium-severity flaw – or to put it another way, no program survived my torture. I had an xss.txt file with something like 72 lines, each of which had worked. So I'd build up a bag of tricks, and it'd get larger over time.
But I was still miserable. I ended up living a life that I thought might be interesting, rather than seeking out an interesting life. And although it was incredibly cool to see the classic movie-trope style of hacker culture – to be an actual, legitimate hacker – at that point, I was no longer building anything. I was breaking things. And yes, you'd be able to occasionally write a tool to help break things. But your day to day life ends up being – drumroll – someone who writes reports. You know the scene in office space, where his manager is hassling him about not having the right cover on his TPS report? It was basically like that: 40% of the time was spent doing hacking, and 60% of your time was spent writing reports.
It turned out that right up till then, I had been living my entire life with undiagnosed narcolepsy. I remember getting dressed for work at 8pm or so, setting an alarm for 7am, then laying on the couch, fully dressed, not doing anything at all, until I finally fell asleep. Then when the alarm went off, I jumped off the couch and forced myself to run out the door before there was any chance of me sitting down anywhere, since me sitting down = I would fall asleep instantly, thus oversleeping the crucial engagement at a high-profile Chicago trading firm you've probably heard of.
It would probably occur to most people that this wasn't a normal routine, and that perhaps there might be a medical explanation. But that was simply how I lived life, so it didn't occur to me that it wasn't normal. I was completely mystified how anyone was able to arrive at work consistently, every day, at a specific time.
When I overslept one too many times, with the very real possibility of losing my job (and thus my wife's degree), I found a sleep clinic. And I had the good fortune of finding a doctor in that sleep clinic who genuinely cared for my wellbeing. Normally, doctors have a sort of professional detachment, but after explaining the situation to her, she looked after me like a mother hen.
I recalled from my first job that a coworker got a CPAP machine, and it transformed his life. He said that he became a morning person thanks to it. So I was hopeful that there was going to be a similar magic solution for me: some sort of machine, some pill, or something else that would make all the problems vanish.
When it was time to do the sleep study, it thankfully coincided with one of the worst "I simply won't wake up" periods I've ever experienced. You're supposed to go in and go to sleep, then they wake you three times, and you go back to sleep each time, while your head is wired up to this machine (literally a bunch of wires taped to your scalp), and they analyze your sleep patterns. The moment they were done wiring my scalp, my head hit the pillow, and I was out. (They later noted I dropped into REM sleep within minutes, which they had never seen before.) They woke me up and asked me to stand, but I kept falling back asleep. Eventually I managed to stand, and do whatever they wanted. My head hit the pillow again.
The second time they woke me up, it was far harder. I think they were very persistent in trying to wake me up, but it almost didn't matter, short of hitting me with a hammer. I finally – with much effort – was able to get up, then my head hit the pillow.
The next thing I remember is waking up to "Ok, we're all done!" Apparently they tried to wake me up the third time, but they were so unsuccessful at it that they just let me sleep, deciding that they had enough data.
Diagnosis: narcolepsy. And narcolepsy isn't something that can be cured. So it was almost comical: boss wants a solution to the problem of me coming in late; doctor writes a note like "Shawn has so-and-so medical condition, and although there are ways to manage it, there is no way to cure it"; boss finds solution: fire them. It was interesting showing up one day and being told that it was my last day there.
In hindsight, what a relief it was to be free. At the time, I was in full panic mode, but it really was the best thing that could have happened. We managed to find just enough money to not lose our apartment, my wife got her degree, and I was able to slow down, reset, and focus (with the doctor's help) on fixing me.
The core problem was that at every point in my life, I had been unhappy. School was miserable, so I convinced myself that gamedev would be better. My fist gamedev job turned out to be just a job, so I convinced myself I got unlucky, and that a different studio wouldn't be "just a job." My second gamedev job ended up being magical – everything I ever wanted – for around 10 months, till the owner decided to massively restructure the company and move us all out to Kalamazoo, which ended up basically killing the company, so I was unhappy. And then I went into finance to get some money (rather than because it's what I wanted), and I was unhappy, but I thought "Well, isn't work supposed to be unhappy? That's why it's work." Then I latched onto someone else's dream and wound up in the security industry, not building anything and writing reports, which wasn't too happiness-infusing.
Remember how I was hoping that my problems could be solved with a machine, or a pill, or anything at all? I was hoping for a magical CPAP machine, but I wound up getting a magical pill. I don't know why Prozac was so effective, but thanks to that doctor (bless her soul), I was able to finally, for the first time in my life, relax and enjoy life.
Happiness is a decision, but it wasn't until I started taking Prozac every single day without fail that I was able to decide to be happy. Three months later, I remember feeling confused, because it had been a full month since I felt truly miserable, which had never happened before. And then I started to internalize that everything was fine.
That was five years ago. I wrote https://news.ycombinator.com/item?id=10984478 shortly after being fired, and shortly after I started taking Prozac. It's interesting to me that from then till now, my life improved dramatically. Day-to-day, I no longer felt like "The world is going to end unless X happens," which is of course true. I started working on things that I decided were interesting, rather than because someone said it was interesting. And I suddenly found this new superpower of "actually being quite happy, and looking forward to waking up each day."
I decided I wanted a website like https://www.gwern.net, mostly because I liked the idea of having a wiki with all kinds of neat features (https://www.gwern.net/Design#features). I found an old fork of gwern.net that someone happened to mirror (https://github.com/gjord/gwern.net) but had lots of trouble getting it to work. I ended up DMing gwern on twitter, and the rest was history. He turned out to be awesome, and we ended up talking about all kinds of things. At one point I asked for a list of all the Haskell packages he had installed, along with their version numbers, and (to my surprise) he sent it over. I was able to get my dream wiki set up (https://www.shawwn.com/swarm) along with a way for other people to set it up too (https://github.com/shawwn/wiki).
ML turned out to be fascinating, and gwern turned out to know an incredible amount about it. He was also (sometimes to my annoyance) almost never wrong. So I've spent the last year and a half absorbing as much knowledge from him as I could. We made some neat things together, like the model that powers https://www.reddit.com/r/SubSimulatorGPT2/. Newsweek ended up writing an article about our work, which was neat. https://www.newsweek.com/openai-text-generator-gpt-2-video-game-walkthrough-most-tedious-1488334 And then Scott Alexander asked Gwern if GPT-2 might be able to play chess, so we focused on that problem for a few days, and the answer turned out to be yes (https://slatestarcodex.com/2020/01/06/a-very-unlikely-chess-game/) which led to more news articles (https://www.theregister.com/2020/01/10/gpt2_chess/). And it's been total immersion ever since.
Narcolepsy being a lifelong condition, it's no surprise that it's now 4:30am on a Tuesday, so I'll end this here. I'm not sure who, if anyone, will read this, or if there's anything to be learned from it. But if you happen to be suffering from sleep issues, or you've been unhappy for a very long time, perhaps this can be a reminder that (a) things will get better, if (b) you focus on taking care of yourself. Both (a) and (b) are easy to forget, because they're mistakes that happen by default: http://www.paulgraham.com/todo.html
So, take care of yourself, pursue your dreams, and remember that it's precious to be able to decide what to work on. Most people don't have that choice. And those that do, as I did, often don't take advantage of it, and live a life that someone else said might be interesting.
There's often an interesting life waiting for you, but only if you decide to look for it. 2010 was when I needed to learn that, and 2019 was when I found it.
Thank you for posting this. Been feeling pretty lost in terms of career and aspirations, which led me to the engine you published to github, and this post . A lot of what you've communicated resonates with me. Glad you found some happiness and purpose.