🎵 The song for this post is Flotando, by Francisca Valenzuela. 🎵
It looks like everyone is finally locking up! Karen has been on this COVID beat since December; she joined a Facebook group with knowledgeable people and for a while it seemed like it was finally her who was getting whipped into a self-induced frenzy over tunnel-vision social media; this was a very short illusion, by mid-January it was pretty obvious the group she joined was rightfully alarmed, and that this wasn't a function of if but when. No joke, we stocked up rather early and we've seriously talked about going to her mom's in Ohio (or somewhere else pretty remote) no fewer than 8 times.
And now… it's all anyone talks about! I can't remember the last time this happened. I want to say the release of Harry Potter book 7, when the whole country just stopped what they were doing to do the same thing, at the same time, together. It was pretty marvelous. Well, we're here, and I'm even getting calls from my grandfather about this, who's bravely fighting early signs of dementia and having a hard time remembering things. He's remembering this!
I just got this meandering email from Mike Isaac's mailing list, suggesting it's not just me who's feeling the lifestyle impact, and is responding to it by writing. Join us! You're free from your commute! Start a blog! Write blogging software! Remix one on Glitch! Have some fun with it! 😄
Some thoughts on being homebound, remote working, and what's happening on this end.
On working remotely
I worked full-time remote for four months in 2013, and I absolutely loved it. The company hadn't planned to: they tolerated it because they wanted to hire me, and I lived in Philly at the time, so they asked me to move to NYC when my lease ran out (how I got here in the first place). But it was instructive: because I often model programming as highly creative work, when my job is writing code, home offers a lot to help with this. Mostly, a quiet space away from distractions: I'm very easily jostled by social energy and people's needs, when I'm around people, I often have to "wear the human suit" and its impossible for me to either feel comfortable, or get meaningful work done.
The shorthand I often use is: when remote, I work better, and I goof off better. I can sit down and work on a problem without office or social distractions, and if I need 20 minutes of "hammock time,"1 I can literally lay down comfortably and not get judged. In an office, I just have to mill about or sit at my desk refreshing articles to calm an anxious brain. Pam Selle wrote a good article with many points I agree with connecting remote work to autonomy.
This isn't universal: many people are much more easily-motivated by the energy of others, and the reason many people feel distaste for many remote-working practices (writing decisions down, or clear asynchronous communication) is because it's legit work. There's also, candidly, an entire class of managers who don't realize how heavily they lean on social cues when determining how to evaluate their reports.
Last caveat is that "working in software" becomes less and less about "writing meaningful code" as a company, codebase, or career grows. Having a well-specified feature that you're left to implement is more or less the definition of a task you can give to a junior engineer; even as an "IC," you're often spending much of your professional time doing things like:
- Negotiating requirements and coordinating timelines with stakeholders.
- Getting informed on the "state of the world" from other ICs for those conversations with stakeholders.
- Informing stakeholders of all of 👆. Getting informed about 👆. With redundancies and "requires clarification" in both directions.
- Mentoring more junior engineers.
- Reviewing PRs, Design Docs, RFCs if your company has them.
- While line managers tend to do most of the project management associated with startup engineering work (standups! grooming! planning! retros!), senior ICs are expected to lead and participate more actively in these.
For all of that, "hammock time" is less important.2 😛
I suck at jogging
One of the bigger discoveries of the past two years was how much exercise helped me manage my mental health struggles and feel happy to be alive and engaged. I went head-first into acting as a teenager, and am glad I did, but I'd never guessed that what I needed to hear then was "no dude, become a jock."
Unfortunately! Gyms are a place where you and a bunch of moist people pant heavily and touch surfaces. So now I'm resigned to half-hearted bodyweight routines in the one section of open floor I have, and jogging.
When I do it I'm reminded of that meme: the first step to getting good at something is kinda sucking at it. I don't like feeling like I'm bad at things; an inability to get over that has been a major obstacle. So here's to pushing past it 🏃🏼♂️
The dog fucking loves it
I mean: we're home all the time now!
I fucking love it too.
A few things motivate this. Work code isn't always fun. To quote my buddy Saurya: "Becoming a software engineer because you love coding is a lot like becoming a butcher because you love animals." Writing code for myself in weird languages is fun.
Why a bot? ScrabbleCheat was a project that taught me a lot and opened a few doors for me. I didn't plan it that way! I thought it was a weekend project 😛
Why Pandemic? lol. But also, like Scrabble, it's a game I love but find super frustrating to play. It's also very different than Scrabble! It's cooperative rather than contentious, and the domain of forming strategies is considerably wider than in Scrabble.
I often think about NaNoGenMo. You've heard of National Novel Writing Month (NaNoWriMo), but NaNoGenMo is about writing a program that generates a novel in a month. I'm tempted to host a contest: with 10,000 Pandemic "scenarios" (player assignments, deck shuffle configurations), how many times can your bot win? It wouldn't be totally deterministic (Infection Deck gets reshuffled on Epidemics) but it might be fun. I'm pretty confident I wouldn't win! But maybe other programmers would have fun while holed-up.
1. ^ "Hammock time" isn't mine, it's a thing in the Clojure community. I poke a lot of fun at them because I think (like any other community) they're full of some nonsenses; but they're also Weird Language Likers and think there's a lot of good to take from their stuff too.
2. ^ Matt Klein, one of the lead developers behind Envoy, wrote a great tweet thread about career as a senior IC who never wanted to manage. Twitter sucks and no longer shows you the thread of a linked tweet by default, so he said he wrote a blog post. Turns out, he just links Twitter like I would have, putting us back where we started. And if you have privacy protections in your browser, Medium won't render the tweet he links. Write blog posts, people! On domains you control!!
Thanks for the read! Disagreed? Violent agreement!? Feel free to drop me a line at , or leave a comment below! I'd love to hear from you 😄