A day in the life of a remote worker
I'm a remote employee: I work for a company based in the UK, but I have the flexibility to work from anywhere in the world as long as I overlap with my British colleagues. Over the last 2 years I've been based in the UK, in Barcelona (where I have family and a lot of friends) and in the south of Spain (where I can practice watersports).
Usually, when I tell friends and acquaintances that I work remotely, there are many misunderstandings: "do you work from the beach", or "how can they know you are actually working?" or "you can take some time off to go and have fun during working hours?".
Nothing further from the truth. I work very closely with the rest of my team, and I spend all of my working day online and available for on-the-fly conversations and planned meetings. If I were not to be there, my team would notice very quickly.
After a conversation with a recent acquaintance, I decided to write about what the day of a remote worker looks like.
(All times mentioned below are expressed in British time)
I sit in front of my computer at my home office, and get ready for the day. I log onto HipChat, our company group chat, where I say hi to all my colleagues. It's the virtual equivalent of"clocking in".
I check my emails and the posts in Chatter, an enterprise social network where we communicate internally and ask work-related questions. A colleague from presales wants to know how to configure a certain feature in our solution. This is the part of the product I work in, so I quickly post a reply to his question. A few minutes later I get a nice little "thank you" message.
I've caught up with emails and I feel ready for the day.
My colleague Bartosz is asking for a code review over HipChat. In my company, we don't check any code in unless it's been peer reviewed. I tell him I can do it and we jump onto a Google Hangouts screensharing session where he shows me the code he's written. I make a couple of suggestions, he tweaks his code and checks it in.
Time for our daily standup! I log onto Google Hangouts to join the conversation with my team. Thankfully, we have a persistent Hangouts channel, so I don't need to manually invite all team members to the call: I just click on the preassigned link and I jump straight onto the call. In 10 minutes we go through our pending work in JIRA, our development ticketing system, we mention any blockers, and we all pick up what each of us is going to do for the day. My job: help one of our Dutch customers with a strange bug they experience when using our product. Support have escalated the case to us and it needs some developer attention.
I quickly ping Satpal, the support engineer assigned to the case, and ask him if he can arrange a meeting with the customer. He's able to schedule a GoToMeeting session with the customer for 11:30.
I receive an email from Helen, the technical writer, who wants to understand one of our latest features better in order to document it accurately. For some strange reason she doesn't like hangouts, so I jump onto Skype for Business and I share my screen, walking her through the feature. It's always a laugh to catch up with Helen.
It's support time! I jump onto the GoToMeeting session, where the customer shares his screen and manages to reproduce the bug within a few minutes. With his permission, I recorded some debug logs using the Salesforce License Management App. I download them so that I can analyze them to find the root cause of the issue.
I get an automated notification from HipChat telling me that one of our automated tests has failed in the latest build. I'm on build monitoring duty today, so I connect to the company VPN, log onto the build server using Remote Desktop and rerun the failing test. Test passes this time... probably a flaky one. I mark the buld as green, and in 15 min I modify the test so that it does not fail again in the future (after having my changes peer reviewed!).
It's lunch time. I mark myself as AFK in HipChat to let the team know that I'm unavailable, and also send a quick note to tell them I'll be back in 1h. I put together a healthy meal, and I still have 20 min left to go to the café round the corner to get some fresh air.
I'm back at my desk so I tell the team that I'm available again. I go back to analyzing those logs and dive deep into the code.
I think I've found the root cause: the user has over 2 million records in a certain database table, which is causing a query to time out. All we need is to add an index to a field to speed the query up. I check my changes in after another remote code review.
I have a scheduled call with our colleagues in San Francisco. There is an 8-hour difference with them, but thankfully, they're early birds and they're in early, so we get some overlap. Scott has great ideas of where to take the product next, and he wants to take us through the next feature in our pipeline. The SanFran team are Google enthusiasts, so it's Hangouts to the rescue again.
I go through the notes from our meeting to highlight the major upcoming architectural challenges for the next feature. It looks like I will need some help from the lead architect this time. I send him an Outlook calendar invite, and I use the handy feature to automatically set up a Skype conference link. When the reminder pops up, all we'll need to do is to click on the link to join the call.
That's it for today. I let my colleagues know that I'm leaving for the day and log off all the messaging applications. I look out of the window, and consider my options for the evening...
My day is pretty much the same, whether I'm in the UK, in Spain, or anywhere else in European timezone. The only difference are the options available for me after working hours. In the UK I could go cycling in the forest, while in Spain it's the waves and the wind that are waiting for me.
I like to spend 2-3 months abroad, then go back to the UK, where I can work from the office, for a similar amount of time. Being in the office is great because I take part in the 'watercooler conversations', I can build better relationships with other parts of the business, and I can increase my visibility inside the company. Other than that, the work I do is the same.
What this post tried to illustrate is that all the technologies that allow an employee to work effectively as part of a team from anywhere in the world are already here. At the end of the day, it's just a company culture issue, not a technical one, that prevents companies from becoming remote-friendly. Remoting offers flexibility in lifestyle for the developer, as well as a wider talent pool for a company to recruit from. I call that a win-win.