Remote working for software developers
Is remote working making you a more effective developer? A happier developer? How can you improve?
Working remotely is one of the biggest perks you can get as a software developer.
I’ve been working remotely for the past 10 years, and I know lots of other remote workers. I can accurately describe the advantages and disadvantages of remote working, and I have a few tips for you.
I know not everyone likes remote working, and remote working is definitely not for everyone. It’s great for me because as an introvert, working with other people is super mental draining and it’s exhausting, especially with a job like software engineering where you already need to spend a lot of mental energy and you need to be super focused. Maybe the same goes for you.
Is remote working making you a more productive developer? This is a good question. My opinion is yes, but as it goes with opinions, everyone has theirs and YMMV (your mileage might vary).
Advantages
Being a remote developer gives you many advantages.
Work from home
You can work from your own home. What’s better than this?
When you are hungry, you just go to the kitchen and make a toast. When you want coffee, you just go and make one, and spill it.
You are not in a cage. You can also go to the coffee shop and sip a coffee there, while you listen to your favorite developer’s podcast, or you read through all the articles you saved on Pocket.
You can work from home, because you might not want to. Maybe you have other people in the house and that’s a problem if you don’t have a clearly well defined and separate space where you do the work.
Manage your time
Need a pause? Take the dog, close the computer and head out for a walk. That’s one of the best perks of remote working.
One that can turn around and bite you, so keep it in mind - you are a professional, manage your time professionally.
Work when you are more productive
Not feeling productive? No need to stress out or “fake it”. Just spend a non-productive afternoon. Read something without having the boss yell at you. You’ll work later or tomorrow you’ll make up for the hours you lost today.
If you feel like working in the evening is best for your productivity, then do it. You can take a nap in the afternoon and wake up super energized to tackle that new feature.
Break the 9 to 5
9-to-5 is a convention that got its origins in the industrial age and was forced upon us. no one is ever going to be productive for 8 hours straight. You are much better off working 3 hours in the morning, take a pause, do 2 very focused hours in the afternoon and then catch up or learn something new.
People don’t really work 8 hours in a 9-5 job. You show up, get a coffee, work a little, chit chat, work some more, time for another coffee, then work a little, then meeting, then planning, then lunch, then slowly catch up for the afternoon, work a little, time to go. Maybe you work 4 hours on a good day. I always felt WAY much more productive remotely and this is why I love it. I do the work, cut all the bullshit, get back to my life. At the office, I felt the obligation to stay there even if I was mentally done, and not be able to do any meaningful work. In part, because of my introvert nature, I get mentally drained by staying with other people, and this is something very common.
Socialize with who you want
You don’t need to socialize with your colleagues. I once worked in an environment where I didn’t really like the people I had to work with, but there was no way to overcome that situation. It was just for one month, so I just sucked it up, but no way I’d do that for more than that time. Working remotely, you can choose how much you want to be involved with colleagues and just do the work, and interact with their work.
You can live anywhere
You can live anywhere, and I mean anywhere. If your company has a retreat, all you need to do is to be in a place at a reasonable amount of time from an airport, but maybe you can also get away living in a remote place in Alaska and have a 2-3 days snowmobile trip to the airport.
Note: companies might have some specific countries where they hire from. They can’t hire from anywhere. They can contract from almost anywhere, but that’s a different thing, so take my advice with caution before moving to that shiny little island
Technically you could work from Antarctica, although I’m not sure it’s possible to live there as a citizen.
This means that anywhere else on the planet is fine. As long as you have a good, reliable Internet connection.
This is essential.
I’ve worked from my van in remote places, where my 4G phone worked better than at my home.
The Internet is what allows you to work remotely, and it should be powerful and fast enough to do the work you’re supposed to do.
You don’t have to live in a city
As office jobs and factories need a local workforce, over time humanity has centralized itself into cities.
Some people that live in cities can’t even consider living away from a city, but someone that was born in a rural zone either wants to move into a city or stay away from that as much as possible.
I know because I was born in a rural place, and I moved to the big city to graduate in Computer Engineering. I was just 1-hour train commute but I lived in the city for the whole week and came back home at the weekends.
After I finished my university, I never looked back and I moved to my hometown, started a company of one and started contracting for companies all around the world thanks to the Internet.
I know lots of people that finished the university and never came back home. They liked their life in the city.
Lots of people in my circle work from cities. They also like to hop from city to city, if they are into the “digital nomad” lifestyle.
I like rural places, and I like living on/near the mountains. I do lots of Nordic ski in the winter and living ~1h from the slopes makes it very easy to do it twice a week or more. And in the summers I can escape the heat.
What I want to stress out is that you can work anywhere, being it a big city, small city, little town, or a remote place in Lapland. I know people work from boats in the middle of the ocean, too.
Dress as you like
You can work dressed as comfortably as you want (more in dressing in the tips)
Eat as you like
You’re at home! Or where you want! You have a much better choice of picking the right meals for you, rather than being constrained by the things you can eat around your office neighborhood.
You can eat much better quality food, and I regularly eat food I grew up in the garden, especially during the summer. That makes a ton of difference in the nutrients you get and the bad stuff you don’t get to eat, but this is another story.
Have the right amount of sleep
You can take a power nap in the middle of the afternoon. Ever felt the sleepy sensation after lunch? Go to sleep and wake up super energized instead of spending time doing meaningless stuff just to get by and stress out you’re not productive enough.
You can go to bed when you “feel like”. If you like to work in the evenings, definitely work in the evenings.
My schedule is more oriented towards waking up early, like 6 AM, and start working. The feeling of having done a lot of work already at 8 AM is very cool, and I feel like I have all the rest of the day to perform just a few things - much better than starting to work at 9.30AM and noon is almost there.
Easier to get “in the zone”
What is the zone? Even if you don’t know what that is, you surely ran into it at some point.
That’s when you do something so deeply focused that everything else slips away, time goes by unnoticed, at some point, you realize it’s dark and you missed dinner time.
That’s the zone. It’s where developers are the most effective, where you write your best code, where things flow from your mind without having to crave for them.
As I am writing this article, I’m in the zone. That’s the only way I can crank out 2000 words in a couple hours, and put them in the right place, with the right meaning, and without being boring (I hope).
At times I sit down and immediately realize there’s no way I can do a good job because getting in the zone is impossible.
In the office, this means coworkers coming and going, meetings, people chatting, the water cooler, and a lot more distractions. It might also mean having to use a computer with an OS that you don’t like, or too slow.
At home, it’s easier to remove that kind of distractions. Turn off slack, disable notifications, close the email client and you can really be focused.
Mind you: at home, there are other problems, like other people being in the house, or easier access to distractions. More on this in the tips later on.
Disadvantages
Working remotely is not all fun all day long. There are cons as well, and you need to be aware of them.
People might assume you are doing nothing
Communicate, communicate, communicate. As developers, we sometimes have an easy job because our commits, issue comments and pull requests are talking for us.
But what about that pesky bug that took 4 hours to find out, and it was a typo? If you’re in Bali, people might think you spent all the afternoon at the beach. This is why communication is super important and teams use all those tools to exchange information.
Err on the side of communicating too much instead of communicating too little.
No coworkers social circle
Of course, lacking real contact, you don’t create a sense of community like when working together with other people. That’s not possible.
Google Hangouts, Slack and all those tools can’t replace getting to see and talk to people in real life. Most companies that work remotely create week-long retreats where you get to work and have fun with coworkers.
These events help build a lot of trust and they can be great fun as well, but you need to create your own circle outside of work, based on other interests or even a circle of programmers from your own place.
I think this is what programmers conferences are for: you can get to know other people with your same interests. Another example is Indie Hackers or digital nomads meeting up to discuss and know each other.
Less career growth opportunities in some environments
If the company you work for is 100% remote, with no office, then this is not a problem.
But if the company has an office, and a few remote employees, being remote might mean you are out of some kind of conversations.
People think you get smaller chances of growing in the career (going to more advanced positions) this might be true if not everyone is working remotely.
Might not be true in every situation, but I keep reading about this. I certainly felt awkward in some contractor positions where I was the only person working remotely. Some conversations happen somewhere else and people forget to give the full context (understandably).
Tips for effective remote working
- Dress properly: don’t stay in your pyjamas all day long. How you are dressed gives your mind a clear signal. I feel much more serious when I work with my newest pair of Jeans (my most elegant clothes LOL). I don’t know the science behind this, but it’s just true (for me, at least).
- Have your own office: definitely try to find a room in your house that you can call office or studio. With a door. Don’t do anything in there other than work. This is your commute. When you go in there, that’s the office and there you do work. When you’re done for the day, close the door and don’t open it again.
- Close the office door: if there are other people in the house, close the office door when you are trying to focus. That’s a clear signal that you are working and tell them that when they see the door closed, for no reason whatsoever they should open the door. Leave the door open when you are not that much focused.
- Wake up before everyone else: I like to wake up at 6 AM. With nothing going on in the house, I realized I do my best work. At 8 AM when my SO wakes up, I already did a lot of work.
- Block distractions: as much as I try to stay focused, the newspaper with those interesting news is one click away. Reddit, HN, name it: you need to force-block them. I use an app called SelfControl (https://selfcontrolapp.com/), there are many similar, also for phones.
- Have a ritual: when you start working, I enter my dedicated space, put on my headphones and start my favorite quite music in the morning, or more active (with no words!) electronic tunes. That’s my setting, and it tells “time to start”. When I finish work, I just go and do some physical activity in the garden, or go walk the dog. That signals the body and mind “shut off”
If you have a team:
- Do chit-chat with coworkers: always talking about work is not going to be good for the long-term productivity. Chit chat, asking people what they did at the weekend on Mondays, is always a great way to build up relationships and the simple act of being interested in other people is just kind. Don’t let the conversation always just revolve around the company topics
- Cut off slack: that said, know when to shut off Slack, or any other way to communicate (like email) and just focus on the work. So many hours of productivity can be lost just by reading other people conversations.
- Weekly hangouts video chats: a quick, 15 minutes of video chat (depending on the team size) is a great way to end a week. Everyone says what they did, and tells the plan for Monday when they get back.
My best tip for working remotely is this: have a dog (or any pet you like). I doubled-down on this tip and I got 2 dogs. They need to make regular exercise and daily walks, so they kind of force you to move away from that screen and go outside, run, get dirty. Even when it’s raining, or snowing.
If you already have a pet, that’s a great perk of remote work: you can bring your pet to work every day!
They are also a great company while working. They sleep under the desk and I’ve never ever felt lonely with them by my side.
It’s been proven that animals can lower the stress levels and provide for a better work-life balance. I found beneficial having to get up from the chair every so often to open the door, give some water, a treat, or just take a walk. Helps you move away from the desk, and reason about any problem or just take a higher-view of what you’re doing.
You probably realized you get your best ideas in the shower, where the mind is healing: the same happens when walking the dog.
Where to find a remote job
There are lots of places where companies that hire remotely post their job ads.
Three of the most popular ones are:
Remote working is hard to start with. If you never worked remotely, a company might be hesitant to hire you because you have no idea yet how remote working will be like, if you will enjoy it or you’ll quit because you are not a good fit.
This is why many jobs require some experience remote working.
This is common in many industries. When I was 16 I had a hard time finding a summer job as a dishwasher in restaurants because I never worked as a dishwasher before.
So how can you actually start working remotely if no one will hire a person that never worked remotely?
People recommend taking a job at a local company, and gradually ask to work 1 or 2 days from home. In this way, you’ll be able to prove experience.
Another way is by freelancing. If you’ve ever worked as a freelancer, that’s always remote, so you can count that as experience, too.
But things are not set in stone, and you can just apply to remote job offers even without experience.
Good remote jobs get a ton of applicants. Chances are much lower in a remote job application than when you apply to a local company, because instead of competing with the developers living in the area, now you compete with developers from all around the world.
That said, there’s a remote job somewhere waiting for your application. You just need to try!
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025