One of the major perks of software development is that under the right circumstances, many people are able to work remotely from anywhere around the world, even in the comforts of their own homes (also known as work-from-home or abbreviated as WFH)! Especially now that it’s widely acceptable for software and IT companies to switch to this kind of work culture due to recent current events, this could be extremely exciting for those who have never experienced this new way of working!
- No more sitting in rush hour traffic. Ahh so glorious… 😌 as our minds drift away now that this foretold dream finally becomes reality…
- Wearing casual attire almost exclusively, and only getting dressed up for important video calls 😃
- Unlimited access to see and interact with your family, prepare your favorite snack from your kitchen, or even take power naps in your own comfy, warm bed! 😆
Sounds nice, right? However, with freedom comes with extra responsibilities, especially if you still want to grow your career in the long term. Now, imagine what steps are needed to:
- separate the mental and physical boundaries between work life and personal life,
- minimize distractions from family, roommates or even other comforts (e.g., bed/TV/snacks) within arms reach, and
- ultimately, maintain the best level of productivity as you can as if you were still working in the office.
While there isn’t just a single answer to achieve these productivity goals, I can offer a few tips and ideas that would be a great start! In the next few sections, I’ll share my thoughts on setting up a comfortable but productive home-office environment, being mindful of ergonomics, and utilizing software tools and applications to ease communication with your team.
A Productive Home-Office Environment
I’m sure for most people this is probably a no-brainer as a necessary first step. Yes, of course, having an actual home-office would definitely allow you to mimic your real office environment. But what makes an office, an actual office, where you feel the most productive working at day after day?
Minimally, an office just needs a desk, a chair, and some sort of computer equipment or laptop. Sure, this sounds easy enough. This seems like a nice upgrade from the oh-so-comfy couch or the mostly-vacant-and-rarely-used dining table. Yup haha, I know you tried them at first, too! However, there are plenty of other factors that can help make that home-office feel much better and would set you up for success in achieving your productivity goals.
If possible, determine the main factors about your ideal office environment and try your best to accommodate them in your new remote office.
- For example, what kind of lighting works best for you and your eyes? Perhaps you need bright white lights to keep you from being drowsy throughout the day or maybe instead, you prefer to have as much natural sunlight to match your internal circadian rhythm.
- It could be that you require absolute, complete silence and need a more private area with doors that you can close to separate you from noisy roommates or family members, especially now that it’s summertime for those with rambunctious kids. 😓
- If you find yourself taking too many long breaks in certain areas of your home to watch some TV, eat a few snacks, or take a nap, you could try setting your office up to be further away (or make you face away) from all of those areas. This could help you minimize those extra urges when you inevitably take breaks for some necessary caffeinated beverage to keep pushing forward or to the loo to go… well… 💩 haha.
After setting up your environment, you’ll need the right office equipment to keep your body in tip-top form as you crank out features, bug fixes, and tests day after day, leading to my next recommendation: ergonomics.
If you have ever worked on a laptop for an extended period of time, you may start feeling pain and tightness in your joints and muscles, especially if you don’t take breaks often throughout the day. While it is convenient that a keyboard, touchpad, and screen are all compacted into a single electronic device for everyday use, the compact nature is just not well-suited for extended use. While a simple solution to this is to use one or more external monitors, an external keyboard, and a computer mouse, there are a few more lesser-known optimizations, also known as ergonomics, that could help you maintain better posture while reducing strain, fatigue, and overuse of muscles when working.
First, I would follow these simple steps to allow your legs, arms, shoulders, and neck to naturally rest in a neutral position to eliminate any unnecessary strain. You may need additional items to allow for these adjustments to match your body, such as an ergonomic office chair, a footrest, and a preferred keyboard and mice.
- Adjust your seat height so you can reach your keyboard and mouse without feeling the need to hold your shoulder up or your shoulder blades back. You should be able to drop your arms by your side and bend at the elbow, which ideally makes a 90-degree angle. Your arms would likely be parallel with the floor as well.
- At this point, your feet should be flat on the floor with an approximately 90-degree angle at your knees. You may need a footrest if your feet don’t reach the floor. (my recommendation below)
- With you seated as far back in the chair where your back rests on the backrest naturally, adjust your seat forward or back such that there are 1-2 inches of space between the edge of the chair and your inner knee. This allows for a nice balance of blood circulation while maximizing seat surface area.
- Adjust your computer monitor’(s) height such that the top matches your direct line-of-sight, horizontal to the floor. You may need to use a monitor riser, one or more books, or other flat objects to help raise the monitor(s) to the appropriate height.
- Move the computer monitor(s) far enough away from you (around 16-24 inches) such that you can see all corners just by shifting your eyes and with minimal head movement.
- Resting on the back of the chair, along with steps 1-5 above, your body should feel comfortably “stacked” on top of itself. Your head should be directly above your shoulders, which should line up directly above your hips.
There are plenty more things to go further with improving your ergonomics, but I believe this will take you 80% of the way for 20% of the cost and effort, which comes from the Pareto principle.
For those who are curious, this is my personal setup that I have been using for the past year and absolutely love!
A list of the items shown in my personal setup:
- 27-inch Apple Thunderbolt Display with an Apple Thunderbolt 3 (USB-C) to Thunderbolt 2 Adapter
- Kinesis Advantage2 Keyboard
- Apple Magic Trackpad
- Kensington Solemate Ergonomic Footrest
- Ikea Jansjo LED Work lamp
- Generic dining table (yup, I made it work for me!)
- Generic mesh-backing ergonomic computer chair with lumbar support
- Generic monitor riser stand (typically are 4 inches in height)
- Generic extra-large desk mat (for keyboard and mouse to both rest on)
- Generic keyboard-length wrist cushion
Using Software Tools and Applications
Since working remotely forces you to be physically apart from your coworkers and colleagues, software tools and applications can help retain the openness of interactions when working with others, asking for help, and holding each other accountable on day-to-day tasks. This includes:
- project management tools (e.g., Jira, Trello),
- video conference applications (e.g., Zoom, Webex, Google Meet),
- screen capture tools (e.g., Apple default tools, Microsoft Snipping Tool), and
- all-in-one chat, video calling, and collaboration tools (e.g, Slack, Microsoft Teams).
If your team isn’t already using a distributed version control system like Git, I’d recommend it! You can leverage popular Git repository hosting providers (Azure DevOps, Bitbucket, GitHub, GitLab) with automated continuous integration platforms (CircleCi, Jenkins, TravisCI) or on demand code review by senior-level developers and engineers (PullRequest - yup, that’s us!).
- Setting up a home-office and ergonomics establishes a work environment that allows you to focus and achieve the best level of productivity while working remotely. With the addition of software tools and applications to stay connected with your team, you might even consider permanently remote working going forward! 😉