The Mid Career Shuffle

tl;dr> I've decided to take a new job as an early engineering manager/tech lead, at a data analytics/database startup. And I hope to begin blogging/journaling here more about software development and the way that software and databases interact with other things that grab my interest.

This post doesn't really have a narrative. It's just a collection of thoughts. I'm sort of out of the habit of writing blog posts, and one of the things that's gotten me stuck on writing in the past year or so is feeling like the narrative of any given blog post is not quite right. [1] But we have to start somewhere, and the story will happen over the next few posts.


In the middle of 2020 I left a job at a company that I'd been at for almost 9 years. It seemed like the world was on fire, what it meant to work at a globally distributed tech company was changing (and still is!), and it felt like a good time to make a change. But to what? I've spent the last few years working on different projects and exporing different things: I've worked on cool distributed systems problems, I've worked on product-focused (backend) engineering, I've worked on familiar latency-sensitive compute provisioning and orchestration, and a little bit this and that between.

I've identified a few things about jobs and working in this process:

  • while remote work is (and has been for a while) definitely a reality of our world, [2] the one thing you can't really accommodate for is timezones. A friend, zmagg, claims (and I believe this) that time differences between 9 hours and 16 hours are basically unworkable as there isn't really enough overlap to really collaborate.
  • if the center of gravity in a company is in a place, or in an office, remote teams really have to be intentional about making sure to include people who are outside of that bubble.
  • the interesting parts of software engineering is what happens between people building software on a team: programming is a means to an end, and while the tools change every so often, how you build together is really fascinating (and hard)!

My new job is different from any job I've ever had: First, I'm going to be working on building and developing teams and helping support the engineers and the engineering teams rather than working directly/full-time on the software. I probably will end up doing some software work too. This isn't that novel: I've definitely done "the management thing" a few times of times, but more of my time will be doing this, and I get to be more intentional about how I approach it. Second, my work (mostly) has been in support of products that other people--largely my coworkers develop, in the sense that the work that I'm drawn to is the internal infrastructure of software. I like infrastructure a lot, and I think I tend to focus on these kinds of problems because I feel like it gives me the biggest opportunity to make an impact. In this sense, in a lot of ways this role is very similar to my previous jobs: building the infrastructure to enable and support the people working around me. Only this time it is (not entirely) software. I'm actually looking forward to mapping concrete business goals to actual research and development problems and projects, helping to provide context and prioritize projects without needing to filter through layers of indirection.


I have been blogging in one form or another (mostly this form) to greater and lesser (mostly lesser) extent for a (really) really long time. The landscape of the way we interact on the internet is changing: twitter is really a shell of its former self, "big" social media networks (facebook, instagram, ticktock, twitter, etc.) have really segmented by generation and region, and little social media sites are still niche.

For my part, I've been spending more time in "group chat," with sort of wacky combinations of random friends. This isn't new for me, and I take a lot of joy of building out very small communities of folks. Also, as I think about it, the thing I most want to do is have coversations with people. Sometimes that conversation is longer form (like this,) and sometimes, it's more one-to-many (like this sort of half baked telegram channel idea that's just sort of a "things I would have said on twitter" but as a chat,) but rarely is it "I would like to become a publisher," or I want to use blogging as a way to market some other entrepreneurial effort. Not that there are anything wrong with these reasons for blogging.

It's easy (as a software engineer, though I think this probably holds true for anyone who process for "building" thing requires a lot of just "thinking," about things,) to do a lot of the thinking part in private and to only show up with the "right" solution (with maybe a few alternatives for rhetorical effect,) or to mostly focus our writing on conclusions reached rather than questions asked.

