a16z Podcast - Moving to Remote Development (and Work)

Episode Date: April 15, 2020

From agile project management to asynchronous collaboration, development teams have pioneered many of the tools and best practices for remote work. However, new shelter-in-place orders have more organ...izations moving to remote development -- and remote work -- often quickly and without a lot of time to plan.Will remote work be our new reality, even after the current pandemic? And if so, what are the current technologIes and practices that support organizational communication and alignment for distributed teams, development and otherwise? In this hallway-style podcast, Jason Warner, the CTO of GitHub, and a16z General Partner David Ulevitch cover how working from home is evolving our software as well as how we use it -- from communication tools and best practices to interviewing and hiring when you can’t see someone face to face. 

Transcript
Discussion (0)
Starting point is 00:00:00 Hi, and welcome to the A16Z podcast. I'm Doss, and in today's episode, Jason Warner, the CTO of GitHub, talks with A16Z general partner, David Ullovich, about the best and worst practices of remote development, and more broadly, remote work. Shelter and place orders have more companies making the move to remote faster than ever. So is this our new normal? And is it the future of work? In this hallway-style jam, the two discuss the tools and strategies for communication and alignment, what does and doesn't work, from demos to burn down charts, and end on some reflections given the current crisis. They begin, however, by talking about where location does, or maybe we should say, doesn't come in. I've been a remote executive now for just over 10 years, and I myself have never lived in San Francisco. I wonder how many people list their location on LinkedIn as the San Francisco Bay Area, but don't actually live here. I'm sure it overcomes the Silicon Valley bubble bias of everyone having to be here, which I guess is what we're talking about today.
Starting point is 00:01:02 I think my career would look very different if I didn't put San Francisco on at one point. That's really interesting. I wonder if that's going to change in the future. I hope it does. I really do. You can get more efficiencies in your business. You can have better access to talent. And Silicon Valley has a bias towards them being the best of the best. But the world has moved on from that. And I think what you're going to find, too, and I think we will find this in time in this next decade. is that the access to talent is the only game that really matters in the next 10 years. The aperture will open for roles that previously people thought couldn't possibly be done remote, that this particular role had to be in the office.
Starting point is 00:01:43 And then now, of course, that role is working because it's remote by definition because we're in this moment in time. Jason, what are the dynamics that we are observing? I think both in this moment in time and then more broadly. So I think the most common thing that I've seen when people try to, to go distributed and remote as a company is that some of the worst human behaviors or tendencies tend to get amplified. So as an example, if you are a person who is prone to gossipy type of stuff, you might seek out more gossip. If you're prone to anxiety and you worry about your
Starting point is 00:02:19 job, someone not replying to you in an instantaneous basis might give you heartburn. However, the worst one is micromanagement. If you're a boss who micromanages people when you're in the office, it gets amplified 100 times remote because you tend to, quote unquote, want to check in to see how things are going or reopen decisions. You know, typically if you think about what the behavior mechanism of micromanagement is, it's lack of either transparency inside of trust. So figure out which one of those it is and fix that. How you fight that as a tendency is you really have to clear up your lines of communication. What are you doing for why? How are decisions being made ratified, who has the decision-making authority? How are we tracking progress? Do you have the right
Starting point is 00:03:04 structures, meetings, cadence, or updates that you need to feel confident that things are moving in a direction? You know, I think the ability to go to a remote workforce for me as a leader means the ability to sort of hold people accountable who aren't directly in front of me and know how to communicate over various communications mediums that don't involve just walking over to their desk and annoying them, which is, you know, manager 101. You know, sometimes when you see somebody face to face all the time, you can sort of write off that quick one-line email that might be a little bit snarky or they might misinterpret because you're going to see them the next morning. But when somebody's working remote, you start to put more context around things and you start to
Starting point is 00:03:40 say thank you and please, since you can't just see them in the morning and say, oh, hey, sorry about that email last night. I found that to be one of the most interesting transitions for me personally. I got it a lot better about communication and a remote company, a distributed company, really fast. And as you said, more context, a little bit more empathy about how it will be read. And next thing you know, you have a whole bunch of autonomous leaders emerge out throughout the company. Something I want to advocate for when people think about distributed work is the types of communication channels that they need. Basically, if you're going to optimize for the fullness, you're going to want three. But if you have to choose one, choose async memorialized communication.
Starting point is 00:04:20 So we will always have email. That will never go away. and I don't consider that part of the tool discussion. That just is. However, when I say async memorialized, I mean things where you basically ratify decisions and threads and you've locked them and they will stay there as your institutional memory. So that's the first. I think the second one is video calls. And then the third one, which is the one that most people reach to first, is something like Slack or IRC or any of those things. I think that should be your third. That should be the optimization that you have and should never treat it as institutional memory.
Starting point is 00:04:52 I don't think those tools are set up to be institutional memory. Backscroll is the worst way to go find out the context to a conversation. I do think that you can use it for in real time, slight communication between a couple of different people. But then once the decision's made in that, it should be ratified and memorialized in a different system. I agree completely with the memorializing sort of in situ and the tool that you're using. So if it's code and product decisions, maybe that's in GitHub. One of the things that's been interesting to observe over the last few years is that many, many tools, especially SaaS tools, they've sort of been including more and more multiplayer support, but what we've observed is they're actually adding more and more of the collaboration into the tool themselves. So, for instance, people that use Figma, they are commenting and talking about the Figma files directly in Figma as it moves over to marketing and product marketing and other people in the organization away from the designer and into engineering and other
Starting point is 00:05:48 aspects, all that comment history of like, how did the design end up the way it is or why did we make this decision the way we did is in that file and it stays there forever and that's super powerful. The downside is people sort of have more places to look for commentary and things. The good thing is that the metadata is now sticking around with the content itself, which is quite powerful. One comment about Slack that I've observed with the companies that I work with that are distributed is that Slack ends up becoming a notification mechanism for them. So, obviously it has that water cooler like capability that a lot of people use to talk about things real time and sort of synchronously. But it also takes on this notification mode where all these
Starting point is 00:06:28 tools where things are being memorialized or being discussed sort of in situ, then get sort of centralized back into Slack for people that are sort of just voyeurs and want to know what's happening but aren't maybe engaged in the day to day. I have seen the exact same thing, which is Slack in particular is it's a pinch point essentially. Every other system flows into it updates it, then goes back out, and then people stream all that stuff together. Just as basically GitHub and Slack can become platforms for exchange of information, I imagine you're going to see a lot of new tools emerge and basically say, okay, hit this button. It'll sync to X, Y, or Z system. In fact, this may seem like a subtle point, but turns out to be an important point that
Starting point is 00:07:10 collaborating and discussing and working through something in one tool is not the same as memorializing a decision in a way that the organization can sort of keep that memory of it and make it easily accessible. You know, when you memorialize a decision, it only counts if everyone else knows about it. The other thing is when things start to get memorialized, it allows new people to get up to speed more quickly. And so that ends up being sort of a tailwind that just benefits all future people that join the company. And so as these tools are creating sort of the collaboration inside the individual tools, as opposed to outside the tools, I do think it actually becomes more important to define where decisions get memorialized, whether it's in sort of like
Starting point is 00:07:50 a wiki page inside of GitHub or Confluence or Notion or whatever it is. So my approach has typically been you can choose Y tool or Z tool if you want to to do your local development practices, whether it's tracking story points or using Kanban style or so if you're choosing Trello or Asana or something like that and you want to track your stuff locally for your team there and you want to experiment with it. I'm not going to stop. you from doing that. However, the organizational institutional memory is going to live in X. You can do yours locally, and then you have to actually memorialize decisions or all those things in the system of record. And that's how we're going to know what's going on. I find that works better as
Starting point is 00:08:30 organizations get larger. If you're smaller, I usually just say, we're all going to live in X. Sorry, we're not going to entertain other tools at this point. When people ask me about habits of remote companies, and I said, well, they're just really habits of great companies. And I want everybody who logs in in the morning to know exactly what they're working on, why, and for whom. And that starts at the top. It starts with context, communication. And then you have to have the swing all the way back up is, are we actually doing it? Are we making progress? Are things actually advancing? And the mechanisms by which you achieve those things are going to make you a great company, distributed or co-located. And if you think about another aspect of leadership in general is everybody in the organization is making the set of decisions that only they can make. So if you're the CEO, there's a set of decisions that nobody else in the company can make. Only you can make them.
Starting point is 00:09:20 So you do. You make those decisions. And then every other decision that somebody else can make is delegated to that person and et cetera, et cetera, all the way down. But that only works if you are transparent enough and sophisticated enough with your mechanisms to say, I'm going to make these decisions. Here's our goals. Here's our measures. Here's how we're going to measure progress, all that sort of stuff at each one of those levels. I pay attention to a project on GitHub called Home Assistant.
Starting point is 00:09:44 And they've now incorporated a ton of sort of automation, not just around, is this code fitting a certain code formatting policy, but also they now have these mechanisms like, does this fit with our values? And somebody has to sign off on that for the issue to get closed. Does this support all the internationalization that we're looking to do? And somebody who's approved elsewhere, quote unquote, in the organization has to sign off on that. And the issues get sort of redirected and there's a bunch of bots that coordinate and facilitate all this. And so the mechanism of working in a distributed way is being facilitated by technology in a way that I've never seen before. And I really think that was driven by the open source community as you embrace source code revisiony kind of paradigms and apply them to all these other things that anybody can do a poll request and have it reviewed and evaluated and considered or being able to fork the organizational code to improve it. It feels like it breaks down these weird hidden power structures that sometimes can emerge in very old or very large,
Starting point is 00:10:42 establish corporations, which is basically like, hey, we need to go do this. You're like, oh, the only person who touches that bit of code or can make that decision is ex-person, and you have to talk to the right people to go find out who that person is. Instead, open source is basically built mechanisms for that. When you put an issue into GitHub and it has this keyword into it, somebody automatically gets tagged who is responsible for that. And then they're notified and they have to go comment on the issue and have discussion about it. I think the feedback loop mechanism of lowercase A agile is incredibly important, which is it's the only time that I'm going to find out how things are going is when it's released or at the end of a sprint or at the end of a quarter. The classic project management, red, green, yellow type of approach is probably not the right mechanism.
Starting point is 00:11:30 So I've just introduced a couple of different things. One is for remote stuff, obviously you want to have somebody responsible for updating the progress of various projects, products, or whatever. across the organization, particularly the ones that are independent upon other teams or organizations. The other is I like to do review meetings now. And in those meetings, I'm getting updated on very large or ambitious projects on a regular basis. And particularly, I'm trying to edit in that meeting, not author. So it's really a time for me to either course correct or get updates. I also like the organization to feel the same sort of progress. So I ask teams to give regular updates to the organization on a weekly, biweekly, or at most, at absolute most monthly
Starting point is 00:12:17 basis. And I ask them to do a write-up with a video demo of the progress that they made in that time period. I have not personally found things like burned down charts to be that effective. I just think we as a industry are not great about estimating progress. I agree. Things like burn down charts are sort of useless because they get gamed, but just demoing very, very regularly creates those loops and those opportunities for people to course and edit. I personally love demos. I get excited by them. I think the organization gets excited by them. And I think there's a forcing function. If you do it on a regular time interval, you have to think a little bit of like, okay, how are we actually going to showcase progress here? Because one of
Starting point is 00:12:54 the worst habits I've seen of very large engineering teams or large-scale engineering efforts, large-scale maybe infra ones or operating system ones, is to say we can't actually demonstrate progress for months, which we all know from the way that software, for can be written is that is never true. So the job now becomes, how do you actually demonstrate progress in a shorter amount of time? But also, this is not just an engineering thing. It can be all parts of the organization. So when people are listening to this podcast and they're saying, oh, that's great for demoing some code or a new UI somebody built, it's absolutely not just for that. It's for anybody in the organization. I've been lucky that superhuman, Rahul Vora, the CEO,
Starting point is 00:13:35 lets me sometimes sit in on like their Friday demo sessions and afternoon demo sessions. and they do a really nice job because you'll even see the recruiting team come in and say, hey, look, this is how we're changing, how we're doing recruiting, or this is how we're changing, how we're sourcing. I've seen the marketing team talk about how they're thinking about some of the growth of the business. So it really goes way beyond engineering. It's a moment about celebrating wins. It's not a moment of critiquing.
Starting point is 00:13:57 There's other venues and channels and much more smaller settings and directed settings. That is an incredibly important point. You know, we're currently in an environment where you can't meet candidates face-to-face. And then just long term, there's going to be lots of situations where you're interviewing wanting to hire somebody who just, it's impractical to meet face-to-face. Are there things that you do to make sure that you're really doing a good job interviewing? Is this a non-issue? Is this an actual issue?
Starting point is 00:14:22 Yeah. Given that I've been doing this for a while, I find that it's not so much about remote or co-located. It's actually about interviewing. And we're just not that great at interviewing in general. But for some reason, we have a better sense when we're able to see someone in person. And so what I really say is it's incredibly important that if you're going to communicate to somebody, you do it over video and you can read the body language and you can have all those conversations. And I've learned over the last 12 years of doing this to raise my voice at the right time, to use the right intonation.
Starting point is 00:14:52 If I'm on video, I overexpress with my eyes and my face and things of that nature because you're trying to send signals. And then I guess the other piece is really do you have to do things to make sure that the person being interviewed is prepared for a. remote-style interview, if they may be new for a lot of people. I just talked to a couple of different companies, and they had literally never talked to a candidate outside their physical building until just recently. And here's just some really tactical recommendations for this. One is, I think from an interview process perspective, have a singular person who owns that candidate's interview process. If it has to be handed off to multiple people, it's going to fall apart and get worse. Once you have that ownership, identify what the days will look like, how it's going to get
Starting point is 00:15:37 done, try to get to the conclusion as quick as possible. I think candidate experience from, hey, I'm interested to yes, no decision. If that lags, it's an indicator of poor process. One small recommendation, I see that a lot of companies do one-on-one interviews with candidates. And over my career, I've really disliked one-on-one interviews except for executives. And I've recommended that you at least go in two-to-one with candidates in interviews. And the reason why is that if you look at interview processes, it's about context sharing your experience with the candidate with others. And this weird mechanism happens where you're trying to say, I liked them, I did not like them for these reasons. But you can't corroborate any of that with somebody else.
Starting point is 00:16:23 I've always found that when you have at least two people from the same company interviewing a candidate, you can go back and forth. It changes the interview process entirely, and you get much better results. Let's also not forget the last most important part of interviewing, which is references, which obviously can happen in a remote environment and often do. Maybe with the exception of engineers where you really want to make sure that they can code and write code, I think references are as important and oftentimes more important than even the interviewing. There's a lot of people that are great at interviewing that are just not great at doing work and working with. And there's actually a lot of people that are bad at interviewing that are great to work with and do great work. And so references are often the way that you cut through that and find out the truth. It's less important for individual contributors.
Starting point is 00:17:03 But for people that are going to manage other people, the references have to be glowing. I do like to give projects to people, very lightweight ones, but the project is not to critique the style or code necessarily. It's really to get to the way that they're thinking, particularly when it comes to senior folks. However, I still think it's more about interviewing and we're just not that great at the ability to identify good talent. When you're hiring engineers, I tend to ask them to break down problems. I ask them to see if they can help me work through why they made decisions. I like to see how much ownership they've taken on projects. And I don't mean ownership that they were given and then ran with ownership that they've more seen inherently implicitly and then made explicit via their actions.
Starting point is 00:17:48 We're in the midst of a crisis that nobody who is currently living has really ever experienced before. It's both acute from a health standpoint. It's a massive shift for people economically and creates a lot of uncertainty. It may be a lot of shifts for people in terms of the viability of the company that they work for or the changes their company might work for to survive. And it's very hard to know what people's personal situations are. I got an email actually yesterday that there's two executives and both of their spouses actually work in emergency rooms. and I can't really even imagine what it's like in that household where they have kids at home and their spouses on the front lines in the emergency rooms.
Starting point is 00:18:26 And so I think in this moment in time, you just have to give people a lot more latitude, a lot more leniency, a lot more flexibility. If they're new to the organization, you have to give them forward credit for what you expect out of them when things are normal. And if they've been with you for a long time, you certainly owe them the latitude and ability to be flexible and different people cope in different ways. And I just think that managers and leaders, who have been in a mode, we've got to grow, or we've got to hit our deadlines,
Starting point is 00:18:51 and we've got to hit our numbers. All that stuff is on pause right now. This is a good moment for lots of people to figure out, are they spending their time on the right things? You've had this really, really focused growth mindset. You've been focused on growth that is the only priority. And you can use this moment in time to say, is our product roadmap, the right product roadmap?
Starting point is 00:19:09 If we know that the top line may not grow the way we had expected it to, would we change our product priorities? Would we build something more exciting or interesting or different? So just really pause and think about what are the priorities? For me, while my day job is investor and meeting with startups and companies, and I'm doing a lot of that because we're open for business and we're investing, I've spent a lot more time as both a career counselor to friends, a lot more people reaching out, trying to figure out how do they lead their teams. Yeah, this is not business as usual. We are not living in business as usual times. As the venture community talks about,
Starting point is 00:19:41 hey, think about this time period over the next whatever it is, year 18 months or 24 months. And what's the scenario look like if your ARR drops by a third or two thirds or whatever and start modeling those? Well, right now, in unprecedented times, I say the same thing about productivity. What does it look like when you're at two-thirds productivity or 50% or then a one-third of what you expected and start planning for some of those scenarios? you know the way that I've approached this at work is to say one take care of yourself two let's talk openly about what's possible and what's not possible right now and three understand why the work would or wouldn't it be important in the context of everything else that's happening and I personally have a career and philosophical principle about what I do is I try to run to the point of highest leverage
Starting point is 00:20:35 And I'm in a very interesting and privileged position at GitHub is that I run the office of the CTO. It's a small staff at this point. And we've entirely focused on COVID efforts. We've got some data scientists. We've got engineers. And they've kind of said, you know what? Right now, it's pause on some of the more exploratory work that we're doing. We want to go lend some effort and hands over to these.
Starting point is 00:20:54 And a personal story. But in 2009, my wife, she's a GP, a doctor, and she was at Mayo Clinic. And she got sick. We think it was H1N1 with pneumonia. and she was intubated in the ICU for six days and in the hospital for 10. And here we are, we're finding ourselves in an epidemic that looks a lot like what she got. And we were young and we had one kid and we realized that our life had been on autopilot for a little while. We didn't like it.
Starting point is 00:21:20 And it caused us to have that moment where we reflect and said, are we actually doing what we want to be doing? And we changed our life a little bit. We went to Australia. And I would encourage everyone to use these moments to personally, reflect on if your life is on autopilot. Thanks, Jason. Thank you.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.