Author: <span>Jake Savin</span>

It’s been a long time since I’ve written anything here. Too long.

I’m going to try to start back up slowly, but given everything that’s happening these days I’m not sure whether that’s even possible. Maybe it is, or maybe it’s not – and if not then I might write a lot, or nothing, or sporadically.

Whatever happens here, I’m no longer going to try too hard to say meaningful things, to conform to any expectations (others’ or my own) about what to write, how often to write, how well to write, or anything else.

I think it’s time to try again.


Back in early February, I had been reading the headlines about the Coronavirus outbreak in Wuhan. I knew there were many people who were sick and dying, and that the Chinese government was taking radical steps to get on top of the situation. I knew there were people in the United States who were worried. I was concerned, but it was all very far away and abstract. I’d never been to China, and I don’t know many people who have close attachments there.

Would it affect the global economy? Probably.

Would it affect anything I care about in my personal or professional life? Maybe. It’s hard to get new iPhones. People I know who work for Apple might be affected.

Would anyone I know be directly affected? Not sure. I’ve got a friend who’s at a small company that depends on Chinese manufacturing. Probably others that I’m not aware of.

February 7th

Then I had a visit with my mom, a physician and medical researcher for many years. We met for lunch in downtown Seattle on February 7th. One of the first things she said to me after greetings and a hug was, “Are you washing your hands?”

I think she had literally never asked me this before, and I immediately knew why. Everyone seemed to be getting more worried and many including myself, were starting to take steps to limit our own chances of getting sick.

We talked some more.

I learned that the medical community was very worried that this disease was highly likely to become widespread, or even a pandemic.

I learned that it was at least transmitted by coughs or droplets left on surfaces or possibly other ways, and that nobody was really sure yet if it could be transmitted through the air, or how long it stuck around on contaminated surfaces.

I learned that there was a general consensus that the first cases would be on the West Coast, probably in Seattle, San Francisco, or Los Angeles, because of the large Asian population here, and because the West Coast is a travel hub between China and the rest of the United States.

And I learned that a colleague of my mom’s, a Chinese immigrant to America, was saying that if the Chinese government says there are 10,000 cases, you should add a zero – maybe two. That meant there could be as many as a million people infected in China.

I don’t think we know even now, how many people were infected at that point. And at this point, I’m not sure it even matters.

Wash your hands!

I already had been, at least sometimes, using my knuckle instead of my fingertip to push elevator buttons, opening doors with my coat sleeve or by leaning into them with my hip or shoulder, and using hand sanitizer occasionally.

That day though, I became much more serious about taking precautions to protect myself and my family from getting sick.

One of the first things I did was to find out who was on the safety committee at Rover, where I worked. I sent an email explaining what I’d heard, that doctors were very worried about this thing, that the company needed to start taking precautions to protect ourselves, that we need to take hygiene seriously, and we need to tell our employees about the virus and the risks.

I got a reply back the next day saying that a general communication was being drafted about practicing good hygiene, but it wasn’t clear that there were plans to communicate the seriousness of the situation.

I stopped shaking hands with anyone.

I bought stylus-pens from Amazon to use at public touch-screens like elevators and point-of-sale devices.

I bought neoprene gloves for myself, my wife, and son.

We talked to our son. We talked to our families. We cancelled travel plans.

About three weeks after the email exchange at work, we were all advised to work from home whenever possible.

A week or so after that, we were told working from home was required unless you had to be the office for some reason.

Another week later it was mandatory for everyone. Nobody was going to the office except to pick up equipment to take home. At 8:30 on a Thursday evening I grabbed my monitor, ergonomic keyboard, mouse, and some personal effects I’d left at my desk. Downtown Seattle was barren.

I worked from home for another couple of weeks. We all did the best we could to stay productive, and to understand and adjust to this rapidly changing world.

Then last week, the Rover announced that it was laying off 41% of its staff. Nearly 200 people.

And now?

And now. Now we’re all sequestered. We’re trying our best to keep our shit together. We’re trying not to get sick.

We’re hoping our hospitals and doctors and nurses and EMTs and firefighters and police can keep up. We’re hoping they don’t get sick.

We talk to our families, our friends, the people we love, the people we work with, only from afar.

We use video chat to feel more connected, and on business calls sometimes awkwardly, with ball caps and T-shirts on, and kids and pets in the background.

We have food and supplies delivered. Dropped at our doorstep without contact. We wave at the drivers, and tip them more than we have in the past. We’re happy we have enough toilet paper for now.

And then we wipe down anything that might have been contaminated as we’re putting it away.

We wash our hands again.

