In today's discussion, we will look at what it will take to prepare for the changes we will see as we transition out of the worldwide pandemic, and into a post-pandemic world.
LaunchDarkly is the leading feature flag management tool for the modern era of software engineering. If you are tired of nail-biting deployment all-nighters, check out https://launchdarkly.com to start your boring deployments today!
If you enjoyed this episode and would like me to discuss a question that you have on the show, drop it over at: developertea.com/contact.
If you would like to join the new experimental DIscord group, reach out at developertea.com/contact, developertea@gmail.com, or @developertea on Twitter.
If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.
Transcript (Generated by OpenAI Whisper)
How can I prepare for a post-pandemic world? You may have asked this question. You may not have asked this question. Many of us probably are just hoping that it happens as soon as possible because the pandemic for most people has created some kind of at least uncomfortable scenarios and for some it's dire. Many people listening to this podcast probably have been affected financially. Many have probably, statistically quite a few of you have had the virus. Your health has been impacted, your perception of your friends and your family has likely been impacted in some way. Almost certainly your workplace has been impacted. Maybe your livelihood personally has been impacted, your employment situation. It makes sense that we would just want this to end. But perhaps we need to stop for a moment, stop waiting for the end and instead prepare, prepare ourselves for what comes next. So we're going to talk about some of the things you might want to do as a software engineer to prepare for the changes that may be coming. My name is Jonathan Cutrell. You're listening to Developers' e, my goal on this show is to help driven developers like you find clarity, perspective and purpose in their careers. As we said on the last episode in this series, this post pandemic work in life as an engineer, the pandemic didn't change a lot about what we do. Of course, what we mean here is that it didn't change the direction of where we were headed as a society, as a culture worldwide even. Most of the things that have changed are actually just accelerated, not necessarily different. And so the move to, for example, the most obvious change that has been accelerated is the adoption of highly distributed workforces. This means that remote work will be more normalized, certainly a virtual interaction will be more normalized as a kind of a first class citizen way of doing business, both within a company and between two companies that might be working together. This wasn't a new concept. For the vast majority of companies, remote working has been an option on the table for quite some time and has probably been gaining traction in those companies for quite some time. But because, as we mentioned on that last episode of the forcing function that COVID provided, that said we must find a way to work from home. We must find a way to work in a distributed manner. This forcing function has both increased our ability, our skill to be able to adopt these new practices. But perhaps more importantly, it has had an effect on the cultural perception of remote work. Where previously remote work being distributed was seen as a weakness or was seen as a second rate way of doing work. Now it is kind of the norm, at least it has been during the pandemic. As we also mentioned on the last episode, the pandemic won't have a concrete end date. There's not a very clear point where everyone will expect things to go back to normal. So it's very likely that this will continue on into the future. This and many other trends that we were already watching occur before the pandemic hit have only been accelerated. So how do we prepare for the future? Well we can kind of imagine doing what we did before in a way in terms of preparing for the future. And I'm going to give you some practical advice and things for you to work on as a software engineer in this kind of phase of our culture. The first one and perhaps the most important one is your ability to communicate with other people that you're not in the room with. This covers a large section of what I want to talk about today. And it's for a very simple reason. Our ability to communicate with other people is for most people, the bottleneck in their careers. Our ability to communicate with other people is not only a bottleneck, but it's also the launching point for anything meaningful, for any meaningful transition in your career that's going to start with communication. The difficult reality though is that communication is already hard. It's already hard when we're in person. If you ask somebody to tell them what, tell you what they want in their career. If you listen to what they say, what they actually mean is probably different than what you're hearing. This is why we have, for example, relational therapy because it's very hard to understand each other, even in the best case scenario. So when you add in the complications of trying to do this when you're not even in the room with each other, when you're trying to communicate through some digital means, now we're talking about a huge, just an ocean of possible miscommunications that are going to occur. And you've probably felt this during the pandemic that miscommunication is very easy. It happens very easily. And this happens for a variety of reasons, but I want to give you some tips, some direction, some exercises that you can do to improve this part of your working life because it's going to be an even bigger part. It was already important before. It was already important that you knew how to write a good email or you knew how to communicate in Slack or in a PR. In fact, we've done episodes in the past talking about how to create a good ball request, how to communicate about code around the code, how to work with your documentation to improve it. These are the kinds of things that are going to be even more important. We've accelerated the importance of these skills because essentially, if you are going to be working in a distributed workforce or even a partially distributed workforce, your entire value and who you are to the people that you work with is going to be represented through a very limited screen, a very limited filter. Right? It's quite literally through a screen, a digital screen that you're going to be represented to most people. And so how can you be very clear and intentional about the presentation that they receive? That's something you need to be thinking about as we go through now, really, but especially as we continue to accelerate this path towards distributed workforces, even if they're only partially distributed. So that's what I want to talk about in today's episode. That is how to improve your communication skills for the post pandemic world. Now it's also important to understand that we're not just talking about how to improve your remote communication skills. We're talking about some of the characteristics of the post pandemic world that are going to be fundamentally different, right? And we'll get to that. But first, I want to give you this first kind of principle of remote communication. It's very simple and it's something that most people miss. Your fidelity of communication is critical to your message. Your fidelity of communication is critical to your message. What does this mean? It means that the bandwidth of information that you are transmitting, the bandwidth of whatever you have to say, is one of the most critical aspects of the message itself. And I can prove it to you very easily. If you're trying to communicate a very important message, but your, let's say your internet connection cuts out in the middle of what you're saying and people lose a few words. Right? If they lose some of what you're saying, even though they can kind of get the gist of what you're saying, is that message still powerful? Is it still impactful? An easy way to answer this question is, is it more impactful? Is it more powerful if your internet connection hadn't dropped? If your message was not interrupted, another good example of this, if you have a poor video quality for a video call, right, let's say that maybe your camera doesn't really have good exposure, maybe you have light behind you, or maybe you have your camera off altogether. Is that a higher bandwidth, higher quality transmission of your intentions of your message or would it be a better scenario if you had a good camera with good lighting and good bandwidth and resolution? These are night and day different for the person on the other side of the screen, but it may feel exactly the same to you. And this is why it can be so confusing for us as the messenger, right? The person that has the message, we can feel and see ourselves in full detail. We know what we mean. We know that the message we're trying to convey, we know what we would like for other people to hear. But the problem is, when our bandwidth is too low, when the fidelity of our message is low enough, right? And it continues to go lower the effects of that message or the clarity of that message, the intention can be compressed out. And the reason why this happens is very simple. There is information, right? There's information missing. What does this mean? There's information in your facial expressions. There's information in your vocal tonality, even the way that you breathe or the way that you're holding your, the position of your body. All of these small cues, we have evolved as a species to pay a lot of attention to. We are extremely social creatures. And so when that information starts getting compressed, when the fidelity goes down, when I can't see your facial expressions, when I can't clearly hear, you know, when you're taking, when you're gasping at an in surprise, right? Or if I can't clearly hear the tone, the kind of the tonal qualities of your voice, if I can't see your body language, this information gets compressed in my brain, my social brain is not really ready for that. So what happens? Well, our brains still need to understand, we're since making machines. We try to, when there's a blank in a story, we try to fill in that blank. You can think about this as a professional game of mad lives in some ways, except the way that we fill in these blanks. It can be really, really wrong. We can be totally off in whatever we're putting in that blank. Because it's not really up to us what that person meant, but we can bring to the table our own interpretations and cause that message to change sometimes very drastically. And so for this reason, paying attention to your fidelity as a messenger, trying to put yourself on the other side of the screen, paying attention to that fidelity as if you were the listener. This is a critical skill for remote workers now and increasingly into the future. We're going to talk more about the skills that you need to succeed in a post pandemic work and life world as an engineer. But first, we want to talk to you about today's sponsor. Most of the time, we like things that are exciting. We like to watch TV shows that are exciting and we like building features that are exciting, but sometimes boring is good. That's certainly the case with feature rollouts. You've probably experienced this, unfortunately, where you rolled out a feature, whether you rolled it out on a Monday or Friday and you sat anxiously waiting for people to start using it. And as they started using it, it was a roll of the dice, whether something would go wrong. This is the case with almost every deploy of a new feature set that we'll ever do. And it's not just because of bugs that we have in our code, which let's be honest. We launch features that have bugs in them, but it's also because sometimes other platforms will go down or there's something unexpected happening. Maybe the users don't understand the feature yet and we have a little more work to do. We have another iteration to make. And for all of these reasons, feature releases can be really, really anxiety inducing. You could stay up all night after feature release. And that's what launch darkly is going to help you solve. So you can have a good night's rest. The basic idea here is to decouple your feature releases from your code base. It's that simple. Now you probably have heard of this idea of using feature flags, but if you've tried to develop it yourself, oh, it's a nightmare. Launch darkly is here to help. Both small and large businesses already use launch darkly, for example, O'Reilly media. At O'Reilly releases used to be stressful and nerve-wracking. But their VP of engineering, Chris Gidry recently said that with launch darkly, our engineers can ship code whenever they want and they can test features and production well in advance of a marketing launch. And if a feature causes problems on the day of the launch, they can just turn it off with a kill switch, no rollbacks. Launch darkly makes our releases boring. That's what we're going for here. If you want your releases to be snooze, Fests, head over to launch darkly dot com. That's the words launch darkly dot com. Thanks again to launch darkly for sponsoring today's episode of Developer Tea. So we're talking about some of the skills that you're going to need going forward in this post pandemic world. And really most of this is going to revolve around all of the changes that are going to happen as a result of this mass adoption of distributed work, virtualized work, digital kind of communications being a primary mode for getting business done. And we've already talked about how the perhaps the most critical kind of flagship skill of the future developer is going to be having high fidelity communications, recognizing that your best way to improve your communication skills is to think about what the person on the other side of your screen is seeing. What are they receiving from you? And by the way, this isn't a new skill. This is the skill of empathy or at the very least, it's the skill of externalizing yourself. In fact, on Friday, we talked about this very skill, the idea that if we can distance ourselves from ourselves, and we can see things a little bit clearer, right? This is true in a lot of respects. If we can see things outside of ourself, then we're going to be a little bit more rational about, let's say, a message that we're sending to another person. So try to put yourself in the other person's shoes. Once again, this is not revolutionary stuff, but the way that it plays out, right, the way that it plays out for software engineers in a remote setting, that will change. The other critical thing to recognize about this change is that previously, you know, before the pandemic, a lot of the people who are working remotely had already kind of gained those skills. So for example, if you work on a remote team of engineers, engineers are kind of, it's old hat to a lot of engineers now to work remotely. And so some of the shortcomings of, you know, long slack messages for example, those are not going to be as much of a problem with other engineers, but you are going to find that remote skills are not so second nature to some newcomers. And the way that other practices, other job roles actually operate in a remote environment could be very different from the way that you and your team operate. So all of that to say, one of the most important things you can do as a software engineer going forward is recognize that not everybody's experience, right, not everybody's actual kind of past experience, but also their present experience is going to look the same for a remote work. There's a reason that software engineers have been successfully working remotely for quite a long time. And part of it is certainly cultural, but there's another part of this that we often ignore, that is that our jobs kind of lend it to us. It lends itself to working remotely. All of our resources are essentially virtual other than maybe our laptops. And so the work that we do just so happens to be fairly easy to transition to a remote scenario. In fact, it turns out that our software is probably more robust. Our systems are probably better off if they can be accessed from anywhere in the world. But this doesn't apply to every job role. But say that your company has some kind of media production as part of their role. And as a part of the media production, maybe they used to take all of their very large files, their very large media and put it on physical hard drives in an office. Or maybe they used a very high powered machine in an office. And now they don't really have that same power. They don't have that same storage at home. They're having to learn brand new skills of how to access those kinds of resources, but in a remote environment. Or let's say that they used to have highly collaborative whiteboard sessions or otherwise high intensity meetings where many people might be talking within the course of a minute. This now presents a new problem. We don't really have a lot of those same problems as engineers. And so we should expect that other people are going to be adapting their workflows. And they may not necessarily have the same kind of muscles that you've built, especially if you've worked remotely before this. If you are in a position of leadership in your company, now is the time. Now is the time to start investing in remote practices. What does this mean? It means start talking with other disciplines beyond just engineering. Start talking with your teammates about what it looks like at your company to work well, to work effectively in a remote environment. This might require some research. It might require some discussion about what success means on your team. It might require understanding how your miscommunications have happened. It might require some really hard reckoning with what has gone wrong since you were forced to go remote. But it's critical that these bedrock foundational principles of how your company does this in the future are laid out now. Why is that? Well, it's because this problem compounds. It doesn't just add linearly. It compounds because every interaction we have, there are multiple people in multiple contexts. And everybody has a different world that they're living in when we're talking about remote work. And if everybody's world doesn't have these underlying principles, then every communication that we have has the possibility of going wrong in that many directions. And so we can build on these miscommunications over time and it grows exponentially at compounds. So if you are in a position of leadership, invest now as soon as you can in what it means to work sustainably for the long term like this, like we are, like we've had to work over the course of this pandemic. And that might mean that there's some changes. Maybe you're going to have to change your equipment policy. You're going to have to change your hours policy if you have one. There's a lot that could change, but it's critical that you establish a common ground for how to do this well. And that way you can point to this not only for existing employees, but also as new people come in as you begin to onboard. And that is one of the benefits of this distributed workforce is that you could have brand new people who you've never met in person joining your team. You probably have already done this once or twice. This is likely to increase in the future. I'm going to give you one last piece of advice as it relates to this post pandemic work and life as an engineer. What are some of the things that we need to be working on? What are the things that we can plan on improving? And if we look at the place that work holds in our lives from a psychological perspective, especially before the pandemic, the place that work held in our lives was multifactorial, right? We had our purpose-driven work that we could accomplish at work. We might have a lot of resources that we gain from our work. We might have some perks that are really important to our daily lives. We changed our flow of our day and where we would go, what we would be exposed to, the people that we would be around. It was an incredibly social part of our lives. But the pandemic and the similar things that we were talking about already, the virtualization, etc, is likely to push work into more of a compartment. It's going to be more of a compartment thing rather than taking over so many different responsibilities of our thriving as human beings, we're likely to cut some of those things out and treat them as separate components of our lives. So, the socialization, for example, as we talked about in a previous episode in this series, it's unlikely that we're going to treat our workplaces as an open social gathering like we used to. And the time that we do spend in the office, we will consider it really important. We might even consider it more of a social gathering in that moment than work. Because we wouldn't necessarily want, because we're risk averse and we're loss averse, we wouldn't want to risk mixing our work with unnecessary social interaction. Not because we don't need the social interaction, but because it poses a risk and we can work elsewhere. So, what does all this mean? Well, first of all, the logic of it makes a lot of sense when we think about it this way, but we're social creatures. And so, if we take away the social component, people don't necessarily have a plug-and-play, social culture. And so, we need to practice understanding how social can work through this new lens. How can we be social in a remote environment? How can we practice enabling other people's social lives? Because this is an important part of our healthy work environment, and yet it's going to be very hard to reestablish that social environment at the workplace. Thank you so much for listening to this episode of Developer Tea. This is an incredibly difficult topic to cover in its entirety. This is very hard to cover in its entirety, but we're going to stop this series at this point, and we will pick up the series in the future if it looks like there's more to cover. So, we're going to pause the series for now. And as the pandemic comes to a close, as we learn more about how people are responding and how the marketers are responding, how companies are going to adapt, we can pick up and talk about it more later in the future. Thank you so much for listening to this episode. Thank you to today's sponsor, Launch Darkly. With Launch Darkly, IBM went from deploying twice a week to over 100. You hear that right. 100 times a day. That's a 50X or something increase in deployment frequency, which is correlated with very highly reliable software, by the way. We've been able to roll out new features at a pace that would have been unheard of a couple of years ago, said IBM's Kubernetes delivery lead, Michael McKay, if you've ever heard of Kubernetes. Go and check it out, launch start with darkly.com. Thanks so much for listening to this episode of Developer Tea. If you don't want to miss out on future episodes like this one, including this coming Friday's Friday refill, which is really fun, by the way. Think, go ahead and subscribe and whatever podcasting you have you currently using. Thanks so much for listening and until next time, wear your mask and enjoy your tea.