So perhaps, (and we'll see if holds,) I can use this space more as a journal and as a collection of questions and (perhaps) failed attempts and less of news feed.


[1]I think I often get stuck on where to start, and how much exposition to provide for the topic. I think too much time as a technical writer where my job was to explain difficult concepts means I can (at least try) to start to start to early, and then feel like I get to the end of a post before I've said what I think needs to be said. The answer to this might be to just write more and post more, so the exposition is just in the scroll back rather than trying to do too much in one post. And to always err on the side of not enough exposition. Let me know, though if you have an opinion on that one.
[2]companies are often necessarily global in scope, and having a team or project spread between different offices isn't all that different than when it is spread between a bunch of people's homes. Once you have more than one location, n locations are pretty much the same.

Current Work

I know it seems like I write a lot about knitting, and it is the case that knitting covers a lot of the "stuff I do" it's certainly not the only thing I'm doing, and I thought it'd be fun to quickly review a bunch of things:

  • As of this week, I've been working at Interchain GmbH on Tendermint Core which is a consensus engine for state machine replication. After spending a huge part of my career on projects that were either "enterprise technology" (e.g. writing documentation for database engines), or technical operations (e.g. systems administration), or mostly internal facing (e.g. developer tools,) it's been really interesting to work on something that is definitely core product engineering with a great team. My work has mostly focused on what I think of as "platform concerns:" service construction, networking, workload management, and test architecture: these are the things I really enjoy, so that's been great.
  • More recently I've begun reballancing my time work to spend some time (intentionally) on what I think of as "engineering issues" rather than "software issues." I'm still writing basically the same amount of code as I ever did, but I'm also thinking about how to support teams as they grow and function. At basically every organization and team that I've worked in, the main constraining factor in shipping features has always been coordination with other engineering projects and not really "how quickly can I write code" (I'm pretty fast, all told.) I've always thought that challenges of how people coordinate their labor and organize their efforts in distributed (conceptually, temporally, geographically) environments, is one of the cool/hard problems.
  • I've been cooking a lot more. I'm getting better at making simple dishes that last for a few meals that I enjoy eating. I've been really getting into bean and letils, and have also made some good lentils making a lot of white bean and sausage dishes, lentils, pasta sauces, roast veggies.
  • I'm knitting a lot! Most of the time I have 2 or 3 projects going: a sweater, a pair of socks that is easily portable for travel or times when I'm not at home, and more recently a series of plain white socks. I'm quite enjoying all of this. As a backdrop to knitting, I've been watching Poirot recently, which has been fun.
  • I have a couple of "writing about knitting" projects that I'm writing and preparing drafts of. These are mostly book-length (though on the short side,) type projects, and one needs more editing (which I'm hoping to hire someone to help with,) and one is roughly half way through a first draft. The idea is to provide a lot of technical depth about the craft of knitting--techniques, skills, and design--combined with discussions of projects (mostly from a process perspective,) with some personal reflections and anecdotes sprinkled in. It's been a fun exercise, both because writing about things you understand well is fun, but also because (as weird as this sounds) it's been nice to sort of explore the boundary between technical writing and more creative writing.
  • I've been doing a bit more things that I think of as "general personal care/growth:" reading more books just for fun and because reading is good for inspiration generally; doing duolingo every day (Russian, which I studied as a kid in school); upgrading a bunch of my personal computing practices (new laptop, better remote editing environments, staying on top of my email, switching to tmux, etc). I definitely go in cycles of paying greater and less attention to all of these sorts of things, but I think it's worth while to dedicate time and attention to these kinds of things.

I want to find more ways of writing little things quickly. There's that old quip "sorry for writing a 10 page letter, I didn't have enough time to write a one page letter," but also I think that I do most of my writing in the morning and tend to not do this on days when I'm working, though this seems like a tractable thing to reorganize and think through ways of doing more writing (and other projects!) throughout the week.

Pandemic New Years

It seems obligatory to mark the new year, and what a year it was, for me and everyone else: pandemic, quarantine, changing jobs, new hobbies, totally different routines. The backdrop of the pandemic makes looking back (and forward!) so weird, and I find myself asking: will the things that changed in my life still be true when there's less quarantine? did the things that happen in 2020 happen because of the pandemic or would they have happened anyway? The certainty that most (but not all!) of 2021 will, in practical terms, look a lot like 2020 is intense and makes this whole "obligatory new years" thing a bit harder. Instead of doing something like "resolutions"/"goals"--which are always fraught--or some kind of lofty synthetic review of the last year, I think I'd like to muse on features of 2020 that I hope and expect to continue in 2021

  • Knitting: I took a lot of time off of knitting, but I found that I'd been missing it, and I think there are ways that it fits well into my life quarantine or no. It's also been quite fun to write about knitting and knitting projects, and become more engaged with other knitters, and I look forward to knitting things for friends and family. I have list in my head of some nifty ideas for sweaters and some other things to knit, so I expect this to stay.
  • Blogging: I've been writing blog posts for years and while I've always found it rewarding, but everything else related to blogging has been hard. During the summer, while I was interviewing for jobs, I wrote blog posts most days, and sort of fell down on posting them, and still have 25 (or so) in the draft folder. Writing is the easy part, it's editing (or letting go!) promotion, and remembering to move things out of draft. I've spruced up the blog and done some work to automate regular publishing, and it seems like I might be able to make this work! I definitely want to.
  • Pickling: I've really enjoyed pickling things, and if anything I expect that I'll enjoy doing this more after quarnainte when it's easier to share these things. Right now I have some cranberries on the go, and a lot of sauerkraut in the fridge that I'm slowly eating. It'll be fun to have more people to share it with! I'm excited to explore radishes as well as nappa cabbage.
  • Coffee: I started drinking coffee in 2014 and have mostly had coffee made by other people: tech jobs in NYC have pretty great office coffee, and the process was something of a mystery to me at the beginning. While I had a Chemex and made coffee for myself sometimes, it was definitely a special occasion sort of thing and not part of my regular routine. Now making a pot of coffee is part of my morning routine, and I find it pretty satisfying, and while I definitely look forward to drinking coffee that other people make more often in the future, I really like getting up making a pot of coffee and sitting down to write nearly every morning.

Pickle Quarantine

What a year, am I right?

I've avoided writing a more "journal"-type post because there's both too much to say and somehow not enough all at the same time. This is a tough time to be a human, and I've been incredibly lucky in many regards: I can stay busy, I have a living situation that makes quarantining easy and tolerable, and while I wish the produce at my local grocery had better produce, it's nice to live in a very walkable and accessible neighborhood. Even though "nowtimes" are fundamentally different from the "beforetimes," the speed at which things become routine--if not normal--is almost disturbing. Delightfully, though, I've felt like I'm still getting things done. In no particular order:

  • As the title of the post suggests I have firmly entered the home pickling phase of quarantine, and have begun fermenting rather a lot of cauliflower, with additional vegetables to follow. Frankly I don't know why I didn't think of this earlier: I love pickles and it's really hard to get compelling pickles for things that aren't cucumbers. My first batch is cauliflower, and I'm also excited to do things like: baby okra, cabbage, greenbeans, and maybe some of my favorite root vegetables (shallots, raddishes, horseradish, jerusalem artichokes, etc.) Details forcoming, perhaps.
  • I've begun cooking more often. My go to, is to make a pot of chicken stock, and then figure out things to use the stock to cook. I've done some nice proto-beef stew things, and have made some pretty great lentil dishes. Nothing fancy or complex. I'm also delightfully, getting to a point where I can produce a meal that consists of more than one flavor profile, which is nice.
  • I've written enough common lisp that writing little bits of software in CL seem doable. It's still a bit harder to get into bigger projects, and I have a lot to learn still, but I've crossed a line, and it's nice to have an additional skill.
  • I replaced the video card in my home desktop, and I feel like I have a totally new computer! It's amazing. I got this computer in 2013, and have mostly been using laptops for the past few years. Before quarantine, I was even planning to de-accession it, but I've been using it a lot more and the new video card really changes things. Since I don't do a lot of graphics things and my computer use is not particularly performance intensive, I forget how much having an underpowered GPU can really impact perceptions: I was suffering through a lot of rendering-hangs and glitches that just don't happen any more.
  • I've been writing blog posts more, and am working on a plan to have something that resembles a publication schedule. I wrote professionally for so long, that writing for fun never seemed like a viable way to spend time, but as time goes on, it's clear that I really want to be able to experiment with ideas and reflect on things in a more regular way, and continuing to write posts here seems like a good way to do that. My lisp-related posts are now appearing on Planet Lisp, and I'm interested in expanding my reach... slightly.
  • I completed a sort of long term project to modernize the way that I use and configure emacs: I got all of the hardcoded weirdness undercontrol, I started using use-package, and I got lsp-mode to work, and I fixed a number of hilarious little bugs in how my config worked. The end result, is I get to use the editor I want in the way that I want, and it all starts up on my (old) computers in well under 2 seconds, not that I start up all that often. I expect I'll write a bit more on this soon.
  • Since quarantine started I've gone through an entire complete box of Chemex filters (plus the tail end of a box, and I'm a few pots into the next box.) I started drinking coffee during the summer of 2015, and have primarily consumed coffee produced by other people (i.e. at work) in that time. While I've definitely gone through a few boxes of Chemex filters over the years, my new rate is noticeable. But quarantine means making your own coffee, and apparently I've made a lot of coffee. It feels like a milestone.

