For the last three months, I worked primarily in Switzerland for a United States-based team and company. My team members were in Madison, Wisconsin. I learned a lot about how to be productive, work effectively with a very remote team and use the tools available to ensure success.

Being Productive

Without others around me during much of my work day I found that I had to motivate myself. This usually isn’t a problem for me. I just like to keep busy so keeping busy with work was relatively easy. I found that I was very productive during the morning hours when everyone was asleep in the United States. I could sit down, turn on some tunes and churn out some well-thought-out code with almost no distraction. Another bonus of working when everyone was sleeping was that my social media streams were relatively quiet. I didn’t realize how much of a distraction that was for me until it was totally uninteresting to go on Twitter or Facebook because no one was active. That thirty seconds I scroll through my Twitter feed is more detrimental than I had once thought.

I did have days where I had to convince myself to work. I was in a new country and continent so the biggest distraction for me was the desire to go out and explore. I wanted to try my hand at French and take in some of the Swiss culture. To help achieve both desired outcomes, I would go to the library or a coffee shop. I could at least listen in on conversations or try and order a coffee. Since I had no meetings or coworkers that required my attention, I could easily sneak out for walks when I was getting antsy and explore the neighborhoods around our apartment.

Working with Others

Being seven time zones away can make it very difficult to communicate effectively with a team. For the first month or so I was working independently on a research project. We met once a week to go over progress of the prototype. This was very easy for me to accommodate. Our meeting was in the early afternoon in Switzerland and the early morning in the US so all interested parties could attend without too much strife. After my employer decided to take my project from prototype to product, I was given a team.

Working with a team required a bit more planning. We were running agile scrums and each day had a stand-up meeting that I needed to attend. My employer scheduled these meetings at a relatively convenient time in the evening. It was 8:30 PM in Switzerland which usually allowed me to easily attend after wrapping up dinner. I found that I would often have to work with coworkers before or after the meeting as they would have questions about their work for the day or what I had encountered or accomplished while they were asleep. I had to adjust the amount of time I spent working in the mornings to accommodate this time spent. Since I was only working part-time and had to stay below 30 hours a week I had to make sure that I didn’t spend too much time in the mornings only to have to spend an unexpected amount of time in the evenings.

Occasionally there were times the team felt it would have been nice to be able to get a hold of me but overall the project moved along smoothly. These times were early on when they were still learning the code base. I was lucky to have worked with this team at a previous company so I had a feel for everyone’s working style. Preventing build breaks and thoroughly testing code became very important. Without the ability to sit beside someone else or jump on a screen share meant that someone may not be able to work until the next day. Admittedly, I can be bad about this. I tend to move too fast and not thoroughly test what I’ve done. I think I improved this skill a bit while working on this project. My coworkers made sure to berate me if I did cause any problems.

Tools for Working Remote

Working remote in tech is not a big deal anymore. We work remote all the time. The last two companies I worked for I had coworkers and customers located all over the place. The most important tools we employed for our team were Slack, Skype, GoToMeeting, TFS, Team City, YouTrack and a corporate VPN.

Slack was a huge asset to our team. I could drop messages during the morning whenever I would encounter an issue or had a question and have them respond when they arrived to work. Slack is also great for useless banter which is important for team moral. We have the Giphy plugin and it makes everything more entertaining. It’s much easier to work with people when you have a bit of fun together.

Skype and GoToMeeting were used for voice calls and demos with screen sharing. Both worked fine abroad. One time I even took our stand-up call from public WiFi in a crowded town square in Nice, France. Much better than any Skype for Business call I’ve ever made.

TFS we used to share code. We are on 2010 which is kind of annoying when you have spotty internet because it doesn’t support local workspaces or Git. Jumping between offline and online solutions never posed a huge problem but I had to get a workflow down to ensure that I wasn’t completely hosed when I didn’t have internet. Team City and YouTrack do their job for builds and work item management. Both worked just fine abroad.

Corporate VPNs tend to be tricky even when you aren’t that remote but I never had a problem. The Cisco software was a hassle to setup but once it was done I never had a problem connecting. Occasionally WiFi would be spotty and the VPN would drop but I could typically just reconnect without a problem.

Retrospective

I loved having the flexibility to work remotely. I was productive and we went from inception to product in a little over three months. Communicating with teammates was a bit tricky at times but once we developed a plan and were more cognizant of the time zone difference it became quite easy to work effectively as a team.