#83 - Effective Remote Work - James Stanier
“Treating everyone as remote is to keep everyone in mind as having the same level, same equality, the same access to information in communication exchanges between people.”
James Stanier is the author of “Effective Remote Work” and Director of Engineering at Shopify. In this episode, James shared insights from his latest book and began by sharing why remote work is here to stay and the basic setup for remote work. He then talked about the importance of managing our time and energy and establishing team norms for successful remote work. James then explained about the concept of treating everyone as remote, which led to the discussion about producing more artifacts and balancing between synchronous and asynchronous working style. We also extended the discussion on how one can become a more effective manager in the remote setup, including how to manage up and allocating time for team bonding and fun activities. Towards the end, James shared how we can self-assess our remote working practices by using the 12 questions in his book, and how remote is the path to equality and can become a great leveler for everyone.
Listen out for:
- Writing “Effective Remote Work” - [00:06:53]
- Remote is Here to Stay - [00:08:36]
- Basic Remote Setup - [00:11:45]
- Managing Yourself - [00:14:38]
- Effects of Being Unobserved - [00:17:19]
- Treat Everyone as Remote - [00:19:59]
- Producing More Artifacts - [00:22:13]
- Types of Artifacts - [00:25:18]
- Sync vs Async - [00:30:01]
- Effective Remote Manager - [00:36:55]
- Managing Up - [00:39:43]
- Allocating Fun Time - [00:42:27]
- Remote Work Self-Assessment - [00:44:44]
- Remote: The Great Leveler - [00:47:36]
- 3 Tech Lead Wisdom - [00:53:29]
_____
James Stanier’s Bio
James Stanier is Director of Engineering at Shopify, a fully remote technology company. His latest book, Effective Remote Work, is being published by The Pragmatic Bookshelf in April 2022. His previous book, Become an Effective Software Engineering Manager, was published in 2020.
Follow James:
- Website – https://theengineeringmanager.com
- Twitter – https://twitter.com/jstanier
- LinkedIn – https://www.linkedin.com/in/jstanier/
Mentions & Links:
- 📚 Effective Remote Work – https://pragprog.com/titles/jsrw/effective-remote-work/
- 📚 Cracking the Coding Interview – https://amzn.to/3NGhvlX
- Shopify – https://www.shopify.com/
- Slack – https://slack.com/
- Oliv – https://ravenryfreelancers.slack.com/apps/A5MJB641F-oliv
- Miro – https://miro.com/index/
- Board Game Arena – https://en.boardgamearena.com/
- Dev Degree – https://devdegree.ca/
- Codebar – https://codebar.io/
Skills Matter is an easier way for technologists to grow their careers by connecting you and your peers with the best-in-class tech industry experts and communities. You get on-demand access to their latest content, thought leadership insights as well as the exciting schedule of tech events running across all time zones.
Head on over to skillsmatter.com to become part of the tech community that matters most to you - it’s free to join and easy to keep up with the latest tech trends.
Tech Lead Journal now offers you some swags that you can purchase online. These swags are printed on-demand based on your preference, and will be delivered safely to you all over the world where shipping is available.
Check out all the cool swags available by visiting techleadjournal.dev/shop. And don't forget to brag yourself once you receive any of those swags.
Remote is Here to Stay
-
Maybe a year ago people would have said that no one is ever going to go back to an office ever again. Now, I don’t think that’s true. I think for some large companies and probably some traditional companies, they will start going back to the office soon.
-
However, there will still be a huge amount of engineering work going on from remote locations, and there’ll be a huge amount of fully remote companies. And I think the pandemic really shifted that societal change forward very quickly.
-
I think what’s most important there is not necessarily to do with the people running the companies, but I think employees realize that they don’t have to commute anymore if they don’t want to, that they can live somewhere that isn’t a city with offices if they want to. So I think really, just the amount of options that are open for people who are looking for work has dramatically increased.
-
Remote is definitely here forever now as far as I can tell, and the tools that we’re using to be remote are only ever getting any better.
-
Before, certainly four or five years ago, I was very interested in being fully remote. But the options were very limited. Additionally, not only were the options limited, like often it was remote, but actually you had to be in a certain country, or you had to be a contractor, and then it was just very difficult to be employed that way. And I think also the fallback was difficult.
-
Whereas I think now, there are so many remote jobs and so many remote jobs at very large companies where you get all the usual HR support and proper arrangements to be employed that if you do relocate to be remote, and something doesn’t work out, then there are plenty of jobs now. And I think it’s a much more accepted and less risky option.
Basic Remote Setup
-
I think that’s where things didn’t go right at the beginning of the pandemic, is that many people had living arrangements that were not meant for working. So either people didn’t have desks, they didn’t have the space; they didn’t have any of the usual things that they get in the office. So obviously, it was a diminished experience.
-
If you want to do remote working for the long-term, then yes, you have to make sure that to the best of your ability, in the space that you have, you’re able to have a permanent place to work. You’ve got all the proper desks, monitor. The lighting is correct. All the usual things that in that email that you’d get at the office about ergonomics.
-
That is actually very important when you’re at home. And having a space that is ideally some privacy away from those who are in your house. Not because of what you’re doing a secret, but just for focus, and just to keep the noise to a minimum.
-
I think also tools as well as having a healthy routine and setup are incredibly important. Part of the reason that going to an office is nice in one sense is that you always travel in and out at the same time of the day, so you have a defined end and defined start of your workday. If you’re in an office, you may see everyone go to lunch at the same time, therefore, you kind of naturally follow by mirroring the behavior of others.
-
When you work at home, it’s very easy for all of those boundaries to be removed. Getting out of bed in the morning late, and then you end up going straight on the computer. You don’t have any breakfast. You end up working through your lunch time because you get busy. You just kind of never really sign off at the end of the day because you keep checking things or you’re using your laptop for personal things as well, and you can’t stop checking messages.
-
There’re so many things where the success that you want in remote has to come through additional discipline and habits that you have to instill in yourself. And I think you get a lot of that discipline and habits in an office through osmosis, by observation of others. But you have to do that proactively for yourself. That can actually be very hard because technology is addictive.
-
It’s kind of like pruning down your interruptions, pruning down the things that drag you away from your home life, and making sure you’ve got a clear separation, and treat it like work.
Managing Yourself
-
I think there are maybe two sides to this. So the first side is the things that you can do for yourself. And then the other side, I think is all to do with the things that you establish with your team. So norms of how you communicate and what you expect from each other.
-
Make sure that you work set hours every day that are predictable. Try your best to simulate some of the aspects of what you would do if you were going into the office, so that the beginning and the end of the day, you go for a walk. At lunchtime, you make sure you eat some proper food. You take that hour away from the computer. You do the sorts of things that you would do in the office that chunk your time up properly.
-
And definitely, in terms of self management, make sure that you are organizing your time and your calendar.
-
But all of that only works if you go to the second part of what I was talking about, which was the expectations with your team. It isn’t hard to set norms, and the norms are all about you and your team understanding what it means to be online. What the kind of response times are for different means of communication?
-
For example, if I send you an email, is it okay to not have reply until tomorrow? Cause if the whole team’s cool with that, then that’s great. It reduces friction. It reduces stress. What does a direct message on Slack or Teams mean? Is that really important?
-
I think having those discussions with your teams about what you expect from each other can greatly help enforce healthy habits at home.
Effects of Being Unobserved
-
I understand and that can definitely be a lot of pressure if maybe you haven’t talked about norms in your team or your company to immediately reply to everything, otherwise people think that you’re lazy or not working. So I think beyond setting those norms, I think it’s all about visibility in how you can let your team know whether the smallest effort possible as to what you’re doing.
-
And then in terms of just general visibility, I think writing more is just a thing that makes you so much more of an effective worker when you’re remote. Taking the time to write longer form text to each other. Slowing down a bit, but writing more concisely, and just using that as a medium to sort of blog along in a public way what you’re up to.
-
That might be that you have async stand-ups with your team where you write to each other every day. But going into more detail, it might be once a week you sort of write up a digestive like here’s how my week went. Here’s what I’ve been focusing on. Here’s something I’m doing next week. And it’s just sort of writing to everybody else to show them that you are doing good work, that they’ve got opportunities to engage with you about it.
-
Fundamentally, also you write to think. So it really helps you think as well and plan.
Treat Everyone as Remote
-
I think we’ve all experienced what it’s like when that principle isn’t followed. You would dial into a meeting, and then, as a remote participant, you would have the worst experience.
-
If you treated everyone as remote in that situation, fundamentally, the interface that you were interacting with for that meeting is equal to everybody.
-
That principle structure is way, way further than just having meetings. It’s thinking about the way in which communication exchanges between people.
-
Treating everyone as remote would be, if a team is in an office and they have some remote workers, then they would make sure that if they do have a discussion in the physical space, that they would maybe just write a quick summary if it was pertinent to the rest of the team, and send it around.
-
And it’s just keeping everyone in mind as having the same level, same equality, the same access to information.
Producing More Artifacts
-
The artifact thing is incredibly important. Everyone who’s ever worked for any company as an engineer or even just work for any tech company has always gotten to the point where they just think the documentation is terrible. Everything’s out of date and they can’t find the necessary information they need to build a project or get some help. So artifacts are incredibly important.
-
And what’s really interesting, and it’s linked to asynchronous communication, is in order for information to have that leveling equality for everybody, it has to be equally available to anyone in the team or department or company.
-
As a byproduct of writing, you are producing artifacts. These could be design documents. These could be READMEs, Wikis. It goes further, you can use things like Architectural Design Records for your code base.
-
You can also think about ways in which you can document other decisions, like organizational decisions, team decisions. If you do a retrospective and you use collaborative drawing software, then you’ve created an artifact that is always there. And I think it’s about getting into the habit of thinking about leaving an audit trail as you’re going along.
-
In the same way that if you use Kafka to pass messages, it’s a distributed commit log, think about that distributed commit log idea for ideas and decisions, and the ways in which your team works, and make sure that everything is captured digitally.
-
Artifacts are incredibly important because it also solves that problem of if there are people outside of your team on drastically different time zones, or if someone has been on vacation for a week or they were off sick for a day, then all of these artifacts you are continually creating allow them to catch up with the things that are important to them.
Types of Artifacts
-
It’s all to do with picking the right medium and understanding how long something needs to be around for. So, for example, in the permanent forever side of things, you could think of the README for important code base that always has to be there. It always has to be up to date. It’s completely asynchronous because you don’t need to talk to the person who wrote it. It should be completely self-explanatory. And then on the other end of the scale, you’ve got a video call where all of you are talking to each other at the same time. You have to be online and it’s synchronous.
-
Between those two extremes, there are a whole scale of different things. So you’ve got like chat, you’ve got recorded video, you’ve got email, written documents.
-
Going back to the norms thing, like talking to your team about what is the format in which you capture particular information and just having these processes in place for your team. But understanding, for example, the half-life of each thing is different. So a README, the half-life is forever. It should always be relevant. But you know, that chat, the half-life is quite short because it’s very context and time dependent.
-
There are ways in which you can kind of force people to not put things in the wrong place. So for example, Shopify’s Slack retention is only 60 days, so the history disappears very quickly, and that’s on purpose because it forces you to not store all of your really important discussions in a Slack thread that people then have to try and search for later without knowing. You store it in a place where you can find things, and finding things is really important as well.
-
You have to think about searchability, discoverability. Some of that is organizational, making sure that you have a shared drive, and you put things in folders and you keep it organized. But it’s also thinking that, okay, if this is a highly important thing that needs to be searchable, then maybe it’s written in text in a way that’s easily found and so on. So it’s kind of an information retrieval problem.
-
There is this technical discussion unfolding on Slack and wow, there’s some really useful information here. They probably shouldn’t lose the effort that’s gone into having this discussion and then just moving it somewhere else.
-
There’s other mechanisms that people use as well to capture those kinds of Q&A. You can get StackOverflow for teams, for example, there’re things like Discourse.
-
How do you put those things in places that can be useful and also respect the effort that people have put into sharing that information in the first place.
Sync vs Async
-
I still find that one of the really valuable things about work in general is being able to connect with other humans, talk to them, fun synchronous interactions. So to me, it’s about using the right tool for the job.
-
The synchronous thing is really important. I think that in order to make it work well remotely over the long-term, there still needs to be a lot of focus on that connection with other humans. So definitely like getting together in real life when you can is a really good thing.
-
Meeting up once a quarter, twice a year, if possible, is definitely great. Cause you can’t go against the fact that we have evolved as humans through connectivity with other humans and communication.
-
You could do all of your stand-ups asynchronously every single week. But maybe do one of them or two of them on a video call, just because it’s nice to talk to people and nice to see people. We’re using a lot more purposeful, synchronous interaction for fun and connectivity. Even if it’s not always the most efficient way of doing things.
-
People may really want to be async completely, and everyone has got a different personal preference, and that’s fine. But it’s worth remembering that remote is now becoming very mainstream. Whereas in the past, a lot of the people that maybe wrote about remote working or a lot of the people that were strongly advocating for it were probably the kinds of people that were very attracted to fully async.
-
There are people like that, but that is not every person. That is not the 99 out of a hundred people that you would bump into your work. So it’s really important that we cater to everyone with different needs.
-
I’m sure through the pandemic, if you had to work remotely and maybe if you were in an office pre pandemic and you had to discuss things as a group. You had to get consensus on an approach. If you were all physically co-located, then you could get everyone together at the same time quite easily. That is like kind of strong consistency by having a small group of people synchronously available.
-
And then during the pandemic, in the same kind of distributed systems model, everyone is apart from each other, maybe working slightly different hours. There are lots of different interruptions from home and family and so on. You want to make a similar decision. And then you’ve all gone through the absolute pain writing it up, sending it out. And then half of the people don’t read the email and then the people that do, you see that a few have opened the document, but then never commented anything. And you’ve got this like horrific eventual consistency problem.
-
If you’re leading a team or if you’re leading a technical initiative, you have to really think about the way in which you gain consistency in these decisions.
-
There are certain ways you can try and do it, which piggyback off the way in which we do this for code. We’ve been doing this for code for some time. You know, we make changes. We raise pull requests. We probably have some processes set up in our code base to have particular reviewers who get automatically pinged and then they actually review it and it gets merged. How can you piggyback that model for maybe making decisions in a better way?
-
That’s one thing that we do here for technical designs is we have a technical designs repository, and people raise issues in the repository with all the documentation of what they’d like to do, and then they ping the reviewers. And then all of that runs as if it were like a code base, but it is for making decisions.
-
You have to think a bit more purposely and a bit more like an engineer in the way that you get these decisions made. Because posting that link in a Slack channel and just hoping that people will read it is a tricky thing to do. It doesn’t always work.
Effective Remote Manager
-
All the principles and all the general tools of being a good leader, a good manager are the same. But you have to readjust how you have previously approached all the sort of social human side of things. It’s really important to have like a really psychologically safe and trusting relationship with your team and with the individuals on your team, and not being able to be there in person in order to just generally be around and build that rapport. You have to rethink how you do things in the remote world.
-
I think also you can’t help but feel that a lot more of the remote interactions that you have are far more transactional. If you have a one-to-one meeting in real life and you’re sitting in a room, it’s so easy to read body language, it’s so easy to sort of let things flow naturally to really feel connected to somebody to read their expression and how they feel.
-
And now, we’ve had to completely readapt to all of these things through computer interfaces, where it is harder to read your facial expressions. There is a bit of a delay. It’s harder to have a quick back-and-forth conversation.
-
I think leaning into things like writing, things like the asynchronous side of things to pad out the areas that you’ve liked before. I did write about how writing itself is very important. It’s even more important now. And that kind of managing upwards thing to managing your own manager as well is important. So you have to like really work a lot more in asynchronous way to make sure that your team is understood, is heard, that you are understood and heard.
-
There are a ton of ways of doing this. My favorite one that I do because your one-to-one time is precious every week and inevitably it always gets taken up by something urgent instead of the thing you really wanted to talk about. So it’s about taking control of that communication. For example, I make notes during the week to myself and the things I’m working on, the things that I’m doing, and then on a Friday, I write a nice long form piece of text to my manager, just highlighting all the things that my teams have been doing, decisions that we need to make that maybe we need some help on, just generally giving an update. You can also reuse the update to communicate out to your teams as well with some of the things removed and changed and so on.
Managing Up
-
You can’t help but feel sometimes, especially if your own managers are incredibly busy, you sometimes feel bad about taking their time.
-
I think one sort of small thing is just imagine yourself in their position. If you had a member of your staff who wanted to spend more time with you because it was really positive. If that was me in that position and someone was asking that of me, I’d be like, “That sounds great. Let’s do that.”
-
There is that anxiety of taking someone’s time, but if it’s for good reasons, then try to fight that and go ahead and do it, anyway. Definitely, compliment more with writing around the side so that they are continually drip fed interesting information.
-
Again, it comes back to norms. I think it shouldn’t be taboo to talk about the amount of time that you spend together.
-
Booking more time than you need, and making that a habit is allowing that space for these things to come up because otherwise you never really get the chance to explore them.
Allocating Fun Time
-
Not every team will want to. Everyone’s different and that’s cool. But I think it’s important to know that many people do want this.
-
Always try and book some time. Make it optional for people to turn up. It doesn’t have to be forced that everyone has to turn up every week. Because if you’ve got people turning up because they think they have to, you probably won’t have the best times.
-
There are plenty of things you can do. But yes, make it optional, do book it in because otherwise, if you don’t book it in, it never happens. People just get busy. But it’s not for everybody, just try and keep it varied with different activities.
Remote Work Self-Assessment
-
A few of them that are very important is treating everyone as remote is incredibly important. Because that is the fundamental equalizer, the bringer of equality to everyone who works at a company. And I think fundamentally that one, if you do truly treat everybody as remote, then it has this knock on effect of how you do documentation, how you broadcast information, how an organizational center-of-gravity forms.
-
If you have everyone’s a remote worker for 90% of the company, and then the 10% of the exec are not remote and they’re in an office then you can just imagine that all of the decisions that are being made about how you work together, or the tooling that’s provided, or the culture being made by people who sit around a table every day, and it’s not going to be indicative of how everyone else works.
-
One of the other rules, which I think is really important, and it touches upon the whole hybrid situation that I think we’re moving towards in many places is, does every employee have the same amount of money spent on them regardless of where they are?
-
Is it clear that the company is spending the same amounts of money on everybody regardless of their location? Because that is another thing that forces that equality. Where the money goes is a very important indicator of how important particular locations or employees are for sure.
Remote: The Great Leveler
-
For a long time, if you wanted to have a career in technology, it often meant that you had to move to a city where those companies were located. You sometimes had to move country in order to make that happen. There was already a huge inequality based on a thing that you had absolutely no control over, which is like where you were born.
-
That has always meant that many people have had to risk a lot in order to get into our industry. Some people don’t have to risk very much, but some people have had to literally move their family across the entire world in order to get the opportunities they want.
-
But previously five years ago, I wouldn’t have been able to live here because I wouldn’t have been able to have a job. And what that also means, if you think about future generations and you think about people now who are working remotely, who are having children, they will be growing up in an environment where they know that if they want to get into this industry, then they just need to be pointed in the right direction.
-
That’s a real game changer for the types of people of all different social economic backgrounds and genders. All the underrepresented groups that we want to have in our industry.
-
Now, there is a path through remote work for more people to get involved. It doesn’t matter where you grow up. It doesn’t matter who your mom or your dad was. It doesn’t matter any of these things anymore, because if you’re smart and you are motivated, then all you need is the internet and a computer and you can be part of this. So that’s what I think is really exciting about remote work. It really is the great leveler for our industry.
-
Related to the opportunity being more available to people who are remote. I think also the parts in which you can take into the industry are expanding as well. We all know in the industry at the moment that there are so, so many more jobs than there are people available to do the jobs. It’s a really hot market. Technology isn’t going anywhere. I don’t think this is going to change. If you are a talented person and you’re out looking for work, then you will definitely find work.
-
Now, there are so many more routes that you can get into our industry with. There are different bootcamp schemes for programming, where a lot of people turn their nose up at the coding bootcamps.
-
It’s more of the apprenticeship model, isn’t it? It’s a bit like if you do a traditional trade, if you’re like a carpenter or a plumber or electrician, you don’t go to university for three years. You pair program as it were with industry experts, and that’s how you get into things.
-
There’s so many different communities out there for people who haven’t ever coded before that have gone remote.
-
There is always something to do with your skills, but also something to do with who you know. And I think the remote side has really opened up the who you know, because it’s never been easier to send people messages to attend online events, online courses.
-
You can do bootcamps from home. Lots of companies are doing internships which previously, you had to maybe move into temporary accommodation in the city to do an internship. Now you can do it from home. So this is fantastic, right? There are just so, so many more opportunities out there for people.
3 Tech Lead Wisdom
-
As a leader, embrace asynchronousness, and more specifically, embrace writing.
-
I think the really amazing thing about remote work now, due to the way in which we all talk to each other and due to there being more writing, the traditional sort of extroverted alpha male leader, I think actually, is weaker in this environment, which opens the door for the quieter, more thoughtful, more written leader. Never underestimate the power of the written word to motivate, to bring people together.
-
In the remote world, there are so many more opportunities for different types of leadership. So lean into it, practice your writing. Practice writing something to your team once a week. Take time with your communications and really hone that as a craft. The output that you get from that over time is really quite large.
-
-
Remote is this incredible way in which you can grow a department.
-
In terms of the talent pool, you are no longer bound to the city that you live in. You’re no longer bound to the country that you live in. There is an absolute wealth of incredible talent all over the world, which is a fantastic thing for diversity.
-
There are so many amazing things for inclusion and diversity. So remote is great and lean into it to make sure that you have a diverse and like differently represented workplace.
-
-
Just be extremely mindful of burnout, separation of work and home, or blending them together if that works for you.
-
Everyone’s an individual. But just making sure that you are getting the right combination of focus and intensity, but also with relaxation and time away so that you’re in it for the long run and you don’t burn yourself out.
-
And just be aware of the signs of fatigue and stress and anxiety that can accumulate if you’re working too hard for too long and not having enough time around the edges. Make sure you look after yourself.
-
[00:01:22] Episode Introduction
Henry Suryawirawan: Hello, hello, my friends and all my listeners out there. I’m back here again with another new episode of the Tech Lead Journal podcast. Thank you for tuning in today listening to this episode. If this is your first time listening to Tech Lead Journal, subscribe and follow the show on your podcast app and social media on LinkedIn, Twitter, and Instagram. If you are a regular listener and enjoy listening to the episodes, will you subscribe as a patron at techleadjournal.dev/patron, and support my journey to continue producing great Tech Lead Journal episodes every week.
Remote work. Probably two, three years ago before the pandemic, it was one thing that many people thought about, but not many were able to practice it due to the limited viable career options. However, since the pandemic started two years ago, almost everyone has had to quickly adapt working in some kind of a remote setup, especially during the lockdown period. As of today, the COVID situation has gradually improved and many companies in different parts of the world have started opening up their offices back. And despite that, many companies would still adopt a hybrid flexible working arrangement with remote work as a viable option for many of the employees. And this episode will give you some practical tips on how you could do remote work better and effectively.
My guest for today’s episode is James Stanier. James is the author of the latest book, “Effective Remote Work”, and a Director of Engineering at Shopify. This is his second appearance on Tech Lead Journal podcast, and his previous episode 28 “Becoming an Effective Software Engineering Manager” is still one of the top listened episodes of Tech Lead Journal. So make sure that you also check it out, if you haven’t.
In this episode, James shared insights from his latest book and began by sharing why remote work is here to stay and the basic setup for remote work. He then talk about the importance of managing our time and energy and establishing team norms for a successful remote work experience. James then explained his insights about the concept of treating everyone as remote, which led to the discussion about the need for producing more artifacts and balancing between synchronous versus asynchronous working style.
We also extended the discussion on how one can become a more effective manager in a remote setup, including how to manage up to the leaders and stakeholders, and allocating time for team bonding and fun activities. Towards the end, James shared how we can self assess our remote working practices by using the 12 questions that you can find in his book, and why he thinks remote is the path to equality, and can become a great leveler for everyone.
I really enjoyed my conversation with James. He’s always a pleasure to chat with, and this time learning a lot from his great insights on how to do effective remote work. And as you could later listen, personally, there are a few areas that I could still improve to do a better and more effective remote work. And I hope that you could also find some things you can improve for your remote work practice too. If you also enjoy and find this episode useful, help me share it to your friends and colleagues who would also benefit from listening to this episode. Also leave a rating and review on your podcast app and share about this episode on your social media. It is my ultimate mission to make this podcast and the knowledge available to more people, and you can play a part towards fulfilling my mission. Before we continue to the episode, let’s hear some words from our sponsor.
[00:05:49] Introduction
Henry Suryawirawan: Hello, everyone. Welcome back to another new episode of the Tech Lead Journal podcast. Today, I’m very excited. I have James Stanier here for the second time. So we actually had the first episode with James in March 2021. So it’s like one year before today. Actually, James also had changed role since then. He’s now the Director of Engineering at Shopify. And he has just finished and published his recent book, which is titled “Effective Remote Work”. In the previous episode, we covered his previous book, which is “Become an Effective Software Engineer Manager.” Today, we are going to cover about effective remote work. So James, really looking forward to this conversation because remote work, as we all know, has become pretty relevant since the pandemic last year. I hope to learn a few tips and tricks from you today.
James Stanier: Yeah, sure. Thanks for having me on. We were just talking before you hit the record button how a year and two months has passed since we last spoke. It kind of feels like yesterday to me, like, you know, I’m still sitting in the same room, the same microphone, same computer, same desk. So yeah, it’s been a big blur, isn’t it, since the pandemic.
[00:06:53] Writing “Effective Remote Work”
Henry Suryawirawan: So James, maybe in the beginning, I won’t ask about your career journey as well. So for people who want to know about James’ career journey, you can refer to the previous episode. But tell us in the beginning, maybe why you actually wrote this book, “Effective Remote Work”? Did you actually start working it when the pandemic happen? Or the plan was actually before that?
James Stanier: Yeah, that’s a really good question. So, certainly the first book came from having written an awful lot on the subject of engineering management, and I’d sort of built up a huge amount of material and it got to the point where I looked over the material and went, “Okay. If I can rewrite that in a certain way. I think there’s a really good book there.” And then, the first book came out, and it got lots of really good feedback. It sold really well, and it’s still selling really well, and lots of people really like the writing style. So I felt really like motivated off the back of the first book, thinking, “Hey, that was really hard, but actually it seems really worthwhile.” Lots of people contact me to say that it’s really helped them out. So that was a good thing. So I was like, maybe a second book would be a good idea.
However, certainly the second book didn’t come from the same place where I felt like a master of that thing. I don’t think I’m a master engineering manager either, but at least I’ve done it for a number of years. It came from more of a place of, I guess, self-discovery and inquiry. As in my previous workplace, we were going through the remote shift because of the pandemic, and thinking about what it means to be more permanently remote. Certainly, over the course of writing the book as well, you know, remote became incredibly important to me, having moved to a remote location to be near family. And it just felt like it was a very relevant topic. It felt like now is the time to write it. It felt like there was a need for the material. Also, changing role to a fully remote company. It all just kind of tied up in one nice parcel, and I thought, “Yeah, I’m going to do this.”
[00:08:36] Remote Is Here to Stay
Henry Suryawirawan: It’s becoming really relevant these days. I think many engineering companies actually looking at this to be probably a permanent fix to all the challenging hiring, recruitment and getting talented people. And you’re saying in the book, in the beginning, that you think remote is here to stay. Pandemic has been easing off in the few parts of the world. Things are starting to get back to normal. Do you think remote work will still be there? Or any kind of personal prediction about where this will lead to?
James Stanier: Sure. So I think maybe a year ago people would have said that no one is ever going to go back to an office ever again. Now, I don’t think that’s true. And we’ve certainly seen very recently around the time of recording this, that Google is starting to get employees back into the office in Silicon Valley. So I think for some large companies and probably some traditional companies, they will start going back to the office soon. However, there will still be a huge amount of engineering work going on from remote locations, and there’ll be a huge amount of fully remote companies. And I think the pandemic really shifted that societal change forward very quickly.
And I think what’s most important there is not necessarily to do with the people running the companies, but I think employees realize that they don’t have to commute anymore if they don’t want to, that they can live somewhere that isn’t a city with offices if they want to. So I think really, just the amount of options that are open for people who are looking for work has dramatically increased. I think many people, especially people who are parents or caregivers, or have elderly family that they want to be around, they’ve experienced two years of potentially being able to be around. And now they’re thinking, I want to keep that. So yeah, I think remote is definitely here forever now as far as I can tell, and the tools that we’re using to be remote are only ever getting any better.
Henry Suryawirawan: So you mentioned the keyword, which I captured, the option now is becoming a viable option. Because previously, even if you try to find remote work, there are maybe just a minimal number of good companies that open remote work. But seems like now, even like big companies providing these options. Good talents have a chance to actually try remote work, working at the big startups or giant techs as well.
James Stanier: Yeah, you’re right, and I think, before, certainly four or five years ago, I was very interested in being fully remote. But as you said, the options were very limited. Additionally, not only were the options limited, like often it was remote, but actually you had to be in a certain country, or you had to be a contractor, and then it was just very difficult to be employed that way. And I think also the fallback was difficult. So now I think, for example, if you really wanted to relocate with your family, to be near other family or to live somewhere you’ve always wanted to live, live somewhere a lot cheaper, for example, then that was a big risk four or five years ago, because you’d maybe go remote, work for a small remote company. It’s kind of niche. And then if that didn’t work out, you’d think, okay, well, I might not have a job. Whereas I think now, there’s so many remote jobs and so many remote jobs at very large companies where you get all of the usual HR support and proper arrangements to be employed that if you do relocate to be remote, and something doesn’t work out, then there’s plenty of jobs now. And I think it’s a much more accepted and less risky option.
[00:11:45] Basic Remote Setup
Henry Suryawirawan: You mentioned about support. So we have been training ourselves in the last one year or so, to be more used to remote work. I’m sure in the beginning some people didn’t probably like it, or didn’t get familiar to how things work in a remote work. Maybe you can take few minutes to actually give your tips. How for people to get started to do remote work? Any kind of basic setup or tools that they must have at home or maybe at the place where they work at?
James Stanier: Sure. I think a lot of these tips are probably going to sound very boring, but I think they’re kind of essential. So, think about working in an office. You have like a good desk, an ergonomic set up, a good chair and all of the things that make you sort of a healthy employee, that’s not going to get RSI, and is going to have somewhere that they can sit or stand for most of the day without being very uncomfortable. So I think that’s where things didn’t go right at the beginning of the pandemic, is that many people had living arrangements that were not meant for working. So either people didn’t have desks, they didn’t have the space, they didn’t have any of the usual things that they get in the office. So obviously, it was a diminished experience.
So if you want to do remote working for the long-term, then yes, you have to make sure that to the best of your ability, in the space that you have, you’re able to have a permanent place to work. You’ve got all the proper desks, monitor. The lighting is correct. All of the usual things that in that email that you’d get at the office about ergonomics, and then you go, ah, I don’t really care about that. That is actually very important when you’re at home. And having a space that is ideally some privacy away from those who are in your house. Not because what you’re doing a secret, but just for focus, and just to keep the noise at a minimum.
I think also tools as well as having a healthy routine and setup is incredibly important. So part of the reason that going to an office is nice in one sense is that you always travel in and out at the same time of the day. So you have a defined end and defined start of your workday. If you’re in an office, you may see everyone go to lunch at the same time. So, therefore, you kind of naturally follow by mirroring the behavior of others and you have some time off for lunch and you go and talk to people. And I think, when you work at home, it’s very easy for all of those boundaries to be removed. Getting out of bed in the morning late, and then you end up going straight on the computer. You don’t have any breakfast. You end up working through your lunch time because you get busy. You just kind of never really sign off at the end of the day because you keep checking things or you’re using your laptop for personal things as well, and you can’t stop checking messages.
There’re so many things where the success that you want in remote has to come through additional discipline and habits that you have to instill yourself. And I think you get a lot of that discipline and habits in an office through osmosis, by observation of others. But you have to do that proactively for yourself. That can actually be very hard because technology is addictive. I find Slack very addictive. The little notifications pinging off all the time is like, “Oh, what’s that message? Oh, what’s that message?” So it’s kind of like pruning down your interruptions, pruning down the things that drag you away from your home life, and making sure you’ve got a clear separation, and treat it like work.
[00:14:38] Managing Yourself
Henry Suryawirawan: So as you’re describing some of these things, I’m laughing myself because I can see myself doing that, wake up and just jump into the desk and work. Probably there’s no boundary of the start and end time. There’s no commute anymore. So for people, I think this is probably relevant, right? How do you manage yourself? How do you manage your time? How do you manage your workload? So meeting fatigue and all this Slack and disturbances all day long. How can we probably do this better? You know, like managing our time, managing our energy and all that.
James Stanier: Yeah. So I think there’s maybe two sides to this. So the first side is the things that you can do for yourself. And then the other side, I think is all to do with the things that you establish with your team. So norms of how you communicate and what you expect from each other. So I think I’ve already touched upon all of the things you can do for yourself. Making sure that you work set hours every day that are predictable. Try your best to simulate some of the aspects of what you would do if you were going into the office, so that the beginning and the end of the day, you go for a walk. At lunchtime, you make sure you eat some proper food. You take that hour away from the computer. You do the sorts of things that you would do in the office that chunk your time up properly.
And definitely, in terms of self management, make sure that you are organizing your time and your calendar. I personally do it in such a way that my calendar’s visible to everybody in terms of what they can see. Now, I’m working for Shopify, which is very sort of US and Canada-based, and I’m in the UK. But that actually gives me an advantage because it means that in the mornings, it’s usually a lot quieter than the afternoon. So I block out my afternoons as here are times to have meetings. And then it means that in the morning, I block my time out for just focus work. And that’s how I run my day. Usually, sort of morning is my, I see element of my role and focusing on things of my own. And then the afternoon is kind of the more social interaction bit.
But all of that only works if you go to the second part of what I was talking about, which was the expectations with your team. If you are remote now and you’re going to be remote in the future, and you haven’t talked to your team about what you expect from each other and you established some norms. If you don’t do that, it can be really complicated. It isn’t hard to set norms and the norms are all about you and your team understanding what it means to be online. What the kind of response times are for different means of communication. For example, if I send you an email, is it okay to not have reply until tomorrow? Cause if the whole team’s cool with that, then that’s great. It reduces friction. It reduces stress. What does a direct message on Slack or Teams mean? Is that really important? Should that come through to my phone notifications or is that actually just another form of email? And as long as I look at it once a day, it’s not a problem. So I think having those discussions with your teams about what you expect from each other can greatly help enforce healthy habits at home.
[00:17:19] Effects of Being Unobserved
Henry Suryawirawan: Yeah. So the trick here that you mentioned, right? The team norms, I think sometimes this is not explicitly called out. So when we refer to the remote work, for example, many teams actually just go with the motion and just do it. Nobody’s actually ever talking about the norms, and what is the common response time, or the online hours and things like that. So some people do not have the luxury of working with two different extreme time zones. Maybe they’re all working in the same time zone. But sometimes this online work or remote work gives a challenge for people who lack visibility, so to speak. How do you actually give the advice here for people who are scared? Okay. I am now remote, right? So how can I be visible? Be able to respond as soon as possible because sometimes we think that by responding late, maybe other people will perceive us as maybe non-performing staff or something like that.
James Stanier: Yeah, I understand and that can definitely be a lot of pressure if maybe you haven’t talked about norms in your team or your company to immediately reply to everything, otherwise people think that you’re lazy or not working. So I think beyond setting those norms, I think it’s all about visibility in how you can let your team know whether the smallest effort possible as to what you’re doing. Just as an example of something that I use. There’s a Slack integration called, O-L-I- V, Oliv app, and that’s really useful because it integrates with your calendar. You can automate it so that the things that you’ve blocked out in your calendar reflect certain automated Slack messages. So, for example, when I block out my morning as deep work, then it puts a little warning triangle next to my name in Slack saying, “I’ve got my heads down until 12 o’clock”, for example. And that greatly sort of eases that feeling of worry and anxiety for myself, because I know that everybody contacting me can see that I’m concentrating on something for another few hours. So that’s one thing that really helps, and yes, like public calendar. So you always got it up-to-date. You block it out so that people can easily see what you’re doing.
And then in terms of just general visibility, I think writing more is just a thing that makes you so much more of an effective worker when you’re remote. Taking the time to write longer form text to each other. Slowing down a bit, but writing more concisely, and just using that as a medium to sort of blog along in a public way as to what you’re up to. So that might be that you have async stand-ups with your team where you write to each other every day. But going into more detail, it might be once a week, you sort of write up a digestive like here’s how my week went. Here’s what I’ve been focusing on. Here’s some thing I’m doing next week. And it’s just sort of writing to everybody else to show them that you are doing good work, that they’ve got opportunities to engage with you about it. Fundamentally, also you write to think. So it really helps you think as well and plan. So it’s a combined effort which I find really helpful.
[00:19:59] Treat Everyone as Remote
Henry Suryawirawan: So as we go into this going back to office, right? There will be some companies who will have some people working remotely and some people in the office. You brought up this very interesting phrase, that we should actually treat everyone as remote. So for people here now in the flexi working arrangement, so some are in the office, some probably remote. Why do you think this thing actually important? Treat everyone as a remote.
James Stanier: So I think we’ve all experienced what it’s like when that principle isn’t followed. Maybe pre-pandemic, you were working in an office, and maybe you worked from home one day a week for some reason. Maybe you had a doctor’s appointment or had to do something that involves you being at home. And then you would dial into a meeting, and then, as a remote participant, you would have the worst experience. Because ironically, as a remote participant dialing into that meeting, you’d have your own microphone. You’d have your own camera. People could see you properly. They could hear you properly. However, everyone who’s in the meeting room is miles away from the camera. You can’t even really see them properly. They’re all sharing one microphone. So you can’t quite hear who’s talking at any given time. So that’s the example of that principle is that if you treated everyone as remote in that situation, then even if you were having a meeting where some people were in offices, some people were working remotely, everyone would have their own camera, their own microphone. Yes. They could be sitting in the same room, but fundamentally, the interface that you were interacting with for that meeting is equal for everybody.
That principle structure is way, way further than just having meetings. It’s thinking about the way in which communication exchanges between people. If you’re in an office, the office physical layout and the way in which people bump into each other does mean that yes, spontaneous conversations do happen. Yes, they can very easily become silos of information in the office because people just talk and then they’re never broadcast elsewhere. But treating everyone as remote would be, if a team is in an office and they have some remote workers, then they would make sure that if they do have a discussion in the physical space, that they would maybe just write a quick summary if it was pertinent to the rest of the team, and send it around by chats as well as saying, “Hey, we just had a chat about this. We think we’re going to do this, and what do you think?” And it’s just keeping everyone in mind as having the same level, same equality, the same access to information.
[00:22:13] Producing More Artifacts
Henry Suryawirawan: So as you mentioned, this scenario where one person is in the remote place where the others are in the office in one room. I also remember my experience as a remote person back then. It was not nice as well because some people were gathering over a whiteboard, which is probably far away from the microphone and the camera, and they were talking and they were mumbling. But because you are the only person, probably you don’t dare to interrupt, and you don’t say anything. But actually, you don’t understand. So I can totally understand how the feeling is by being a remote worker. It’s just not equal. So I think the principle that you mentioned here is actually to be conscious and aware that there are remote workers out there that probably we should try to be more inclusive. Either what you’re saying about writing summary or the other two tips that you are also mentioning in the book, which is to produce more artifacts, and also begin the shift to asynchronous communication rather than synchronous. Maybe you can cover both of them sequentially.
James Stanier: Yeah, sure. I mean the artifact thing, I think, is incredibly important. Everyone who’s ever worked for any company as an engineer or even just work for any tech company has always gotten to the point where they just think the documentation is terrible. Everything’s out of date and they can’t find the necessary information they need to build a project or get some help. So artifacts are incredibly important. And what’s really interesting, and it’s linked to asynchronous communication, is, in order for information to have that leveling equality for everybody, it has to be equally available to anyone in the team or department or company.
So, as a byproduct of writing, you are producing artifacts. These could be design documents. These could be READMEs, Wikis. It goes further, you can use things like Architectural Design Records for your code base, where you record all the important decisions in a folder in the repository itself. You can also think about ways in which you can document other decisions, like organizational decisions, team decisions. If you do a retrospective and you use collaborative drawing software like Miro, then you’ve created an artifact that is always there. And I think it’s about getting into the habit of thinking about leaving an audit trail as you’re going along.
So in the same way that if you use Kafka to pass messages, it’s a distributed commit log, think about that distributed commit log idea for ideas and decisions, and the ways in which your team works, and make sure that everything is captured digitally. It’s so easy to do so nowadays. You know, collaborative documents, collaborative drawing software, it’s all there. And you move your team to using them. Making sure that you archive them. You have a folder where every meeting gets recorded and you always have the recording around. It doesn’t mean that anyone necessarily has to revisit the recordings, but they’re there, and that’s the important thing.
As soon as you get into this habit, if something came up in a meeting two weeks ago, oh, what was that thing that we were talking about? Somebody had a really good idea there, you can revisit the recording. So artifacts are incredibly important because it also solves that problem of if there are people outside of your team on drastically different time zones, or if someone has been on vacation for a week or they were off sick for a day, then all of these artifacts you are continually creating allow them to catch up with the things that are important to them.
[00:25:18] Types of Artifacts
Henry Suryawirawan: As you mentioned a few examples, like video recordings, design docs, and all that, there are different types of artifacts here. Even chat messages could be classified as an artifact. So what do you think are some of the examples of a good artifact? Because I don’t think all artifacts are equal, sometimes even if you record everything, right? How do you classify them? How do you search for them? And how do you still get the gist of the information? Because, for example, chat messages that I mentioned are highly unstructured. There are some which are probably good content. Some are like jokes. Some are probably just commentary. So what will be your tips to produce good artifacts for people to refer to?
James Stanier: Yeah, so I think it’s all to do with picking the right medium and understanding how long something needs to be around for. So, for example, in the permanent forever side of things, you could think of the README for important code base that always has to be there. It always has to be up to date. It’s completely asynchronous because you don’t need to talk to the person that wrote it. It should be completely self-explanatory. And then on the other end of the scale, you’ve got a video call where all of you are talking to each other at the same time. You have to be online and it’s synchronous.
Between those two extremes, there are a whole scale of different things. So you’ve got like chat, you’ve got recorded video, you’ve got email, written documents. I think it’s just, again, going back to the norms thing, like talking to your team about what is the format in which you capture particular information. So, for example, anytime you design a nontrivial change to your code base or feature, you are going to write a design document, and it’s always done in say a Google Doc, and you archive it in a particular folder, and just having these processes in place for your team. But understanding, for example, the half-life of each thing is different. So a README, the half-life is forever. It should always be relevant. But you know, that chat, the half-life is quite short because it’s very context and time dependent.
But there are ways in which you can kind of force people to not put things in the wrong place. So for example, Shopify’s Slack retention is only 60 days, so the history disappears very quickly, and that’s on purpose because it forces you to not store all of your really important discussions in a Slack thread that people then have to try and search for later without knowing. You store it in a place where you can find things, and finding things is really important as well. Thinking about video. It seems really easy to record a video. You could just have a meeting and record it. But the problem is searching for words in videos is still not the best thing to be doing. I’m sure that in another 10 years, the technology would have improved. So the transcripts and things are all very searchable, but right now, being able to think, okay, where did we mention the customer database? Oh yeah, it was in that meeting. Okay. What do you even search for to find that video recording where someone mentioned something?
So you have to think about searchability, discoverability. Some of that is organizational, making sure that you have a shared drive, and you put things in folders and you keep it organized. But it’s also thinking that, okay, if this is a highly important thing that needs to be searchable, then maybe it’s written in text in a way that’s easily found and so on. So it’s kind of an information retrieval problem, which is good because you’re all engineers. But you know, we just have to think about this.
Henry Suryawirawan: But as you mentioned, all these practical examples, right? How do you search something from a video? I think I haven’t found a solution as well for that. In fact, there are so many videos that I can’t probably just browse all of them one by one because it’s sometimes time-consuming to look at the minutes. And the other one you’re talking about, Slack. I think I’m also currently experiencing where all the important information are in Slack. We don’t actually delete like 60 days, just like what do you do with your company. So yeah, having that actually is a challenge. Because finding it in Slack also not easy. It’s probably buried with all the other commentary and non-essential stuffs. So would you actually give tips for people whenever they have something discussed over chat, to actually soon, straight away, put it in a docs or something like that, and probably try to build an index so that people can search easily.
James Stanier: That’s exactly right. And I think it’s, again, through talking to your team, establishing norms, where it gets into the culture of the team that, okay, there is this technical discussion unfolding on Slack and wow, there’s some really useful information here. They probably shouldn’t lose the effort that’s gone into having this discussion and then just moving it somewhere else. And I know that there’s other mechanisms that people use as well to capture those kinds of Q&A. You can get StackOverflow for teams, for example, there’re things like Discourse. There’s a bunch of different tools that capture that kind of StackOverflow type experience for people asking questions. That would go on Slack. They get someone to spend a lot of time answering that question, like, “Oh yes. It’s this code base. It’s this database. Here’s the update you need to do.” And then it gets deleted in the retention history. So it’s kind of, how do you put those things in places that can be useful and also respect the effort that people have put into sharing that information in the first place.
[00:30:01] Sync vs Async
Henry Suryawirawan: So as we are talking about producing artifacts, some people associate remote work with asynchronous working style. So going back to just now, right? How do you treat everyone as a remote? One of it is to do more asynchronous style of communication. Maybe can you give a balance here? Because sometimes some people can go very extreme. Like everything has to be fully async. Maybe think of it like GitLab working model. They publish it very publicly, or some who are still struggling to adapt to this remote work still want to have the experience of synchronous. But at the same time, also need to adjust their working style to be more asynchronous. Maybe can you put a light on this synchronous versus asynchronous challenge?
James Stanier: Yeah. So I really respect people that can be fully 100% async for everything. That I still struggle with. I still find that one of the really valuable things about work in general is being able to connect with other humans, talk to them, fun synchronous interactions. So to me, it’s about using the right tool for the job. And yes, like now that I’ve worked remotely for a number of years, I am writing way, way more than I used to and doing way more things asynchronously. Certainly, I really appreciate also the focus time that’s really easy to get. I can say that I’m busy for a morning. I can close down all my interactions, emails, Slack, so on and focus and work completely asynchronously, which is great.
But the synchronous thing is really important. I think that in order to make it work well remotely over the long-term, there still needs to be a lot of focus on that connection with other humans. So definitely like getting together in real life when you can is a really good thing. I know that’s difficult because the more distributed and remote you are, the harder the travel becomes, the longer you have to be away from family and so on. But meeting up once a quarter, twice a year, if possible, is definitely great. Cause you can’t go against the fact that we have evolved as humans through connectivity with other humans and communication. And it’s like, it’s a really kind of nourishing important thing. But even if you can’t get together with people, then it’s really important sometimes, even if asynchronous would be the most efficient way to do something. But in order to support connectivity with humans and feeling that you are a part of a real team of real people, sometimes doing things synchronously is a really good choice.
So you could do all of your stand-ups asynchronously every single week. But maybe do one of them or two of them on a video call, just because it’s nice to talk to people and nice to see people. I think also synchronous now what we use it for is predominantly all of the sort of fun stuff that we do with our teams. We have time blocked out every other week to play some board games together or just to hang out. A few times, we’ve sort of tried to cook lunch together to some degree of success. But we’re using a lot more purposeful, synchronous interaction for fun and connectivity. Even if it’s not always the most efficient way of doing things. Because the thing is like, people may really want to be async completely, and everyone has got a different personal preference, and that’s fine. But it’s worth remembering that remote is now becoming very mainstream. Whereas in the past, a lot of the people that maybe wrote about remote working or a lot of the people that were strongly advocating for it were probably the kinds of people that were very attracted to fully async. They wanted to be in a bus, traveling the continent with like patchy internet and they do everything offline and then just commit it all at the end of the day, and that’s fine. There are people like that, but that is not the every person. That is not the 99 out of a hundred people that you would bump into your work. So it’s really important that we cater for everyone with different needs.
Henry Suryawirawan: What you’re saying is actually pretty true, right? Because some people have preference. Some can be more extreme than the other, definitely. But I think what you mentioned is use it as a purposeful way, and also setting up team norms. And I think you also bring another good point, because sometimes synchronous is good for one purpose while the other time asynchronous is also good for any other purpose. So you bring in this topic about strong consistency versus eventual consistency, like in the technology world. So tell us more about this concept of strong versus eventual consistency in the sync versus asynchronous communication.
James Stanier: I’m sure through the pandemic, if you had to work remotely and maybe if you were in an office pre pandemic and you had to discuss things as a group. You had to get consensus on an approach. If you were all physically co-located, then you could get everyone together at the same time, quite easily and say, “Hey, like we have to make a decision about the way in which we’re going to build this. Does everyone agree with this?” Maybe write it on a whiteboard. “Okay. Yes. Great. We will agree. Cool.” Made the decision to move on. That is like kind of strong consistency by having a small group of people synchronously available. And then during the pandemic, in the same kind of distributed systems model, everyone is apart from each other, maybe working slightly different hours. There’s lots of different interruptions from home and family and so on. You want to make a similar decision. And then you’ve all gone through the absolute pain writing it up, sending it out, saying, “Hey, we want to do this. We want to build this service in this way. Can we please get consensus?” And then half of the people don’t read the email and then the people that do, you see that a few have opened the document, but then never commented anything. And you’ve got this like horrific eventual consistency problem. And I think, if you’re leading a team or if you’re leading a technical initiative, you have to really think about the way in which you gain consistency in these decisions. There are certain ways you can try and do it, which piggyback off the way in which we do this for code. We’ve been doing this for code for some time. You know, we make changes. We raise pull requests. We probably have some processes set up in our code base to have particular reviewers who get automatically pinged and then they actually review it and it gets merged. How can you piggyback that model for maybe making decisions in a better way?
That’s one thing that we do here for technical designs is we have a technical designs repository, and people raise issues in the repository with all of the documentation of what they’d like to do, and then they ping the reviewers. And then all of that runs as if it were like a code base, but it is for making decisions. But what’s also nice as well is that, going back to the artifacts discussion, by all of this being in GitHub, and you using the review mechanisms of GitHub. It also preserves the history forever as well, and it’s all kind of in a repository. So yeah, you have to think a bit more purposely and a bit more like an engineer in the way that you get these decisions made. Because posting that link in a Slack channel and just hoping that people will read it is a tricky thing to do. It doesn’t always work.
Henry Suryawirawan: Yeah, again, as you mentioned, all these are really real case example for me as well. In my company, we are working like work from anywhere, fully remote is possible. But yeah, sometimes people send just a request for over email, sometimes Slack chat. But yeah, some people don’t read it or maybe they just open, but forget to comment it next time. So all this definitely becoming an issue. And I think what you brought up in terms of getting consistency in the decision making is something that we have to think about. And if we need a very consistent decision-making, maybe synchronous is becoming more important than asynchronous.
[00:36:55] Effective Remote Manager
Henry Suryawirawan: So maybe moving to the next section, because we’ve been talking about individuals, and you brought the topic about becoming an effective software engineer manager last time. So, in this remote work, how can you still be more effective? So tell us more about that.
James Stanier: Yeah. I mean, it’s interesting. I mean, I think all of the principles and all of the general tools of being a good leader, a good manager are the same. But you have to readjust how you have previously approached all of the sort of social human side of things. It’s really important to have like a really psychologically safe and trusting relationship with your team and with the individuals on your team, and not being able to be there in person in order to just generally be around and build that rapport. You have to rethink how you do things in the remote world. I think also you can’t help but feel that a lot more of the remote interactions that you have are far more transactional. If you have a one-to-one meeting in real life and you’re sitting in a room, it’s so easy to read body language, it’s so easy to sort of let things flow naturally to really feel connected to somebody to read their expression and how they feel. And that’s, again, that is like a very natural human thing that has evolved since the beginning of human history. And now, we’ve had to completely readapt to all of these things through computer interfaces, where it is harder to read your facial expressions. There is a bit of a delay. It’s harder to have a quick back-and-forth conversation.
So I think it’s just readjusting to the tools that we have now. I think leaning into things like writing, things like the asynchronous side of things to pad out the areas that you’ve liked before. Some of the things I talked about before with engineering management and the book, I did write about how writing itself is very important. It’s even more important now. And that kind of managing upwards thing to managing your own manager as well is important. I’m not sure if it’s the same in other companies, but it’s highly likely that if you are a senior manager, for example, in a large technology company, it’s probably the case. Your manager might be on a different time zone together. My own manager is in Canada now, so we only have limited overlap every day. So you have to like really work a lot more in asynchronous way to make sure that your team is understood, is heard, that you are understood and heard.
There’s a ton of ways of doing this. My favorite one that I do because your one-to-one time is precious every week and inevitably it always gets taken up by something urgent instead of the thing you really wanted to talk about. So it’s about taking control of that communication. For example, I make notes during the week to myself and the things I’m working on, the things that I’m doing, and then on a Friday, so it’s Friday the day that we’re recording this, I’ll be doing this later today. I write a nice long form piece of text to my manager, just highlighting all the things that my teams have been doing, decisions that we need to make that maybe we need some help on, just generally giving an update. You can also reuse the update to communicate out to your teams as well with some of the things removed and changed and so on. It’s about sort of adapting to the new tools.
[00:39:43] Managing Up
Henry Suryawirawan: So, as you mentioned about be more transactional, so to speak. So you don’t actually meet the people and you don’t probably casually talk, only in one-on-one or probably you book another meeting, which sometimes people are reluctant to do. Because meeting is actually one of the source of either mental health or physical health. So what would be your advice for people to managing up, actually, where they want the presence of the manager, but sometimes they are probably afraid to take the manager’s time or maybe book the time for the manager to respond to some of their personal concerns?
James Stanier: Yeah. That’s a good question. Yeah, you can’t help but feel sometimes, especially if your own managers are incredibly busy, you sometimes feel bad about taking their time. I mean, I think one sort of small thing is just imagine yourself in their position. If you had a member of your staff who wanted to spend more time with you because it was really positive. You know, you want to spend more time on planning what you want to do with your career, what you want to achieve in 12 months, or want to give them more information about what’s going on in your team in a really good productive way. If that was me in that position and someone was asking that of me, I’d be like, “That sounds great. Let’s do that.” So, there is that anxiety of taking someone’s time, but if it’s for good reasons, then try to fight that and go ahead and do it, anyway. Definitely, compliment more with writing around the side so that they are continually drip fed interesting information.
But, again, it comes back to norms. I think it shouldn’t be taboo to talk about the amount of time that you spend together. And I know, when I went through my first review cycle at my new role at Shopify, I was giving feedback. I was like, Hey, to my manager, I just wish we have more time together because we were meeting once a week. We do write back and forth, but without that kind of extra time being given. So the difference between like a one-to-one being half an hour or an hour. A half an hour one-to-one is great. But you kind of rushed through everything in order to sort of check off all the points and get everything aligned and then, “Okay, bye. I’ve got so much to go.” But if you purposely book more time, but know that you’re not always going to use it every single week. There’s that thing when you have a one-to-one with someone and it’s like the first 25 minutes of the half an hour is just updates and staticy stuff. And then you end up with like five minutes left or three minutes left, and then there’s, “Oh yeah. There’s that one thing I wanted to talk to you about.” And it’s like the most important thing, and it happens every single time. It’s like, “Oh yeah. So about this critical decision we need to make. Oh yeah. I’m not very happy in my job.” These kinds of things never end up with the right part of the meeting. So booking more time than you need, and making that a habit is allowing that space for these things to come up because otherwise you never really get the chance to explore them.
Henry Suryawirawan: Yeah, again, all those examples that you’re mentioning. I think I’m sure people are laughing as well. So it might happen to you as well, where you discuss something in the one-on-one, but at the last few minutes you kind of like stuck into the flow and want to talk more. But oops, time is up.
[00:42:27] Allocating Fun Time
Henry Suryawirawan: So, another thing that you mentioned is about team bonding, fun activities, so more personal connection, less transactional thing. I know some teams probably intentionally and consciously book the time for this, while other teams probably don’t. What will be your advice here? Is this something that every team must allocate a time for in terms of fun time?
James Stanier: Sure. I mean, not every team will want to. Everyone’s different and that’s cool. But I think it’s important to know that many people do want this. We, for example, I think it’s every other Friday we book out an hour and a half in Friday afternoon. This is for the teams that are in Europe, and it kind of aligns to Friday morning for the people who are in the East Coast for the teams that I work with. Obviously, time zones and timing is different. We went over time zones as engineers. But I’d say, always try and book some time. Make it optional for people to turn up. It doesn’t have to be forced that everyone has to turn up every week. Because if you’ve got people turning up because they think they have to, you probably won’t have the best times.
But there’s ton of stuff that you can do really easily in order to connect together. So, we really love boardgamearena.com. There’s like hundreds of board games you can play for free. Something that we have at Shopify, which is really fun, is an internally built animal crossing-esque browser-based game. I can share one of the articles about it, where you can go in, you have an avatar, there’s like a little island to explore. You can play these little mini games. You can throw things at each other. And it’s just a way of being able to get together to have a hangout, but you are a 3D avatar rather than being on camera, which is kind of exhausting. If you spend the whole day on camera, you just feel tired. So it’s a way of just making it easier to interact with less of that self-consciousness.
And then just trying to do things that are just a bit different, a bit fun. So, as I mentioned earlier, we had one of the teams, one of them taught everybody else a recipe on a Friday afternoon, it’s like, we’ll cook this thing. So, go out and get a few ingredients. And then everyone took their laptops into the kitchen and he showed them how to cook this particular meal, which was really cool. There’s plenty of things you can do. But yes, make it optional, do book it in because otherwise, if you don’t book it in, it never happens. People just get busy. But it’s not for everybody, and just try and keep it varied with different activities.
Henry Suryawirawan: Yeah. Some people also think that fun activities over remote or camera is lame. It’s less fun, definitely. But I think still we should try our best to actually try to bring these fun elements into the team because otherwise when we will have time to actually bond and get to know each other.
[00:44:44] Remote Work Self-Assessment
Henry Suryawirawan: So, I think remote is going to be here for stay for sure. For people who want to gauge how good they are doing remote, I think you have these 12 questions about how you do remote work. Maybe can you pick some for people to reflect whether they’re actually doing it correctly now or not?
James Stanier: Yeah. It’s terribly embarrassing because I actually can’t remember all 12 off the top of my head, which is why I wrote them down in the book. But a few of them that are very important is treating everyone as remote, which is what we talked about earlier is incredibly important. Because that is the fundamental equalizer, the bringer of equality to everyone who works at a company. And I think fundamentally that one, if you do truly treat everybody as remote, then it has this knock on effect of how you do documentation, how you broadcast information, how an organizational center-of-gravity forms.
We’ve all experienced that in the office where there’s the concept of like the HQ, which is maybe the London or the San Francisco office or something, and like all of the execs are there. And then all the other offices are just like these satellites that always fighting for attention and feeling like no one thinks about them. Well, the same is true with not treating everybody as remote. Cause if you have everyone’s a remote worker for 90% of the company, and then the 10% of the exec are not remote and they’re in an office then you can just imagine that all of the decisions that are being made about how you work together, or the tooling that’s provided, or the culture being made by people who sit around a table every day, and it’s not going to be indicative of how everyone else works.
Similarly to that, one of the other rules, which I think is really important, and it touches upon the whole hybrid situation that I think we’re moving towards in many places is, does every employee have the same amount of money spent on them regardless of where they are? And this is like another one of those implicit things. When people who worked for tech companies that had fairly traditional tech company benefits in their offices went home, they realized that, okay, well, actually part of my compensation in a way was like, oh, there’s this free food, and there were like snacks available. The company would pay for lunch once a week and deliver stuff to the office. I had a really nice desk and a really nice monitor and always amazing equipment that cost an awful lot of money. And now, I’m at home and I have no desk and I have my laptop and I’m sitting on my bed. There’s that massive disparity there. So I think the other principle is like, is it clear that the company is spending the same amounts of money on everybody regardless of their location? Because that is another thing that forces that equality. Some companies are doing this through work from home stipends, or you can have the company buy all of the office equipment for home. Where the money goes is a very important indicator of how important particular locations or employees are for sure.
Henry Suryawirawan: There are more tips there in the book. So there are 12 in total. So for people who want to gauge how good you are in doing remote, make sure you check out James Stanier’s book on effective remote work. Just do the quiz and if you do well, congrats. And if you don’t, probably there will be some improvements that you can do to treat everyone equally remote.
[00:47:36] Remote: The Great Leveler
Henry Suryawirawan: So, as we’re closing this conversation, James, I think we are talking about equality, treating everyone as remote. You mentioned in the book that the path to equality is actually remote, and it’s actually like a great leveler for all people in the world. Maybe, can you explain a little bit more about what do you mean by this?
James Stanier: Sure. This is sort of a thing that’s quite close to my heart. For a long time, if you wanted to have a career in technology, it often meant that you had to move to a city where those companies were located. You sometimes had to move country in order to make that happen. There was already a huge inequality based on a thing that you had absolutely no control over, which is like where you were born. You can’t control that. That just happens. So there was already a massive inequality in what it was like for someone growing up as a kid in London or San Francisco or New York in terms of what opportunities are available to them, versus somebody growing up in a very remote location or another part of the world, where there was no technology whatsoever, and to work for.
So that has always meant that many people have had to risk a lot in order to get into our industry. Some people don’t have to risk very much, but some people have had to literally move their family across the entire world in order to get the opportunities they want. I’ve really noticed this, moving close to where our family are, which is a fairly remote part of the UK. There are no technology firms around here. You have to drive for hours in order to be anywhere near any of these places that have an office. So I’m here working remotely now, which is fantastic, and I get to experience being part of this really nice community where we know lots of people.
But previously five years ago, I wouldn’t have been able to live here because I wouldn’t have been able to have a job. And what that also means, if you think about future generations and you think about people now who are working remotely, who are having children, they will be growing up in an environment where they know that if they want to get into this industry, then they just need to be pointed in the right direction. They’ve got the internet, they’ve got a keyboard, mouse, monitor, computer. They can have this as a job, and I think that’s amazing. That’s a real game changer for the types of people of all different social economic backgrounds and genders. All of the kind of underrepresented groups that we want to have in our industry.
Now, there is a path through remote work for more people to get involved. It doesn’t matter where you grow up. It doesn’t matter who your mom or your dad was. It doesn’t matter any of these things anymore, because if you’re smart and you are motivated, then all you need is the internet and a computer and you can be part of this. So that’s what I think is really exciting about remote work. It really is the great leveler for our industry.
Henry Suryawirawan: It’s really lovely the way you mentioned and explained about this concept, right? So people who are in the remote places where previously, probably there was not even an existence of technology big companies. I think now they get a chance and as more and more people accept the remote working culture, and the technology is also now adapting because since the pandemic, there are so many tools. For example, the board arena, I think I’m sure it’s probably new as well. There’re so many new tools being built just to cater for this remote work. So for people actually to be part of this equality journey, right? How can they put themselves out there, you know, sell themselves? Or for people to actually get the equal opportunity itself, how do they sell themselves, so to speak?
James Stanier: Yeah, that’s a good question. And I think, related to the opportunity being more available to people who are remote. I think also the parts in which you can take into the industry are expanding as well. We all know in the industry at the moment that there are so, so many more jobs than there are people available to do the jobs. It’s a really hot market. Technology isn’t going anywhere. I don’t think this is going to change. If you are a talented person and you’re out looking for work, then you will definitely find work. It’s just going to happen.
Obviously, all the usual advice applies if you want to get good at technology interviews, then there are great books that you can work through, like “Cracking the Coding Interview”. If that’s the kind of thing that you need to brush up upon. If you want to make sure that there’re examples out there of the code that you’re writing, then yeah, doing some little projects on GitHub that show who you are is all fine. But, you know, to an extent, a lot of those are still things you have to do on the side. So the way that you used to get into the industry, the top tech companies anyway, would be you would go and do a computer science degree. It would take you three years. You would get into a lot of debt. All of these things I’m sure many of the listeners have been through.
Now, there are so many more routes that you can get into our industry with. There are different bootcamp schemes for programming, where a lot of people turn their nose up at the coding bootcamps. Hey, this is ridiculous. How could someone do 16 weeks of React or something and be as good as someone who’s come out of a computer science degree? Well, it’s more of the apprenticeship model, isn’t it? It’s a bit like if you do a traditional trade, if you’re like a carpenter or a plumber or electrician, you don’t go to university for three years. You pair program as it were with industry experts, and that’s how you get into things. At Shopify, this is where I can sort of plug what we’re doing. We have the Dev Degree program where you can be doing your undergraduate degree, but also working for us at the same time, and you have a full-time job lined up when you leave.
There’s so many different communities out there for people who haven’t ever coded before that have gone remote. So, there’s like Code Bar in the UK that focuses on underrepresented groups who are really, really interested, but haven’t had the background of computer science and technology education to network with people who are their mentors to build things, to have all these routes into the industry. There are always something to do with your skills, but also something to do with who you know. And I think the remote side has really opened up the who you know, because it’s never been easier to send people messages to attend online events, online courses. You can do bootcamps from home. Lots of companies are doing internships which previously, you had to maybe move into temporary accommodation in the city to do an internship. Now you can do it from home. So this is fantastic, right? There are just so, so many more opportunities out there for people.
Henry Suryawirawan: So the message for all of us here, options are plenty, right? So definitely, do check out different routes, different parts for us to tap that opportunity and make it useful for us.
[00:53:29] 3 Tech Lead Wisdom
Henry Suryawirawan: It’s been a pleasant conversation, James. As always since the previous episode as well. But I would like to ask you the same question that I asked last time, which is to share about your three technical leadership wisdom. So, let’s try this time, whether you still get the same or probably different one.
James Stanier: Sure. Yeah. These are kind of more remote focused and they touch upon some of the things that we’ve talked about. One of them is as a leader, embrace asynchronousness, and more specifically, embrace writing. I think the really amazing thing about remote work now, due to the way in which we all talk to each other and due to there being more writing, the traditional sort of extroverted alpha male leader, I think actually, is weaker in this environment, which opens the door for the quieter, more thoughtful, more written leader. Never underestimate the power of the written word to motivate, to bring people together. So I think in the remote world, there are so many more opportunities for different types of leadership. So lean into it, practice your writing. Practice writing something to your team once a week. Take time with your communications and really like hone that as a craft. The output that you get from that over time is really quite large.
Second one. As a hiring manager or someone who has to grow a department, remote is this incredible way in which you can do so. Yes, there are some mechanisms that need set up. You need to think about how do you employ people in a proper way, in different countries and all that kind of thing. However, in terms of the talent pool, you are no longer bound to the city that you live in. You’re no longer bound to the country that you live in. There is an absolute wealth of incredible talent all over the world. Which means that if you have remote working nailed in such a way that it’s easy to be a member of the team, regardless of where you are, then you can hire so many different people, which is a fantastic thing for diversity. It’s a fantastic thing for people who want to work from home because they are a new mother and they don’t want to have to choose their career or their child. You can actually have both now. You can have working parents, both with full-time jobs, both sharing the responsibilities of looking after a child. There are so many amazing things for inclusion and diversity. So remote is great and lean into it for making sure that you have a diverse and like differently represented workplace.
The third one is just sort of a personal thing. Even though remote work is great and all the things are fantastic, we will have to be just extremely mindful of burnout, separation of work and home, or blending them together if that works for you. Everyone’s an individual. But just making sure that you are getting the right combination of focus and intensity, but also with relaxation and time away so that you’re in it for the long run and you don’t burn yourself out. And just be aware of the signs of fatigue and stress and anxiety that can accumulate if you’re working too hard for too long and not having enough time around the edges. Make sure you look after yourself.
Henry Suryawirawan: Thank you so much for the personal message. I think I’m also one of the person who are probably suffering also from burnout and unclear separation between work and real life. So I mentioned about jumping out of bed to just go to work. So I think it’s a clear message for all of us here to do check out your personal mental health or physical health, don’t force yourself. Treat this remote as a very good opportunity for us to the path of equality that James has mentioned. So James, if people want to buy your book, learn more about this effective remote work, is there a place where they can find online?
James Stanier: Yes. So, at the time of recording, it isn’t out in print just yet. It should be out in print in about a month or so. But you can buy the ebook from Pragmatic Programmers. So pragprog.com. It’s on there, same with the previous book as well. In the future, from where we recording this, it should also be in all good bookstores. Your Amazons, your independent retailers should also be stocking it as well. If you want to find out any more, there’s also my website, which is TheEngineeringManager.com, and there’s a book section on there that lists both of them with all the links.
Henry Suryawirawan: I’ll make sure to put that in the show notes, depending on the time when I publish this recording. I highly recommend the book. So In preparation of this recording, I even had a glimpse of the book. Really good contents there. Thanks again, James, for your time. Really looking forward for our next episode, which probably equals to another book.
James Stanier: Oh, I have not. I’ve had enough of writing for now. But yeah, let’s see. Then again, I said when I wrote the first one, I wouldn’t write a second one. So who knows what happens in the future?
Henry Suryawirawan: All right. So thanks for your time.
– End –