We live in an increasingly global and simultaneously connected/disconnected world. We are connected by swarms of technology whether it’s computers, mobile phones, social media, or cars. Every day our technology improves, continues to hook into our lives, and most of the time improves our quality of life. No longer are knowledge workers forced to trek vast distances to sit at an office desk doing what they could be doing anywhere else. That’s why we’re focusing today on how to work from home successfully as a software developer.
Software developers are in the unique position of being able to perform their job from nearly anywhere on the planet. Yes, electricity is a requirement, and a network connection is considered optimal, but both are nearly ubiquitous in modern areas of the world. Consider the flexibility this affords you as an employee or business owner. Where others need to travel potentially vast distances to be physically present to perform their duties, software developers can instead work from the comfort of their homes or from wherever they’re traveling.
Some major working from home benefits are less wear and tear on your vehicle, less money spent on gas, less paid time off used, the ability to work even while sick, less office distractions, and being able to personalize your office space at home. These are obviously just a sample of benefits, but you get the point.
But it’s not all is sunshine and rainbows in the world of generous work from home policies. Many people don’t function well in isolation or when disconnected from their main shared office space. In addition to potentially lessened productivity, the technical, logistical, and cultural shifts can be overwhelming for many businesses and teams. People need to learn new tools, new habits, and be forced into a collaboration mindset.
Good news. This article provides some helpful advice to maintaining your sanity while learning how to work from home. Let’s go.
Why Work From Home?
You might be wondering to yourself, “Why should I even work from home? I have a perfectly good office desk that I can use.” Plus, maybe your office has free snacks, free coffee, and is near your favorite lunch spot. And we would never suggest you need to give all that up. Instead, we are offering advice to those who would like the option of working from home should they need to use it.
Whether you or your family is sick, the office is too far away, or you need to be home for a package arrival, having the option doesn’t hurt. Who knows, you might even like it so much that you’ll request to work more from home than away from it!
As a software developer, there are more reasons to work from home than just the convenience and flexibility it affords you. Here’s why.
Complex problems require well-thought solutions. You can’t be expected to solve big problems if you’re never given the ability to think about them in any great detail. With the proliferation of open workspaces now consuming nearly every modern office, it’s more important than ever to find a space in which you can comfortably and quietly think and brainstorm. Companies are starting to provide phone booth sized meeting rooms for developers and their immediate team members to have concentration groups, but we feel these are stop gaps to a larger problem. When you work from home, you will be able to isolate yourself into periods of deep thought. Only those with which you choose to communicate will have the ability.
The vast majority of people see driving as a nuisance. No offense to anyone out there that loves operating their vehicles. But we’re convinced no one actually likes the morning and afternoon rush hour commutes. Feelings aside, there are some objective reasons to dislike stressful commutes. First, there is more wear and tear on your vehicle in addition to higher risks and insurance premiums. Second, more driving equals more gas being used equals more money being spent on gas. Finally, studies have shown that mental health takes a hit when people are confronted with daily traffic.
We briefly touched on this above, but it’s important to state it again. “There’s no place like home” is a common quote that everyone can relate with. Even people who love traveling can understand what it means to finally come home and relax. The same is true when talking about our daily work lives. Unlike office spaces, you have the ability to arrange and customize everything about your home work space without having to upset coworkers, bosses, or facility managers. In addition, you’ll have your kitchen available to you at any moment for snacks and lunch as well as the ability to go on a quick power walk when you need to decompress.
Tooling is Improving
Working from home rarely works well when you are 100% isolation. You still have coworkers on which you rely (and they rely on you too). Traditionally, the only tool available to people working from home was a telephone, emails, and bad instant messenger applications. Technology has improved vastly to the point where many teams maintain open video chat groups for the duration of the work day in case anyone needs a face to face discussion with each other. Tools like Slack, Discord, and Teams make it even easier for teams to collaborate, share files, voice chat, and video chat in real time.
When working from home, it’s more important than ever to interact with others and engage in a team based development project. Yes, there are times when you may be working on your own projects (perhaps those that you’ve used to build up your GitHub portfolio), but those should be the exception rather than the rule. Regardless, these tips can apply to those smaller projects as well. Striving to settle on some personally good organizational habits and participating in a team norm building process will improve your and your team’s productivity (especially when your entire team is remote).
At a shared office location, people may tend to be more organized than at home for several reasons. First, people are often worried about being judged as messy or disorganized in an office. There’s plenty of opportunity for coworkers to poke fun or constantly comment on how crazy your desk looks. Second, offices put us into a mindset of work, rigor, and walls. When we’re at work, we’re there to work (most of us anyway). At home, we feel more relaxed and natural. This can allow our inner disorganized selves run amok.
The good news is that, like most problems in life, we are able to build tools and establish processes that suppress our inner demons and force us into habits of coordination and control regardless of how chaotic we are by default. Human vices can be difficult to overcome and knowing that we have the ability to automate away many of our habits is slightly comforting.
So let’s discuss a few ways you can keep and organized mindset while working from home.
First up is a free tool that starts off as an advanced list making application and ends up as a passable scrum and kanban tool. Your team may not use it for their project management, but you certainly can for your own personal tasks. Instead of lurching from hour to hour throughout the day figuring out what you need to do, you can use Trello to break down some of your more complex tasks into bite-sized chunks that you can finish throughout the day. This helps keep you motivated and on track to finishing what your team expects. And if you end up liking it, try to get your team hooked on it too! You can share boards, lists, and cards for ultimate collaboration.
Keep Tickets Updated
What good is using a tool like Trello or Jira if you’re not actively maintaining it? It’s one thing to take the time to break down your projects and stories into smaller tasks, but it’s another thing entirely to interact with and maintain those tasks. When working from home, you won’t have the ability to turn to your coworker and update them regarding something important. Instead, you’ll have to rely on technology and communication tools to do that for you. That’s why it’s important to update tickets assigned to you in Trello or Jira (or whatever project management tool your team uses) so that your team knows what you’re doing throughout the day.
Organize Your Workspace
This one applies to both physical and virtual workspaces. Homes are sometimes messy. We get to avoid the social pressures of the outside world because we consider homes to be our private spaces. If you are someone with a quiet home location from which you can set up your laptop or desktop computers for work purposes, make sure to keep it free of clutter. With your physical space in order, you should also make sure that your computer files, applications, and bookmarks are organized as well. Don’t let yourself get stuck in a mindset of “no one is looking, so I’ll just throw this over there for now.” Eventually that “over there” will become a pile of crazy.
Use Collaboration Tools
Software developers are only as productive as the tooling in their toolbox. We’re proficient with text editors, advanced compilers, network tracers, performance analyzers, debuggers, and many other complicated applications. But when it comes to collaboration and communication, software developers are notorious for ignoring the tools that make those much better to the detriment of ourselves and our teams.
But we can do better! If we can dream up complex solutions, make a computer do our bidding, and ultimately provide value to difficult customers, then we can certainly learn how to use collaboration tools to keep our teams updated. Our teams rely on us to solve problems, communicate any blockers that we have, and ask questions about things we don’t understand. If we can’t do that, then teams will struggle to achieve success, products will suffer, and ultimately users and customers will be unhappy.
Here are just some of the best tools to use to stay connected with your teams when working from home. You should realize that between chat, code share, and document share, you’ll have most (if not all) of your daily tool needs met. After initial adjustment periods, teams that use these tools appropriately and intelligently will see little to no productivity drop. Over time, team norms will shift into a more remote mode which should eventually boost productivity.
Applications like Slack, Discord, and Teams make it even easier for teams to collaborate, share files, voice chat, and video chat in real time. We’ve gone from phone and email to full-blown collaboration suites in the span of a few decades. There’s no excuse for missing important updates when your team established these types of applications for use, pushes everyone else to use them, and doesn’t use them as distracting general chat apps. Unfortunately, some of these have built in meme generators, and those often get abused by people who think it’s funny to spam fifteen animated gif files in a chat. Our advice: don’t be “that person.”
Invite everyone on your teams to your group. Set up channels dedicated to specific purposes. For example, “general” for the entire team, “developers” for in depth developer talk, and “releases” for discussion of release day items. Depending on the size of the company, there may be many general and developer channels that you’ll want to join to make sure you are still maintaining cross-team collaboration. Remember, your team is sometimes one of many in a large machine.
Live Code Sharing
While we’ve had the ability to share code using tools like Bitbucket and GitHub for about a decade now, these haven’t been real time collaboration features. You were required to create branches, commit, and push your changes to a remote repository before anyone could see what you were doing. Sure, you could have used screen sharing with something like WebEx, Skype, or Zoom. But you wouldn’t have the ability to interact in real time with the code at the same time as the presenter.
With extensions like Microsoft’s Visual Studio Live Share, now you and someone else can peer program remotely. Now working from home can be exactly like when you’re at the office sitting side by side with your coworker to solve a problem. Instead of being physically near each other, you can open a live share session with your favorite video conferencing software, and have a peer programming session as if you were in person.
Software developers maintain more than just code files. You’re also required to help with requirements analysis, design maintainable architectures, and write good technical documentation. Most of the time you’ll be accomplishing these tasks with other members of your team. Maybe you and two others are responsible for architecture design. If all of you are working from home, it would normally be a challenge to make sure everyone is on the same page. Both Microsoft and Google have answers to this type of issue with Office 365 and Google Docs. You and others of your team can edit text documents, spreadsheets, presentations, and diagrams all at the same time without losing a beat.
There’s a phrase that accurately describes the predicament faced by remote workers: “Out of sight, out of mind.” When you’re separated from your coworkers by large distances and only available via communication tools on your computer, it’s easy to forget that you belong to a team even if that team is spread out.
Just because you’re not sitting next to your team doesn’t mean you can ignore them. In fact, you may need to give them even more attention to make sure that blockers are resolved, solutions are understood, documentation is written, and releases go out on time. It’s much easier to misunderstand chat text than it is to misunderstand face to fact communication.
Think about why for a second. In face to face communication, you have verbal and physical communication occurring simultaneously through words and body language. Speech, facial expressions, body movements, and hand motions go a long way to getting a clear message across to recipients. Unfortunately, all of that is absent with chat text.
The good news is that there are ways to overcome these gaps. Read on to see how.
Open-Ended Video Conferencing
This is actually an idea that we read about on Twitter which worked for some of our partners. With the proliferation of broadband Internet these days (especially in large, tech-driven cities), it’s possible for your teams to open a video conferencing sessions using tools like Microsoft Teams, Skype, Zoom, and WebEx. You don’t need to be actively engaged in the video chat at all moments, but when someone does need you for some face to face discussion, they can just say something, and you’ll be immediately available. If you are camera shy, turn the camera away from you until you’re needed. An approach like this can bridge the remote gap that exists between coworkers and make you and your team feel like you’re sitting next to each other.
Monitor and Respond to Alerts
We have to be careful about discussing this one. There are a lot of opinions out there about when and how often one should check their communication notifications. Obviously every person is different because of their different team responsibilities and circumstances, but there are some general guidelines we can suggest. First, make sure you learn where to find the “do not disturb” options in whatever collaboration tools your team is using. Slack and Microsoft Teams allows you to mute notifications when you need to get into a deep thought mode. Second, establish a time of day when you will make a serious effort to go through emails. Maybe each morning or afternoon. Whatever works for you. Finally, make sure to set a regular cadence at which you will check instant message notifications. Your team relies on you for many things and it isn’t fair to leave them hanging for hours on end.
Don’t Go Dark
Let’s build on what was just suggested because it’s important to repeat. When you’re at a shared office, people can walk up to you and get your attention at any moment. This is obviously destructive to anyone who needs quiet time. But the opposite extreme is equally harmful. Presumably someone is bothering you for a reason (whether good or bad) that you might need to help with. If you’re remotely working from home, the only way someone can get your attention is through the previously mentioned collaboration tools. If you completely ignore the notifications for long periods of time, coworkers and other teams may be entirely blocked or significantly delayed. That’s why we stress for you to set up a regular cadence at which you will check notifications. Take time to deep think but also respect your coworkers.
Help Build a Remote Culture
Practicing all the best advice in the world around working from home won’t mean much if no one else on your team cares about it. We’ve seen a lot of teams fail to adopt remote work and work from home policies because people aren’t held accountable to the rules and thus people stop caring about the rules.
This leads to certain people working from home while others in the office act as if the remote workers don’t exist. Meetings start and end without remembering that people may need to join the video and audio conferences. Decisions are made without involving the remote employees. Blockers are thrown up without notification sent out to anyone except people who are in the physical shared office space.
Do yourself a favor and become the work from home evangelist for your team (and your entire company if you’re feeling ambitious). Research the pros and cons of remote work, document them in some way that is presentable, and share your findings with everyone else on your team. Try to work through any issues that are raised by the skeptical employees. And constantly remind people (in a nice way) to involve remote employees in all business dealings.
Speak to Leaders
Standard direction and confidence within a team comes from the top down. Management is responsible for setting company and team policies whether it’s how often someone gets paid to how much someone gets paid to what the work from home policy is. If your company or team doesn’t allow work from home, doesn’t trust work from home, or has a policy that no one respects, you would benefit from having a candid discussion with your technical leaders and managers. Come prepared with evidence of any claims you present about the benefits of working from home. Offer to help establish cultural standards around the company with training around new processes and tools. Become the standard-bearer!
After engaging with your leaders, you should encourage your immediate team peers and other teams to learn, understand, and execute on whatever standards and tools were established by company and team leadership. Help coworkers find the tools, teach them the basics of how to use them, and give positive feedback to those who are still skeptical of why the new tools are being pushed. We’ve had experience working in companies that began shifting to generous work from home policies where many employees complained about change, didn’t understand the need for the new tooling, and spread negative gossip as a result. Don’t encourage that type of behavior. Either ignore the negativity or counter it with productive evidence as to why the change will be positive for them and their teams.
Practice What You Preach
Of course, all of that advice is useless if you say one thing but do something else. If you’re going to take the step of proselytizing your love for remote work from home, then you’d do well to actually do what you say. Don’t just tell people you want to use Slack. Have it installed and actively use it with your team. Don’t just brag about how great video conferencing is. Set up a team, create some channels, and invite your coworkers to them. If you don’t, you’ll come across as fake and hypocritical, thus jeopardizing the very thing you’re trying to accomplish.
Healthy Work/Life Balance
Your health is the number one priority even if you think work is more important. After all, you won’t be able to work if your body and mind aren’t functioning properly. That’s why it’s so important to understand your limits and prevent physical and mental health deterioration before it occurs.
When working from home, it’s easy for the lines between your home life and your work life to become blurred to the point of non-recognition. One day you’re working a few minutes overtime and talking to your family about problems that you solved, and the next day you’re going late into the night fixing issues that can wait until tomorrow just because your work space is only a few steps away from your bed.
Don’t Work After Hours
The 8-hour work day (40-hour work week) has a lot of history behind it and was settled on for good reasons. Studies have shown that there are multiple reasons for potentially major productivity drop offs to occur after working 8 hours in a single day. In fact, some narrow experiences are showing that cutting work schedules down to 4-day weeks can boost productivity even more. What does this mean for you as a work from home employee? Stick to your normal work schedule. Don’t push yourself to work large amounts of overtime just because your office is conveniently located in your home. This helps you prevent burnout and keeps you fresh for those times during the work day when you need to be 100%.
Don’t Mix Business and Pleasure
Home life can sometimes creep into work life even if your work is physically separate at an office miles away from your home. So you can imagine what is possible if your home and office are literally the same building. You should first find a place to physically isolate yourself in the house. If it has to be a closet or a bathroom, so be it. Obviously you want to be comfortable, but make sure that you’re not sitting in the middle of your kitchen or living room where your entire family can bother you at any moment. Help your family understand that you’re still working even if you are at home. Likewise, work with your coworkers and leadership to help them understand if you’ll need to take care of anything at home during certain parts of the day. Communication is key.
Distractions are everywhere. Motivation is tough to maintain at times. Instead of only competing with our inner monologue, doubts, and fears, we are now flooded with external reminders from computers, phones, tablets, and all the software therein. When our phone volume is turned up, we constantly hear the little chime indicating new text messages, new pictures, new notifications. It’s endless.
For those of you that aren’t the disciplined type, policing yourself and holding yourself accountable while working from home can be a challenge. It’s much easier to walk away from your work in the comfort of your home than the space shared by you and your coworkers.
Phone light up? No problem, just check it quickly. Dog barking outside? Hmm, let’s go take a look. Your favorite sport is playing in the middle of the day? It won’t hurt to watch just a bit. These are the things that we listen to at home but would most likely ignore in the office.
Discuss With Your Family
Work is work whether that work takes place in your home or in a downtown office. If your spouse stays at home to take care of the house or your kids, discuss the times at which you will be available and when you will need uninterrupted periods of concentration. These “distraction free” periods need to extend to the times that you leave your work space to use the restroom or get something to eat. Just because you’ve left your isolation chamber doesn’t mean your family should feel free to pounce on you. The adjustment period might be rough at first, but over time your family will get the hang of it.
Physically Isolate Yourself
We’ve mentioned this a few times in this guide, but it’s worth repeating ad nauseam. Find somewhere in your house or apartment that is quiet, out of the way, and separated from any other people living in the house. Imagine if you’re working at your kitchen table. Usually that’s the center of your house, so your family is going to be in and out of there all day. Sounds and distractions will flow like water. Avoid all of that by finding a side room or even a closet/bathroom if need be. Depending on your situation, you’ll need to carefully balance comfort with separation. The key is to be out of the way of foot traffic and reduce the amount of noise.
Block Social Media and Entertainment
It’s easy to get distracted with all the constant notifications buzzing on your computers and mobile devices. Every device seems to blink incessantly full of messages from SMS, Twitter, Facebook, and elsewhere. When you’re at a shared office space with the rest of your coworkers, you might feel inclined to ignore these messages for fear of looking like you aren’t doing any work. But at home, all bets are off. There’s no one to judge you and your notification buzzer. Instead, you can feel free to check and interact all day. There’s just one problem with that. It’s a huge distraction! Software developers typically need long periods of time in which they can think and solve problems without any interruptions. Do yourself a favor and either leave the phone elsewhere or mute audio notifications during business hours.