2016 went really fast, and a few big things happened. Some good, some bad. There were some definite themes and I learned a few things. Here’s a really long post about it.
So what happened?
On January 7th 2016, my Dad passed away. He’d had a four year battle with amyloidosis and it’d been a tough fight.
I think about him every day. Often it isn’t a gut-wrenching sadness, though that usually comes the longer I think. It’s more of an abstract sense of loss. Like: what a shame he won’t be here to meet the kids I hope to someday have. To tell me about some weird Ingmar Bergman movie I hadn’t seen. What a shame we can’t sit together in the kitchen on holiday evenings, a fire roaring, him telling me for the second or third time about how some obscure number theory result is the reason we can buy things on the internet; making references to Hesse and Hofstatder as though they were TV personalities. What a shame he isn’t here to watch my brothers and me continue to grow up and hopefully make him proud. Sometimes that plain sadness curdles into a sense of unfairness.
When he was diagnosed three years ago, I started getting severe symptoms of anxiety and hypochondria. Panic attacks, scary physical sensations, days-long fixations with the medical condition I’d surely soon collapse dead of. I’m still wrestling with this today in degrees. 2015 saw a healthy regression of this ailment, but Dad’s death brought it back to some extent.
I’ve found myself hoping and maybe believing there’s an afterlife so that I can credibly tell myself he’s still out there somewhere.
Karen and I had split the previous year in October. Dad’s passing away left me with a lot of thinking to do, and one of the things I realized is that Karen has a character that is fundamentally good and darn rare. She’s kind and caring, and has immense gumption and know-how. She has a thoughtful courteousness that is unfortunately long out of fashion. She’s damn funny, and a bunch of other wonderful things that I won’t list out here.
I lobbied hard to get back together with her and so far it’s been a success.
I realized that a lot of the problems we hit the first time around were problems with me, and they were repeat issues from past relationships. Not taking enough space for myself, neglecting my friends, and eventually getting fed up with my S.O.. Thinking that she has to be a mirror image of me for the relationship to work. That was a big one.
I’m sure these sound obviously dumb to most people reading this, but somehow they got pretty deeply wired into my thinking.
It’s a great show, and still great the second time around. It’ll teach you about Baltimore politics, the varied and spectacular ways that hierarchical bureaucracies fail, how to do right in spite of the people above you, and about Omar. It’ll sate your homesickness for the Rust Belt when you feel trapped in the software-drunk hothouse of the west.
It was ill-advised and contrarian, but I wrote a AWS deployment system called Herc that was pretty successful at Counsyl. It replaced our very unreliable and difficult Docker cluster, and facilitated the deployment of upwards of 15 separate services. It’s maybe the single thing in my career I’m most proud of. It was far from perfect, but it was kind of beautiful in its effectiveness as a hot mess of duct-tape.
There were a few lessons here for me:
Things that sound dumb by conventional wisdom may not be dumb given particular conditions. Corollaries: there’s no substitute for direct experience. Accept inherited wisdom cautiously. Assess things by first principles.
As most software engineers will tell you, writing a deployment system sounds foolhardy. There are already a number of tools out there prebuilt and well-tested that do this sort of thing. But when you have a giant legacy Puppet codebase, an unconventional internal PKI infrastructure, HIPAA requirements, and a bizarre AWS configuration, it just might make sense. And it did.
Sometimes it’s much better to beg forgiveness than ask permission.
If I had navigated the proper channels to get permission to write and use this thing, 90% odds are that I would’ve been refused, or this thing would’ve turned into a big design-by-committee project.
Occasionally in people orgs, just a single individual has vision of what needs to be done to improve the health of the org. Often there will be structural, political impediments to this actually being realized. (see Major Colvin of The Wire.) So sometimes you just need to shirk those and go and do it. Provide a proof of concept and show people the value before they can argue it away. This’ll do wonders for your job satisfaction, though of course you might end up fired if you don’t think it through. You might end up fired anyway, but at least you’ll feel like you have some shred of integrity.
Working weekends isn’t the devil.
I wrote the kernel of this thing over a Saturday and Sunday. It’s some of the most fun I’ve ever had in my life.
Software adoption is more about marketing than anyone gives outward credit to.
Having good docs, working examples, catchy branding, and an engaging talk prepared was key to this system getting adopted in the org. Similar lessons came from watching desk’s rise to (modest) popularity and implementing a frontend overhaul at Tempo.
I left Counsyl and joined Tempo Automation. Both are great companies, and I was very well situated at Counsyl – it mostly came down to the fact that Counsyl is a Big Company (well, on the order of hundreds of people), and Tempo is a small one. At smaller companies, the marginal impact of each employee on the company is higher. I want to be somewhere where I matter.
The other, less diplomatic factor is that Counsyl’s product (genetic labwork) is quickly commoditizing and Tempo’s product (tools to allow rapid prototyping for electronics) is far from it.
After a few years of basic and sporadic strength training with barbells (squats, deadlifts, et al), I finally joined a Crossfit gym in September, which has fully cemented my long-suspected membership in the Crossfit-Paleo-Libertarian nexus. I’ve drank the all the koolaid there is to drink. Rabid internet skeptics rejoice.
I have mixed feelings about it so far. On the plus side:
On the minus side:
All in all, though, the pros outweigh the cons for me at this point. When I’m a seasoned vet, my clean/snatch form isn’t complete garbage, and I have a garage, I’ll probably hang up the Crossfit. For now it’s a worthwhile deal, and I believe strongly in its efficacy for getting basically anyone into very good shape quickly.
My first time in Asia was refreshing and instructive in weird, deep ways. I’d recommend anyone with the means and interest check out Japan and Hong Kong, in that order of priority. Both are great, but Japan is truly alien and wonderful.
Other travels:
And it’s going pretty well. Back in April when the price was in the four hundreds I seriously considered selling off the bulk of my VTSAX index funds and sinking the yield into BTC, but I’ve got this “immutable trade” policy – I don’t sell unless I need the money – and so I figured it better to stick to my principles. Boy that would’ve been a nice payoff, though.
My plans for 2017 mostly revolve around responding to the issues I had in
When I switched jobs to Tempo, many of the benefits of larger software companies went away. No more regular free food, no more laundry. Oh boo-hoo, right? Software guy loses his perks. Well, yeah, and it’s rough after you’ve acclimated to that kind of pampering.
The back half of this year felt like nothing but working, Crossfit, cooking, doing laundry, and then sleeping. I began to feel as though I wasn’t making any progress on personal projects (reading, coding, music, writing) and I got pretty frustrated as a result.
So I’d like to get more quantitative with time monitoring. I’ve had an idea kicking around for how to do this; how to build a model to both monitor and nudge me in the right direction with time usage. I’d like to see that through. Maybe there’ll be a subsequent post more on that.
Generally I’d like to start keeping more metrics on things like
and so on.
Stress is bad for you and it isn’t much fun. The back half of the year saw me getting massively stressed out over work.
Much of this stress I probably saddled myself with, and I acknowledge that some amount of stress probably spurs me to do better work and, more generally, grow (see hormesis). But too much stress is bad, and a condition that sees me walking into work already keyed up every other day is probably too much stress.
So I’m going to try to loosen my grip a little. I don’t want to turn into some bland Zen prune, but upping the meditation and generally seeking more relaxing, genuinely fun activities isn’t gonna hurt.
I’m very inspired by the Slate Star Codex guy’s yearly ritual of making new predictions and grading last year’s. I’m not going to any in this post, but I’ll be publishing some shortly.
It’s been a horrible, wonderful year. Glad to be here.