Menu Navigation Menu

The bad news

It’s been a month since San Francisco and the surrounding counties announced a lockdown, and at least a couple of weeks in most of the US. The good news is that it’s possible to build software even when everyone is staying at home every day, unlike a lot of jobs!

The bad news is this isn’t remote working, not the way that anyone has ever talked about it before. In the words of Juan Pablo Buritica, this is “stuck at home work”, and that’s much worse.

The worse news

Not only is it completely different to build software with everyone at home, everyone is having to do it without preparation or a transition period. To add a cherry on top, the global pandemic is destroying everyone’s ability to do new hard things, along with the rest of their mental health.

The Bay Area lockdown has already been extended once, and there is no consensus yet about when it will be safe to allow workers to return to stores, let alone offices and schools. No one is getting out of here in less than weeks, and most experts seem to be saying it will take at least a few months. We need a new mindset: working from home isn’t a temporary workaround, it’s just how things are now.

Reset your expectations

Time for some more bad news: if you’ve been working with this team for a while, you now have expectations that are wildly off-base. It’s a global pandemic. There’s no childcare. There are shortages of food and toilet paper. Your team is not firing on all cylinders. You are not firing on all cylinders.

What is this “productivity” you speak of

Create a new definition of success: if you are still here, you are succeeding.

If the stress of the botched governmental response to a global pandemic hasn’t taken you down, you are succeeding.

If you are feeding yourself and checking in with the people who matter to you, you are succeeding.

If your company and team still exist, you are incredibly lucky and have something to celebrate.

If your company and team are able to accomplish literally anything, you are doing better than most.

You should feel lucky, proud, and accomplished, purely based on having any capacity available at all, and you should tell your team you feel that way about every one of them.

How to work, now

As a manager or team lead, your job is not just to get your own shit together, your job is to model working from home for your team, offer them resources, and suggest ways they can improve.

The best starting point I know of for working from home is Work in the Time of Corona by Alice Goldfuss. She offers both extremely practical advice about how to improve video calls and insight into the mental strains of working from home and how those strains interact with a pandemic.

Implicit to explicit

Once you have your own situation sorted out, examine how and where you interact with your team. The biggest change switching to home work is that communication needs to become more explicit.

Are you explicitly checking in with your team? Are you explicitly supporting them? Are you providing them with a forum to check in with and support each other?

Model new norms

In offices, norms and expected behaviors are shared by literally sharing space. While working from home, norms and expected behaviors not only need to be explicitly spelled out, you need to make your own actions explicit and legible.

You can’t count on walking past someone in the hallway, or running into them in the kitchen. You can’t expect people to see when you arrive, when you leave, what you’re looking at, or who you’re talking to.

Do the actions you want to see. Let people know what you’re doing, so they know those behaviors are normal and expected. If you say “I’m closing down for the day to be with my family, see you all in the morning.”, it models work-life balance in a way that disappearing from Slack does not.

Have less meetings; communicate more

Meetings are optimized for synchronous communication. They assume everyone is available at the same time, and can concentrate and contribute at the same time. Working from home makes this much harder; a pandemic makes this nearly impossible.

Schedule less meetings, and spend that time explicitly communicating instead. Master the asynchronous communication tools available to you. Support your team by modeling the behavior you want to see, even when it feels like a slog.

Deliberately make your proposals, feedback, and discussions all asynchronous. Write documents and pass the link around for feedback. Create room for others to chime in later. Explicitly ask for thoughts from those who aren’t online during discussions.

Make sure your team has a way to keep up with each other, even when they don’t work at the same time. Maybe that means daily summaries via a tool like GeekBot, maybe that means everyone keeping a public worklog, or maybe that means team scribes that summarize the work of each team to an internal mailing list.

Interviewing from home

Pandemics bring chaos with them; all that chaos increases the chances that you will need to interview or be interviewed. Interviewing is extremely hard at the very best of times, and interviewing someone with stuttering audio and blurry video is nowhere close to the best of times.

The best advice I’ve seen about conducting interviews is in the post Remote Interviewing by Moishe Lettvin. The post is chock full of extremely good advice, but the biggest call-out to me was to “acknowledge the strangeness and awkwardness”.

It’s a strange time! It’s an awkward time! Pretending it’s not strange and awkward makes everything even more stressful, which is the opposite of what you want.

It’s a marathon, not a sprint

Finally, but very importantly, work to internalize that all your new behaviors and expectations need to be sustainable. We aren’t sprinting to the end of quarantine; we can’t outrun a pandemic.

Don’t expect anyone to be working “normally”, least of all yourself. Make sure you’re working the amount you can work. Check with your team and support them in working the amount that they can work.

Be humane and supportive in an inhumane and traumatizing time. Even though we can’t do it in person, the only way we’re going to get through this is by helping each other.




Further resources

The accompanying slide deck, Engineering Teams in a Time of Corona
How to adapt to a long term crisis by Aisha Ahmad
Work in the Time of Corona by Alice Goldfuss
Remote Interviewing by Moishe Lettvin
Pairing: A Guide to Fruitful Collaboration 🍓🍑🍐 by André Arko
A guide to distributed teams by Juan Pablo Buriticá and Katie Womersley
A Crash Course in Remote Management by Cate Huston

Useful tools

Screen sharing: screen.so, tuple.app, or Zoom
Asynchronous updates: GeekBot, P2, or email lists
Socializing: Donut, or scheduled team chats during work hours

Thanks

Feedback from Duretti Hirpa & Juan Pablo Buriticá
Illustrations from icons8
Slide design by Cloud City’s Brendan Miller
Support from the Cloud City team


Andre is a Staff Software Developer at Cloud City, known for well-tested code that's maintainable over time. He thinks every new feature is a chance to leave the codebase in better shape than it started. For over 17 years, he's built and run web applications and specializes in sharing knowledge via pairing. He's been the lead developer of Bundler, the Ruby dependency manager, for more than 8 years; co-authored the third edition of The Ruby Way, a book about how to use Ruby in an idiomatic way; and founded Ruby Together, the non-profit Ruby Trade association. No matter what software you need to build, chances are good that he'll be able to give you specific examples of the tradeoffs to keep in mind, and help your company choose the options that will make you the most successful.


Contact us for a complimentary 30 minute consultation.

get in touch