Four months. Seems like a lifetime ago.
This has been the second time in my career that I’ve been doing remote work full time; the first time was when I was very much a junior programmer.
Here’s what I’ve learned in these four months:
1. It’s hard to separate work and home. Really, really hard. When commuting to another place, it takes physical effort to go back and do work; and that is (shamefully?) usually all that’s enough to make sure work stays at work. At home, I can just drift downstairs and get some work done.
2. It’s hard to separate piddling around with actual work. Yea, I put in more hours; but do I really get more done? Probably not. There’s laundry to switch out, animals that want attention, etc. So while I may put in 10-12 hours a day, I’m probably closer to the south side of ‘8’ for hardcore work.
3. Having a quiet space is even more important at home. My current office setup includes no door; and until I move my office into a space with a door, it’s super important that I’m either with headphones or that the house is quiet. Since my wife and kids are home for the summer, that means great headphones. I also recommend “Music to Code by” (originally recommended to me by Jonathan Sampson). It was composed by Carl Franklin, programmer and host of the .NET Rocks! podcast.
4. All conversations must be in a digital medium. Working with people who are in an office together means either all conversations have to go through Slack, or missing out on critical information. Brooke and Sara both work in our NYC office, and since they’re in a small office together, they can easily share information. Because I’m not in said office, I have to be extra sure to stay up to date. David Fullerton talks about this issue in the blog post “Why We (Still) Believe in Working Remotely“:
You have to commit to it as a team (and a company). There’s no halfsies in a distributed team. If even one person on the team is remote, every single person has to start communicating online. The locus of control and decision making must be outside of the office: no more dropping in to someone’s office to chat, no more rounding people up to make a decision. All of that has to be done online even if the remote person isn’t around. Otherwise you’ll slowly choke off the remote person from any real input on decisions. (non-bold/italic emphasis mine)
This is something we’ve worked through as a team, and it’s gotten easier; but it is tough to do at first. Would you rather say something to the person standing in front of you or would you rather get on a Slack Channel and type it to that same person?
5. Virtual Coffee is a must. Working remotely means having less opportunity to interact, which makes those daily interactions all that more important. Everyone needs feedback on what they’re doing, what they should continue doing, and what they need to be redirected on. Working Remotely means scheduling explicit time for that so that it happens. We’ve had good success having a bi-weekly feedback session; and even if there’s no feedback to share, it still gives us time to connect with people we work with. Think of it like getting coffee together — virtually.
6. All Progress must be visible or reportable. I spent time porting a bluetoothle library over for use in Ionic (long story short, the other library didn’t support the latest version of Cordova). Normally that’d be a blurb in a standup, but remotely, that counts as part of my output. Since we use Slack, it’s really easy to set Slack up to report Git pushes. Unfortunately, there’s no easy way to have a Slack Integration for reporting conference calls, emails sent, or any other work that doesn’t really seem like work until you’re remote. To combat that, we share our Google Calendars, and everything we do goes on our calendar. With a bug with Shared Calendars in Sunrise, that sometimes means me popping in on a meeting I shouldn’t, but for the most part it works.
7. Being open about strengths and weaknesses. It seems antithetical to workplace advancement; but it’s absolutely crucial in a remote work situation. I talk about my weaknesses because even thought it’s uncomfortable for me, it’s crucial to ensuring frank communication, and when you’re working remotely, you don’t have those normal cues to know how you are being perceived. Candor is a strength. This doesn’t only mean sharing your weaknesses, it also means sharing your wins.
8. Having a hangout devoted to wins is important. Software Development (and Startups?) means failing 500 times only to have it work the 501st time. It’s easy to focus on the failures; but the wins are so much more important to the team. Take time to share nothing but wins. Brooke set up a Weekly “Wins Hangout”, and it has been beneficial. The whole team gets together and talks about what their ‘wins’ were that week, no matter how small.
9. Invest in making your workspace better. In an office, you can’t control your environment as much, but since it’s so important to happiness, it’s absolutely crucial for a home office. We even went so far as to paint the Maroon basement a soft Yellow to reflect light instead of absorb it. It worked wonders. I also purchased a sit/stand desk that doesn’t break the budget because that little extra control helps.
10. Keep a schedule that works mentally, physically, and emotionally. I’m still struggling with this. Since it’s easy to start work early, and I want to show that I’m valuable, I’ll work at all hours instead of what I’d do at an office: have a schedule. I need to work out to stay fit and work at specific hours. If I were going into an office, I’d be up at 6, working out by 6:30, and in the office by 8. That’s harder to replicate remotely (since there’s no gym next to my office), but it’s something I have to do to stay emotionally, mentally, and physically healthy. This is where coworking spaces near a gym could help, but coworking spaces have their own problems (that’s for another blog post).
What do you do to make remote work work for you?
Post updated to reflect the original recommender of the Music to Code By composition.