As You Mean to Go On

I've not posted for a long time. A lot of things have changed since I last wrote, and this post is probably not the best place to recount all of them. Indeed many things haven't changed, but the highlights..

I'm still living in New York, but I bought a coop in Brooklyn and moved, which has been great. I'm surprised at how quickly I have felt at home and rooted. The sequence of changes in my life that brought me there are simple, really, but I've struggled to make sense of things even so. The fact that I am aware of development is both a great comfort, but it has been hard to write about my life with confidence.

I replaced my tea habit with a coffee habit. I attend yoga classes regularly. I sing Sacred Harp (and sometimes other shaped notes). I Morris dance with the Bowery Boys, the Men's team in New York City, and continue to dance with Braintrust Morris, an kind of butch Morris team with a spiritual center in the Midwest.

I'm still working on the same kinds of developer documentation, build systems, and software development projects for the same company as before. I still think open source software is important. I am really interested in helping people develop technological literacy and understanding. I want to work on improving infrastructure for developers and development. I use Linux extensively, write a lot of Python, tinker with Go and Common Lisp, and live and breathe in Emacs.

Life is good. Life is difficult. Life is.

I look forward to writing about it here.


So the blog looks different. I changed some things:

I switched from using ikiwiki to using Sphinx and an extension called ablog. I wanted to use a system that I was familiar with and could hack on (that's Sphinx, which is the core of the tool chain I use at work.) Also, I wanted to use reStructuredText, which I prefer.

Ikiwiki is great software, and I quite enjoy it's architecture and use. The problem is that it's not in particularly active development, the code base is in Perl (which I don't know, and except for ikiwiki, have no reason to learn,) and the project has probably peaked in terms of its adoption curve. To boot, my goals and user story aren't totally inline it's goals and user stories.

Sphinx isn't totally right for a blogging engine either, but it's solid. I actively develop and maintain tools around Sphinx. Indeed, I was able to make some small changes in ablog that shaved about a third of the time off of the total build time. Not bad.

It took a lot of time to convert all the posts to the new format, but now that everything is in order and the tools are usable it is time to start writing again.


It's good to be home.

Lazy Sunday

I've had a nice quiet weekend, the first such weekend in quite a while. It's nice to be able to relax, work on projects without deadlines, and avoid all of the editing that I ought to be doing.

Some notable accomplishments, current projects, and other events in the last few weeks:

  • If you ever visit tychoish.com in your web browser (as opposed to by way of its aggregation,) you'll note that the design has changed somewhat.

    This is the design that I've been using for my personal wiki for months, and so I'm quite used to it, but feedback is welcome.

    The design change has inspired a bit of introspection, hence this post, and perhaps some of the posts that will follow. Please bear with me.

  • Months ago a friend of mine said "some of us might like to know how you're doing every now and then, and your blog is just stuff about obscure technology."

    Guilty as charged. Recently, I've been much more interested in using this blog as a scratch space for projects that I don't have quite enough time to pursue in appropriate depth.

    Having said that, I think (or hoped,) that I've calmed down a bit in recent months and years: My career/professional identity seems a bit more stable. I'm doing a better job at focusing big projects, which means some shorter posts and more personal posts may be in order.

  • I got a new computer last week. I'm working on a post that addresses this in a bit more depth. In short it's great. So my largely unnecessary justification is:

    • A smaller machine, which is better on my back when I am walking around.
    • Beefier system, which means I can compile things quicker (and I've been doing more of this recently.)
  • The ability to dedicate the older system to some stay at home things: having a working desk at home, playing music, running some buildbot stuff, and the like.

I've realized that even though there are little things that I might like to change about how my computer works, and things that I'd like to setup and get working for the most part, things just work. And that's really great.

  • There's a host of stuff that I'm working on that probably isn't apparent to the internet:

    • My day job. I'm doing awesome documentation things for a neat New York City database software company/open source project that you've probably heard of (if you're into this kind of thing.) It's rewarding, interesting, and it means I can spend all most of my time day making things.
    • I've been working on submitting documentation patches to a couple of open source projects: buildbot and MediaGoblin. I need to do more of this work.
    • The editing pile. Currently on tap: a mess of blog posts, the prologue of my most recently drafted novel, and some of the last little pieces of the Cyborg Institute launch. Speaking of which that should happen in the next week or so.

    Next up? More of the novel and suggestions from frist readers of the systems administration book (see next item.)

  • Never to be deterred, I'm hard at work on the outline for another novel. The plan is to have something I can start drafting in earnest by the end of the summer. I feel pretty good about the project, although as I was working on an outline last night, I changed the last third of the book. Oops.

  • The systems administration book. Available via git today, With general release following shortly. All feedback as well as pull or merge requests with comments and suggestions are all welcome. See the following for git repositories

    (Both are identical.)

    The cyborg institute listserv would be a good place for bug/issue tracking at least for now.

  • On the topic of editing, I've recently discovered the one clause per-line formatting style.

I've long attempted to keep lines short to promote cleaner diffs, but in truth, if you end up reflowing paragraphs, the resulting diffs are basically useless. I've encountered one-sentence-per-line tactics, which seems like a good idea, except that sentences often exceed 80 characters.

I'm not yet decided on the subject, especially for writing longer sections of text, but it does make editing easier.

Onward and Upward!

Task Updates

Life has been incredibly busy and full lately and that's been a great thing. I've also been focusing my time on big projects recently rather than posting updates here and updating the wiki. And then I have this day job which basically counts as a big project. While I like the opportunity to focus deeply on some subjects, I also miss the blog.

tycho is conflicted about something. Shocking.

In any case, I want to do something useful with this space more regularly. So here I am and expect me more around these parts.

I've been working on a total refresh of my Cyborg Institute project. I want it to be an umbrella for cool projects, nifty examples, great documentation, and smart people [1] working on cool projects. If that's ever going to happen, I need to get something together myself. The first release will contain:

  • A book-like object, that provides an introduction to the basic principals of Systems Administration for developers, "web people," and other people who find themselves in charge of systems, without any real introduction to systems administration. (Status: 70% finished, with a couple more sections to draft and some editing left.)
  • A Makefile based tasklist aggregator, inspired by org-mode but largely tool agnostic. (Status: 95% finished, with documentation editing and some final testing remaining.)
  • A logging system for writers. I use it daily, and I think it's a vast improvement over some previous attempts at script writing, and I did a pretty good job of documenting it, but it's virtually impossible to manage/maintain. Having said that, I always wanted to rewrite it in Python (as a learning exercise,) so that might be a cool next step (Status: Finished save editing and an eventual rewrite.)
  • Emacs and StumpWM config files, packaged as "starter-kits" for new users. I have good build processes for both of these. I don't think that I need to document them fully, but I need to write some READMEs. Since there's a lot of redistribution of others code, I need to figure out the most compatible/appropriate license. (Status: Finished except for the work of free afternoon.)

Probably, all of these Cyborg Institute projects will get released at about the same time. The blockers will be finishing/editing the book and editing everything else. I might make the release a thing, we'll see.

Other than that, I:

  • Updated /technical-writing/compilation.
  • Finished the first draft of this novel. Editing will commence in June. I've also started planning a fiction project, for a draft to begin in the fall?
  • Wrote a few paragraphs on the ISD page, but I'm starting to think that as my time becomes more limited, that the critical-futures wiki project, as such, will probably be the first thing to fall on the floor, unless someone else is really interested in making that be a thing.

Onward and Upward!

[1]My intention for the Cyborg Institute has always been (and shall remain,) as a sort of virtual think tank for cool projects put up by myself and others. You all, dearest readers, count in this group.

Science Fiction Reading Progress

I've been mentioning what I've been reading as part of my weekly "accomplishment" posts, but I wanted to take the opportunity to write a slightly longer review and reflection of some recent reading.

After delaying for far too long, I've finally gotten through the April/May issue of Asimov's. There are probably all sorts of reasons why double issues make a lot of sense for publishers, but I have to say that I find them a bit grueling to read. Maybe it was just this particular issue, but I found that the balance between novellas and short stories wasn't terribly good, but maybe it was these stories, and my own tastes rather than anything wrong with the editing itself. There were some great stories: I loved Kristen Kathryn Rusch's story, and I thought the cover story was fun but weird in that way that I don't think Steampunk always works as well as it seems like it should. Michael Swanwick's and Mike Resnick's stories were high on the poignant-factor and low on the larger meaning but they worked.

I've still not read the June or August issues, and I'm going to try and start reading Clarkesworld. Here's hoping I still have time to do other things after periodical reading obligations.

I also read (in about two weeks) Excision by Iain M. Banks. As I was moving to the east coast I made the decision to start going through all of the late 80s and 90s era space opera that I had totally missed, and I can't quite recall why I chose Banks. I think there's something about the grandiosity of The Culture that I really quite like. I found the first two really hard to grok, and now they mostly make sense. I think if I could do it again [1] I'd read Use of Weapons, maybe Excision, I'd make Player of Games optional but definitely 3rd if anything and then Consider Phlebas. I think Phlebas is among the best, but without the context of the others its a bit too odd.

I've also been listening to podcasts: The Outer Alliance Podcast, FLOSS Weekly, FaiF, and Escape Pod. Good content, great pacing for my now daily walks, and it's good to stay in touch with all of that content. Podcasts were something I'd listened to a lot when I was exercising or driving alone. I've not driven very much in the last year, and my exercise routine has only recently started to become regular. So it's nice to get back in that habit.

What are you all reading? [2]

[1]And if I weren't such an ardent traditionalist about reading series of books in the order of their publication.
[2]And, admittedly, listening to.