2019 has been a strange year. In April, I underwent a retrospectively unnecessary surgery that caused me to suffer a level of physical and emotional pain, lasting more than six months, than I had ever experienced before. I went from being unrelentingly focused and productive, to not being able to summon the will to write a single line of code. I don’t want to give this excruciating experience any credit for where I have ended up today, so I will treat the resulting occurrences as purely incidental:
Productivity, coding, and burnout
For almost a three month period, Standard Notes sat completely still, in terms of feature development and to some extent, bug fixes. This turned out to be not such a bad thing. It taught me, above all, that things can wait. Surprisingly, during this long productivity drought, the company did not erupt in flames. Everything continued to function. New users continued to sign up, use the app, and pay for it. Others still sent in praise for what they liked, and condemnation for what they didn’t like.
It also disarmed bug reports. I don’t panic anymore when someone expresses dissatisfaction with a feature or dis-feature. I don’t panic to build new features or iterate on new versions. I’m not in a constant frenzy. I also don’t work nights and weekends anymore. This is actually unusual for me, since nights and weekends were to me, previously, the only time I’d ever work on side-projects. In fact, in my first career position as a software developer earlier in the decade, having finally exhausted the course of my small-time indie projects that were to make me rich, I was shocked to find out that the company I was to work for had closed offices on Saturday and Sunday! I thought, what lousy dedication! I never not worked weekends, prior to that. If I wasn’t working, I felt like I was failing. This turned out to be a tough mentality to shed.
After I had sort of recovered emotionally, and to some extent physically, the two-and-a-half year period of relative unrelenting focus and furious productivity necessary to build the product finally caught up to me. I was burnt out. Usually when I burn out, I recover quickly. Maybe two weeks to a month, tops. But here days, weeks, and months passed, and I still could not summon the will to code or iterate. I did what was absolutely necessary but no more. I still loved Standard Notes dearly, and wanted to continue making it the best it could be. But if not me coding, then who? Ah! I must explore this thing they call hiring. And so finally, after many years of trying to do everything myself, I realized, I could not anymore. Me coding has become quite bad for business. If I’m coding, I’m not talking to users. I’m not thinking about business models or growth. If I’m coding, I’m not doing anything else. And coding can be an emotionally exhausting experience—you don’t want to walk away, or can’t be bothered, until you solve the problem at hand. It creates an introverted monster out of me. So I don’t code anymore. As much as possible. Standard Notes is now a ~6 person team, with a mixture of full time and part time people from around the world.
Hiring, culture, and remote-first
As far as hiring goes, it turns out you must actually make a decision on what kind of company you want to build: local, or distributed. It was mostly a blind process at first. I searched in Chicago for developers, because hey, that’s where I am. But it didn’t quite feel right. Do I really want to build a physical office culture, where I have to see people every day, and be an example of office excellence and dedication for them? Where I have to judge people by what time they come in and leave? Where I have to worry about how each member’s physical presence affects the other’s? Where I have to fret over which snacks to buy, and whether or not we have a ping-pong table, and what constitutes excessive ping-ponging? Na. That all sounds dead boring to me. I honestly would rather not have to babysit anyone’s physical presence. And as a self-proclaimed introvert, I’d probably do a lousy job at being there for people, physically. But in email and chat? Easy. Been doing that my whole life. And, it turns out, so have most of the people you’ll look to hire. So it works out. Local companies, all-in-all, sound like a huge hassle.
What’s more, hiring locally is a huge constraint on access to talented people. Imagine you were browsing a website where you see a world map and tell the query box: “Give me the most talented software developers you can find—from anywhere.” And boom—the map erupts with red bubbles indicating the overwhelming amount of people that satisfy your criteria. But then you tell the website: actually, instead of searching the whole damn world, let’s limit this to a tiny 3 mile radius of people. At this point the website should, rightfully, ask you: mate, are you sure? What are you expecting to find with this query? But it obliges with your strange command, and filters the hundreds of thousands of results around the world, to like 5, in your local island-like radius. So yeah, local-first is quite strange.
I have seen that “founders” (a word which SV/SF culture has tainted, quite honestly, but to which I cannot find a better alternative) who prefer local-first tend to be more interested in the idea of what a company should be, rather than optimizing for results and productivity. That is, they tend to romanticize the idea of building a team, and having everyone forcefully show up at some physical coordinate, whereupon they are all chained to a computer or white board for eight or nine hours. They romanticize the idea of having a ping-pong table or snacks, because they’ve seen that’s what a lot of rich companies do. They fancy themselves CEOs, founders, entrepreneurs—and that this typically involves being as ostentatious as possible. Whereas, if your primary focus is building great software, it doesn’t really matter how or where it’s done.
As to how to find people to hire, this at first brought great pain and befuddlement upon me. I thought I had to start networking, god forbid. The first revelation here was, duh, a job posting. So I tried the various remote job posting sites. This was overwhelming, as I got hundreds of emails, but hadn’t the slightest clue how to filter incoming candidates. I would exclude backend developer candidates based on the UI of their resume, or if they sent it as a Word document instead of a PDF. Fast forward a few months to where I have filled all the positions I was looking to hire for, and it turns out: I’ve hired 0 people that came from job postings. Instead, all the people I hired came from either: the SN community, prior Twitter interactions, and prior work interactions. More recently, I created a jobs page on our website, and I’ve been getting great leads from there. Really, really great leads. Not as abundant in quantity, obviously, but very high in quality. And laser targeted candidates of course, given they’ve had enough interest to happen upon our homepage in the first place.
Habits, lifestyle, and tweeting
While it’s a topic that’s always a bit difficult to talk about, I can feel some slight comfort being a little more honest here given that the state I am living in is legalizing marijuana on January 1, 2020. While the creative benefits marijuana confers can be at times undeniable, and thus, can have a dependency-forming effect (kind of like shaking an empty bottle to death so that you get every last drop out of it), I’ve formed better habits here in 2019. I’ve gotten to the point where I just don’t enjoy it as much. It’s really good for problem-solving, so has become more of a tool when necessary, than some sort of fun-box that provides entertainment on demand. It’s really not a toy. It’s a tool.
I still have not figured out how to write more, or tweet. On my personal account, I’ve tweeted only a handful of times in 2019. Tweeting remains impossibly awkward for me. I’ve never quite figured out how to be the type of person that has 79k tweets. I look at those people in awe and confusion—how!? On the one hand, people who tweet that much clearly have a level of spontaneity and lack of GAF about what other people think, which I hugely admire. On the other hand, every tweet to me feels like an insistence of yourself and your ideas upon someone else. They’re essentially brain farts, but are treated by their authors and followers as some sort of divine arrangement of letters. A lot of Twitter is reacting (or, overreacting) to current events, which I do too, but—and this is honestly not a humble brag but something I ultimately dislike about myself—I can’t hold on to an opinion too firmly. No opinion lasts with me more than a couple hours before I ping-pong between different sides of the story. I’ll try to have an opinion agreeing or disagreeing with some narrative, but then my mind will be like—have you considered the other side of this? And so on. The result is that I simply do not have any opinions that survive a night’s sleep. There is just way too much information, and it’s impossible to consume all sides of a story. The only solution for me has been to completely sit out current events, lest I end up in some infinitely recursive cycle of digging endlessly deeper till you realize, shit, there’s no right answer here. It’s much more complicated than you could have ever imagined. So yeah, my dream of being a “100k tweets” person lives to die another day.
Books, games, and arbitrary lists
Here are all the books I read in 2019:
Here are the video games I spent many hours in in 2019: Rocket League
My favorite object of 2019: This standing desk converter thingy
Those were some words. Good.
It was hard to write about any of this stuff as it was happening, because it was all sort of brewing. But a year end review is a nice writing prompt. As far as progress goes, there’s really no more short-term low-hanging fruit. Everything I’m embarking on now requires the patience of watching a tree grow. 2019 was a tiny branch that today I saw protruding, and thought, hey, there’s something.