DoltHub has an office again. We're here on 2nd street in downtown Santa Monica. Whether or not to return to the office seems to be a topic of interest in the technology community. This blog entry is our take on remote vs in office work developed for our 12 person company.
Just in case you are new here, Dolt is a SQL database with Git-style versioning. DoltHub is a place on the internet to share Dolt databases.
How we got here?
We left our office rather abruptly in mid-March 2020 and it was promptly burnt down in the June protests in Santa Monica, a rather disconcerting though financially neutral at worst proposition for us.
Since then, we've been working from home as a company. We do 10:30AM PST stand up over Google Hangout. We worked core hours (though there was never an official policy) from 10:30 to 5:00PM PST Monday to Friday where we're all pretty active on our Discord. Work definitely extended into other times with lots of development happening late evening or early morning. But the social norm developed that you should be around during the day most of the time to collaborate.
To have a remote work productivity discussion, I need to define a few ways I am going to look at software team performance. What do I mean by performance and what kind of work am I talking about?
I think there are two ways to look at performance, individual performance and collective performance. How well did each individual perform in comparison to pre-pandemic and what is the rough sum of that difference for the team? That's individual performance, even the sum. How well did the team perform excluding individual performance? So even if you netted out neutral on team individual performance, is there a difference in collective delivery of value for the team? That's collective performance.
Also, germane to this discussion is the nature of work for a software team. A simple grouping is what I would call task-based work and creative work. Task based work is, "I just need to get this stuff done and I know how to do it." Creative work is, "I need to accomplish this thing but I'm not sure how to do it."
In software, even though software engineers may be loathe to admit it, there's a lot of task based work. I need to fix this bug that has a good repro. I have this feature that will take ten six hour blocks of uninterrupted time to crank through. Creative work is more like how do I adapt the software I have to this new use case? Is there a far easier or better way to do this than is obvious? I think most software folks will understand the difference between these two categories of work, though they do blend together somewhat. At our company, we have more creative work than I'm used to from my previous roles but still a fair amount of task oriented work.
How did we do through these lenses?
So, first let's tackle individual performance. Compared to pre-pandemic how effective was each individual? I'm fairly certain this was kind of a wash but kind of leaning to slightly less productive on average, maybe 80% of pre-pandemic at worst. Some people were far better working remotely. These were people that wanted to keep odd hours or were easily distracted in office. Some people were better working from the office. Some people had more distractions at home than the office, mostly people with children. The pandemic didn't help this. Some people get energy and drive from physically being around people.
Moreover, some of this delta is related to purely pandemic related issues that would not exist in normal times. My perspective is that the pandemic has been tougher on young families from a time perspective. How do I keep my 6 year old engaged in Zoom school while I'm supposed to be working? I think the pandemic was rougher psychologically on younger folks, especially those who were single. So, I'm just supposed to lock myself in my studio apartment all by myself and not see anyone? Or even worse, I hate my roommate during normal times and now he is here all the time? Both of these situations have the chance to affect work performance and both did at our small company.
All the analyses I've read seem to focus on the above. Net, we're about the same productive even with the pandemic and we can save 20% per headcount on real estate. Seems like a win. Full remote! I think this analysis assumes almost entirely task-based work.
Working from home allows for more uninterrupted time for more individuals and thus I think net higher performance on task-based work. You want to be a vampire and work from 11pm to 6am every day? Knock out this well defined, well scoped, big feature. People aren't having side conversations that you're interested in participating in all the time, distracting you from making progress. These factors made DoltHub better at task based work, call it 25-50% better collectively. We could get 1.25-1.5X the amount of task based work done as a team.
But, we definitely suffered on creative work. When we didn't know how to solve something, we sometimes just punted it down the road altogether. Other times, when the problem really needed to be solved, we had the person who wanted to solve it write a document we could all review and have a team meeting over video conference regarding the document. These meetings were not very productive and more often than in person did not achieve a consensus. Maybe we could have learned to run better creative meetings over video conference with enough time?
In the office, these problems seem to be solved through organic discussion. This is a problem. Three hours later. Have you thought of this? Five minute side discussion with a new set of problems. Rinse. Repeat. Then, kind of magically, there's a consensus and a plan. That's the beauty of the office for creative work and I'm not certain it can be replicated with messengers and video conferences, at least at our company.
So, we were kind of shitty at creative work. Let's call it half as good, mostly manifesting in not much of it happening at all and a preference by most people to just do task based work. This creative work is the main factor in collective performance. Even though individual performance is net neutral collective performance is negative, mostly manifesting in our company being worse at creative tasks or not doing creative tasks that needed to be done.
Net, I think we were at about 80% effectiveness. Neutral to better on individual performance and task-based work but much worse on collective performance and creative work.
With a focus on getting back some of our creative mojo, we set out to find an office in April to be ready for June 1 when folks would be fully vaccinated, ready and able to return physically to work. We ended up with this place which is about the same size as our last place but 3/4 the cost. Downside is only one shared bathroom.
About 7 of 12 of us are in the office most of the time with the plan to get to everyone local by July 1. Some people are excited to be back in the office. Some people are really hesitant to return for a number of different reasons. Change is hard.
Setting a date for when everyone is required back in the office and not granting exceptions helps. If one person is allowed to work from home or have a flexible schedule, it becomes hard to enforce anything different on others. We got this office so we could be better creatively. Let's get back together, assess, and then decide how to move forward.
Office mandate aside, we know that moving forward a remote option is going to be necessary to remain competitive for a certain class of software talent. In my experience, remote teams do best when all remote. Mixing remote and in person inevitably leads to an out group and an in group. Our strategy here is to define team-sized chunks of work that we want done remote. Hire or move people into those teams and assess how the teams perform. We'll be making this shift over the next six to nine months as we grow.
We were forced into remote work last March. As a company we were about 80% as effective remotely, neutral individually, worse collectively, better at task oriented work, worse at creative work. We're back in the office and we're looking for remote team opportunities.
We're mostly looking for Dolt customers but if you're a software engineer and like the way we think about software development based on the above, we will be growing the team over the next few months. Come chat with us on our Discord.