Prelude — itch v25 postmortem, part 0
Sep 13, 2018
12 minute read

Back in August of 2017, I started writing an article about my work on the app. I quickly realized one article would not cut it.

So I wrote a second. And a third. And a fourth. In August of 2017, I was pretty sure I was nearly done with the work. It looked “pretty good if you asked me”, and there was “probably just a lot of testing” to be done before if it was “good to ship”.

But of course, it wasn’t. It’s been going on for so long that there is no way to write about it that does not involve poking fun at myself for falling into a trap that I knew all too well existed.

This is a story about one of these “don’t”, like “don’t write your own database”. We’ve heard all the advice, but we do it anyway.

Just a few months into the effort, I knew I was going to have to write about it. Documenting it, testing, and shipping it was not going to be enough. I knew I was going to have to use casual writing (blog style) to wash the rest of it away and move on to other things.

I also knew, and started realizing more and more as time went on, that I was going to have to mention the physical and mental toll it’s taken on me.

I was planning on having it be an afterword - of having this whole series of tech-only posts, and then a few paragraphs about how hard it was to see through.

But that would’ve been dishonest.

I think I wanted to keep it purely technical because I wish it didn’t cost me. I wish I had been more reasonable in approaching it, I wish I didn’t push so hard, and listened more.

And that’s what a lot of publications do. It makes sense too - some folks are just interested in the gritty details of what got made, and the good news is: the internet is full of those articles (and it wouldn’t be too hard to edit mine and redact the personal stuff).

But this is my blog, and if I can’t be open and honest about how it went, and provide a sincere window into this past year, then why do I even have a blog?

The honest thing to do, in my situation, is to describe the state I’ve reached during my work.

I want to preface this by stating two very important points:

First, I am very proud of the result. I’ve had the opportunity to work on many interesting projects almost as soon as I picked up programming seriously (writing a compiler from scratch and building a community around it ; coaching CS students into writing a BitTorrent client ; porting an mp3 decoder to javascript (pre-emscripten), building an audio live streaming solution ; the list goes on - I’ve faced many challenges at work, but being bored was never one of them) - but this work has certainly been the most involved so far.

So when I use colourful language to describe some of the phases I went through, it takes nothing away from it. The work stands on its own.

Secondly, nobody but me is responsible for this. Nobody suggested for me to embark on this. I explicitly disregarded concern from peers regarding the scope of the work I’d started. I dug my own grave, struggled in it for a year, and fortunately, I’m here to tell the tale.

I’ve read many horror stories of employees being exploited by companies and burning out. This is not one of them. I started a mountain of work that I found interesting and challenging - under no constraint whatsoever.

I’m going to hate writing the next section, so I’ll just power through it.

A regular evening, March 2018. I don’t have anything specific planned. I know I’m going to have the apartment to myself, so I think “well, maybe I can give that task one last push, make some significant amount of progress, and then I’ll be able to relax for a bit. Probably play some video games, maybe have a beer or two”.

It really is a regular evening. My SO and I both are in the middle of very busy months work/studies-wise. We found the time to maintain a healthy relationship, but outside of that, it’s been mostly just work.

While idly planning the rest of the evening, I start having chest pains. At this point, I’d been having these for a while, now and again. Just small dots of concentrated pain, nothing strong enough to be concerning, usually going away after a good stretch or getting up and out of bed.

This time though, the pain seems.. different. It seems to me at this moment that I’ve been having these pains for a while, and that I still don’t know where they’re coming from. I’d been going to the doctor twice already, then to an back specialist, I even felt like I’d slowed down my work rate (with the express intent of “getting better”).

This time, it seems as though maybe there’s something actually wrong. Long breaths don’t help. Getting up and sitting down both seem to make it worse somehow. Is the pain near my heart? Or is it my lungs? Anatomy is hard to do when you’re panicking.

None of my coping techniques seem to work. Stretching makes the pain worse. I’m having trouble breathing. Defeated, I lie down on the couch. A few seconds later, I can feel myself “going”. Like I’m falling asleep, but not really. More like if I’m about to lose control. I’d say it’s like passing out, except I haven’t properly passed out in years so I can’t really tell if that’s the one.

Properly panicked at this point, I jump up and out of the couch and bang on the bathroom door: “Can you come out?” I cry-shout to my SO. I hate myself. I’ve been trying to slow down. I’ve been trying to manage. I don’t want to ruin anyone’s evening. This will probably just pass - but until proven innocent, my body feels like it’s going to die in the very near future.

It took a few hours and a few people to calm me down that day. A first responder made me describe the physical feelings (which had mostly faded away by the time the call went through) in-depth to make sure I wasn’t having a heart attack. Nor any lung issue. When asked whether it was a good idea to go to the emergency room for a checkup “just in case”, he didn’t really see the point. His advice was to see a doctor, maybe, in a few days.

Such a blunt assessment surprised me. What if he’s wrong, I thought. It really did feel like I was floating off, I thought. Not actively engaged into a discussion, I start noticing my breath again. And it becomes irregular again. I’m not quite suffocating. I’m just eerily aware of the flow of air through my body. It’s warm.

