Lessons Learned from Working Remotely as a Software Developer

I have worked as a remote Software Developer for many years across many employers. At one job I worked 100% remote for over four years. Every job is unique in the way remote workers get integrated, but there are a few commonalities at each. The following is a list of some of the good and bad aspects of being a 100% remote Software Developer that I’ve encountered. I’ll spend less time on the good as they are a little more obvious.

The Good

No Commute

I’ve had some commutes cost me two hours a day in a car. That’s two additional hours I could be spending with my family, working on personal pursuits or working to meet a deadline I need to hit. Most remote developers I know work more when they are remote than when they have a commute just because they have more time. And don’t get me started on mandatory hour lunches at some of the companies I’ve worked at. Add that to a long commute and we are talking up to three hours a day that could be spent better. Remote workers just have more of the valuable resource called time, to devote to projects and personal career development. That makes for happier employees.

Work your own hours

This one depends on your job. Though, if a job is flexible enough to have remote workers they are usually flexible on hours. Typically you only need to be available during a small window for meetings and outside of that just get your work done. Which is great if you are a night owl and do of some of your better work after 10pm like me.

Less Interruptions

Out of sight, out of mind. You don’t have people stopping by your desk for small talk. Most developers are easily more productive from their remote office.

Less meetings

As a remote worker you’ll be included in less and less meetings the longer you work at a company. The benefit of this is less distractions and more actual work getting done.

The Bad

Limited Opportunities for Promotion

I’ve worked on development teams that were all remote and on teams that had a mix of on-site and remote workers. Clearly, if you want a chance to move up in the company being on an all remote team won’t hurt that. A mixed team makes it much harder. It’s just human nature to favor people that you see more often and talk to more often. So, outside of you being just remarkably better than the rest of the developers on the team or accepting the invitation to move to the city your office lives in (This will happen if you work remotely long enough on a mixed team) you don’t have much chance to move up.

Not included in project planning enough

I’m not a fan of tons of meetings all day. They obviously kill any flow a developer might get into. But, there is a minimum amount of meetings that developers need to be included in. At the beginning of most jobs I would actually get included in quite a few of the meetings. A year or two later, the meeting invites came far less often.

Not plugged in to the day to day

This one isn’t nearly as big of a deal. But, there is some value in knowing the day to day happenings at work. I would often hear about things that were “common knowledge” at meetings and had no clue what my co-workers were talking about. I did have a few developers in the office that would message me and fill me in, but I didn’t want to bother them all day as they had plenty enough on their plates.

Non-Business hours of availability (if company is different time zone)

One of my employers was located in California which was a 3 hour difference than my home office located in FL. Often I would get a call, bugs reported, etc starting around 3 -5 pm PST / 6 – 8 pm EST right when I was sitting down for dinner. This one isn’t that big of a deal because I knew what I signed up for, but still something that was annoying on occasion.

Guilt

Seriously. I’ve heard this “Enjoying your cocktail at the pool” joke 25 times now. I get it. You think my life is easy and I’m not working hard. Turns out I’m working much harder than you, because I constantly have to prove to the on-site team that I’m not just lounging around all day.

What could be done better / Suggestions

Involve remote workers more

If you are in a leadership position and you have full-time remote workers working under you, reach out to them and check in. They might be just fine and even annoyed if you check in too often. But, everyone usually appreciates it regardless of whether or not it’s useful. Also, it’s just a good idea to keep a gauge on how they are doing so you can resolve any issues before they become big. Plus, keep them up to date with any items they might not know, due to not being in the office, so they can follow along in meetings. A developer chat room goes along way to feeling connected as well, so try to make sure something like HipChat is setup.

More recognition for remote workers

I worked on a team that had multiple remote workers and multiple on-site workers and the on-site workers clearly got more appreciation and recognition. This one is tough, but if you are in a leadership position try to jump on to whatever messaging platform your company uses and recognize the remote workers too. It’s not fun to retrain someone on a system that could take months to fully learn, so do what you can to retain talent.

Travel is cool, just don’t waste my time

I get that you want to bond and see remote workers on occasion, but try to make sure there is a reason. Project kickoffs or annual company parties are good ways to connect and bond. But, if you are just bringing out a remote working to meet some quarterly requirement, you are doing it wrong. You’ll have developers sitting in cubicles and wondering why they are there and not doing anything differently than they would at home.