We network. We try to help our friends who’ve been laid off to find new jobs. We thank each other more than we used to. We end most conversations with, “Stay safe!” even with people we’ve never talked to before.

We try to keep our kids from going too stir crazy. We let them stay up later, and have more treats. We allow more screen time than we used to, since that’s how they stay in touch with each other.

We long to have our play-dates again.

We miss restaurants and bars. We hope they’ll come back.

We try not to watch or read too much bad news. We try to ignore the sirens in the distance.

We’ve all slowed down.


A couple of months ago, I started work on a new project – it’s big and complex, with a lot of smart and opinionated people involved, an enormous amount of “legacy” code (mostly C++), and tools and systems that are sorely in need of an update.

In situations like this it’s always really tempting to start over with a completely clean slate, using modern tools and programming techniques. In truth there’s still enormous value in all that legacy code, and throwing it out would be a terrible idea. This is almost always the case in situations like this. Instead the trick is to figure out how to preserve as much of that legacy value as possible, while also unburdening the team and the product from the worst parts of the legacy tool-chain. Evolution, not revolution.

User data needs to be preserved, as does the way it’s used by the system. Systems built on that data need to continue to function. Performance characteristics need to improve, or at least not degrade. A space needs to be carved out where we can safely build new features. But we don’t have to build any new features using those legacy tools – new stuff can exist in parallel or “on top of” the old. We might need to create new interfaces in old code so that the new system can leverage existing functionality, and we might even need to refactor some old code to make that possible. What we shouldn’t do is boil the ocean.

The transition ahead isn’t dissimilar to some of the transitions Apple has made over the last couple of decades, the most significant being the shift from the old “Classic” MacOS to the current POSIX system which came from the Unix/Linux universe, and the Cocoa UI framework which came from NeXT. It took careful management and an iterative approach over more than a decade, but Apple was able to (nearly) completely replace their base OS, UI framework/runtime, and primary programming languages on way to transitioning to the universe we now live in with billions of people using iPhones and iPads every day, running the same base system that Apple’s desktop machines use. They were able to do this while bringing the most important developers along into the new universe (though not without casualties), for the very reason that they chose to iterate in a long-term way instead of starting again from scratch.

While I was working at Microsoft, the company tried to make a similar transition from the legacy OS and programming model, to a new one that was centered the then new WinRT API and the Metro design language. They thought they had to do this in order for their ARM-based Surface devices to successfully compete against iPad. The shift to relatively inexpensive tablets and mobile devices was perceived by some as an existential threat, and the response was partly reactionary. Microsoft failed badly, at least initially, to drive the transition it intended, in no small part because they couldn’t bring their developer community along. Too much changed too fast, and a clear path to the new ecosystem wasn’t communicated clearly enough. The new APIs weren’t compatible, and yet at least on some devices, the old APIs were no longer alowed. By playing catch-up instead of playing their own version of the iteration game, Microsoft alienated many developers who quickly jumped-ship to the Web and to the iOS and Android ecosystems.

Steven Sinofsky was the head of Windows during the second half of my time at Microsoft, and is now at Andreessen Horowitz. Last week he posted a long thread on Twitter about some of the changes Apple is now considering, and naïve criticism of their approach in recent years.

That’s what got me thinking about this post, and I think it’s well-worth a read:



I’m going to start tagging my political posts. There’s so much to follow, that it’s hard to tell what’s important and what isn’t. My hope is that this will help me and maybe others, even just a little, to keep our eye on the ball.
For example stories that just won’t die but have little leverage against Trump and his cronies, like the voter fraud thing, I’ll tag as distractions.
Here are some of the tags I’m thinking of. Let me know if you think I should add any:
#distraction – These issues just don’t matter in the long run.
#obfuscation – Important things, couched in some other issue.
#troll – Incendiary remarks from the Trump administration.
These stories, while deserving of our attention and often disgust, seem to me often to be side-issues that don’t directly address how the Trump “administration” is destroying our government, our trust in our government, and the trust of the United States by the rest of the world.
On the other end of the spectrum, there are actions Trump and Bannon are taking daily which are eroding our government itself. The State Department purges, attempts to silence or discredit the press, damaging of relationships with our allies, and cozying up with dictators:
#treason – Stories or speculation about Trump’s treasonous deals.
#kleptocracy – Abuse of the presidency for personal gain.
#dissent – Insiders standing up against Trump.
#resist – Citizens taking action or speaking out against Trump.
We have lots of energy and motivation right now, but we need focus and strategy very badly. So far Trump has been pretty successful at keeping us confused and misaligned. Let’s fix that!