I don’t know what I want anymore. I don’t want it to be “just in my head”. I want it to have an actual root cause, that can be addressed. I want it to be a proper, documented issue that has a proper, actual fix. “That’s hypochondriacs 101 right there”, I think. Shut up, brain, I’m trying to concentrate. Whatever it was, the evening is definitely not going as planned.

I call my dad. I need someone familiar, someone family to talk to. Someone who I know for a fact has been going through rough patches for a lot of years now.

He tells me how familiar this all sounds. He tells me of people we both know that have had episodes like this. He puts a name on it - I ask a few questions to try and determine whether I’m happy with that explanation. I ask more questions: what causes it, what can be done about it.

One thing is sure though (a third visit to the doctor will soon confirm it): I have the body of a healthy, if slightly underweight 27-year-old. Whatever’s happening has very little to do with a physical condition, and a lot to do with my mind.

“NO!” I protest. It can’t just be some anxiety BS. I’ve slowed down. I’ve taken entire days off (well, close). I’ve cut down caffeine and alcohol. I switched from cigarettes to an e-cig, and then to nothing (for 48h at this point).

(I’d later learn that nicotine is actually an effective form of mitigation against this particular form of anxiety attack. Not having any intake for two days probably made things worse).

“I keep giving up things” - I tell my dad - “things I like! And for what? Clearly I”m not getting any better. This is just bullshit. Just pure bullshit.” I remember that both my parents are on speakerphone. “I mean.. sorry, you know what I mean right?”

“Sorry, I’m crying again”. I’m being told crying is good. Some folks haven’t been able to cry for a long time. It’s actually a very healthy thing to do. I knew that, I preach that! (that’s what I use my Twitter account for, when I’m not shitposting or taking an extended social media break).

At least I can cry. A meagre consolation when you take into account that I was feeling like shipping day (and relaxing day) had been “just around the corner” for several months now.

But I’m not happy. Not at all. I’m not even sad. I’m mad, and defeated, and a mess. I tried, and here I am being fucked. I lack the ability to evaluate how fucked I am.

“Have I finally burned out?”, I think.

How long until I can recover?

Twelve months or twelve years?

Could I even start recovering without shipping any of this? It seems as if I’ll never really be relaxed again before it’s in the hands of the userbase, before it’s gotten a few inevitable fixes due to how the real world just is.

Before it becomes “legacy code”, I don’t think I can get any rest.

That was probably rock bottom - at least I hope it was.

The rest of it is mostly variations on a theme, and the usual suspects of the life of someone who’s trying too hard: thinking one can replace naps with video games, watching the power dynamic between caffeine and human shift, misconstruing alcohol as a coping mechanism

This post is not a cry for help, it’s a cautionary tale.

Don’t worry about me (there’s enough of that going around). Worry about yourself.

I’m better now.

I’m in the process of getting better now.

All I was looking forward to was writing a series of technical notes on all the great stuff I did - and I’m still doing that - but it wouldn’t have been enough, it wouldn’t have been honest.

I needed to commit to the record how low it got me - an unedited snapshot of the lowest point of this whole ordeal.

I’ve debated publishing this, as it reflects badly on… well, just me really?

A week before writing this post, I made a mistake (deploying something before going to bed, and omitting the last in a series of check). As a result, the app was unavailable for many people over a 9-hour period.

I was going through all the feedback - some angry, some confused, some helpful, wondering how I would address it (now that it was fixed). I went through a few strategies in my head - what would give the best impression? I wasn’t planning on doing PR that week, but there I was…

…and then I realized I could just own it. It was my own fuck-up. I didn’t need to distort the truth (I didn’t), I didn’t need to worry about protecting anybody else from the backlash (there wasn’t any). I didn’t even need to take the blame because it was mine to begin with.

Sure, I should not have been able to do that mistake. We should have had a process specifically to eliminate this class of errors. But guess what, I’m the one who usually sets up this kind of process. So it just loops back to being my fault all the same.

In that instance (and this one), the usefulness of admitting a fuck-up trumps any of the negatives. The way I’ve treated myself as a developer this past year was a mistake. It ended well, but it could have ended terribly.

I could have caused irreversible damage to my body & mind, to people close to me, to our business (putting our collaborators’ livelihood in danger).

Publishing this may be effectively career suicide - but then again, it wouldn’t be my first time!

I don’t want this prelude to spoil the fun of the next articles. Chances are, if you read any of the next articles, it’ll be because someone linked it from whatever happens to be popular at the moment to share articles.

But I do want it to exist alongside them, as a reminder that software is made by people. Sometimes they fuck up. Sometimes they get away with it. But “wow, whoever’s on the other side of this is a human - and so am I” is a realization that, I think, just cannot get old.

No matter how advanced the technology gets, no matter how many additional layers of sarcasm we collectively vote into common speak - we’re all still human. And it’s with this hope I publish this prelude. So that other humans may - just maybe - recognize some signs before it gets as bad as it did for me. Just like listening to other people helped me slow down before it got to that no-return point.

With no further ado, I’m going to close this prelude here (although I doubt it’s the last time I touch mental health in this blog), follow my own advice, and do something completely non-work-related.