The COVID-19 virus has taken the world by storm. While many other places shut down for good, as software developers, only our offices have closed down but our work continues from home.
This change of environment can quite greatly change the way we go about our work, be it the way we communicate with our team, how we manage our schedule, and how we can remain productive during the day.
Remote work isn’t a new practice at all and there are already proven tips and methods you can apply to be as effective, if not, more effective than you were working in the office.
Staying Productive
1. Stick to your Routine
One of the greatest tools to boost productivity is routine. Having to come in and out of the office at specific times during the day forced us to create a work routine and this makes our brains accustomed to the times it goes into ‘work mode’.
Just because you’re working at home doesn’t mean you should kick back completely, or you’ll fall out of the game quickly. Wake up the same time you would as if you had to commute to the office. Follow your usual morning routine, and get into your homemade workstation when you would usually hit the desk at the office.
By doing so, your brain won’t feel too much difference in the work day and you can stay just as productive. Eat lunch when you normally would, don’t get sidetracked by other tasks and distractions you wouldn’t have in the office, and relax when it’s your time to leave the office as well as overworking yourself can also be damaging to your productivity.
2. Keep distractions to a minimum
No matter how chill your workplace may be, you have to admit there’s a pressure to keep to your work as your colleagues can see what you’re doing. At home, this pressure doesn’t exist, but don’t let that tempt you to open up Instagram or Steam.
Social Media and Gaming are major productivity killers if you mix them into your work hours. Don’t let the lack of that pressure get to you. You must hold yourself accountable to the work assigned to you because believe me, if you’re finishing those tickets at a much slower pace than you did in the office, that will not go unnoticed.
You may also not be living alone. Perhaps you’re living with family, children, friends, whoever it may be. Programming can be a burst of productivity, and it’s easy to get into the flow and start coding effectively for hours, but it’s just as easy to break it. Being around doesn’t always mean being available.
Establish boundaries with your peers that will allow you to work effectively without interruption. Some have tried using a red-light, green-light system where the developer has these lights outside his door. A red-light signal means he doesn’t want to be interrupted.
Other developers use the pomodoro technique to their advantage (more on this later) where they would insist that they be left interrupted for the 25/50 minutes they are set to work, and mingle and chat with their friends/family during their rest periods.
3. Keep your workstation away from your bed
Your brain associates specific moods with certain places. In your bedroom, your brain is conditioned to rest and relax. If you set up your workstation in the same room as your bed, not only might you have a harder time staying productive, but you might find it harder to fall asleep at night.
I understand this might not be possible for everyone, such as those living in one-room apartments or house shares. But if it’s possible for you, keep it separate.
On another note, wherever you set it up, try to spend at least a few minutes everyday away from your workstation. Maybe go for a 15 minute walk outside if it’s safe, or chill in another room otherwise.
4. Prevent Burnout (Resting and the Pomodoro Technique)
Burnout is deadly to a software developer. It’s not as if we can simply push through the resistance all the time as trying to do so would result in less-than-optimal code. It’s especially dangerous when there’s a bed nearby, as well as that lack of pressure of not being in the office.
The best way to stop burnout is to avoid catching it in the first place. The best way to do this is to ensure you’re getting enough rest during the day. Being able to completely detach yourself from the mentally-intense world of code can do every so often can do wonders to increase how much you can achieve during the day.
A common technique people use is the Pomodoro Technique. Work for 25 minutes in complete focus on one particular task with no disruptions (not even taking a piss), then take a short break of 5 minutes. Rinse and repeat. One cycle of work and break is called a pomodoro. After every 4th pomodoro, you can take a long break of 20 minutes instead of 5.
There are variations of this which may suit different people. I personally find it more effective to do work periods of 50 minutes and rest periods of 10 minutes. This way, I don’t have to spend some mental energy remembering all the classes I was working on too often. Finally, instead of having a ‘long break’, I’d simply go for an hour-long lunch break halfway through the day.
In addition to managing your hours during the day, don’t neglect your sleep and nutrition. Lacking in either of these could result in lacking the energy required to go through the day. Programming is a mentally-demanding task, so keep your health in check and even exercise if you’re able to as keeping physically fit has benefits on your mental health too.
Communicating with your Team
1. Do you Daily Stand-ups
If you work in an agile team, chances are you’re in a squad that does daily stand-ups in the office. Don’t neglect this because you’re working from home. Stand-ups are now more important than ever now that communication with team members isn’t as easy.
You want to be able to stay updated with what the rest of your team is doing, and have an opportunity to express any problems or blockers that are impeding with your work.
If nobody else in your team is initiating these daily stand-ups, you should step up and be the one to initiate it. Not only will you bring these benefits to your team, but you will put yourself out there as a responsible figure to the rest of your colleagues even despite the epidemic.
2. Message the hell out of your teammates
In an office, you can simply standup and chat with your colleagues if you need them to clear anything up for you. Now while everyone’s working from home, you most likely have to go through Slack, Microsoft Teams or something of the sort. If you’re lucky, your teammates will be quick to reply. If not, well that’s on them, but it can be annoying.
That’s why you have to be extra strong in your communication with the team. Make sure that you acquire every detail you need to help you solve your problems. If there’s anything you need to discuss extensively, start a voice or video call with them. It’s easily a more dynamic medium of communication than simple chat.
3. Make your availability known
Imagine requiring something from a colleague to be able to continue your work. You send him a Slack, and he doesn’t get back to you for over an hour. All the while, you’re trying to figure out what the fuck he’s up to while he’s chilling there munching on his burger.
You definitely don’t want to be that guy. Your teammates are relying on you, and chances are, you’re also relying on them. If you’re going to be away for an extended period of time and there’s a chance they might need something from you, let them know you’ll be away and you’ll be back in x amount of time.
Other things you can do to maximise effectiveness
1. Use Self Control Apps
No, I’m not implying you’re a maniac. But like mentioned earlier, distractions are ever-present. It’s great to ignore them, but it’s even better to stop them coming in the first place.
Apps like StayFocusd, SelfControl, and Freedom can block any potentially distracting sites and notifications to help you stay focused on your work, and can even allow you to allocate some time to ‘waste’.
2. Get the Best Internet Connection you can
As software developers, internet connection is a big deal. Importing libraries, compiling our code, deploying, the network required for these operations we do plentifully during the average work day can often be taken for granted in the office which has optimal internet connection.
At home however, if your connection is less than ideal, all of these operations can take 4x as long which will greatly hinder what you can achieve during the day.
If you have the means to get it and the internet men aren’t all self-isolating yet, take the chance as soon as you can to get a proper network connection going in your house, especially if you believe you’ll be working from home for at least a couple months.
Conclusion
Suddenly working from home can be a big change, one among many brought by the COVID-19 apocalypse. Maybe you might be cool with it for the first week or two, but it can quickly become an obstacle if you’re not already well-prepared for it.
Follow the right steps and perhaps, you can make your home into an even more productive workplace than your actual workplace.