Mar 15, 2017

Working remotely - turn your nightmare into a dream

blogpost cover image
Remote work is a trending subject of developers' talks but also job interviews. Surely - working from any place of the world is seductive but also brings some risk and has some disadvantages.

Same goes for situations, where your whole team works locally, but the customer is from a country in another timezone. Then we all are, in fact, working remotely. Especially when there are other developers, from other timezones, joining your team. Then you all create one joint but scattered, virtual team. Communication in such team is then only possible through computer tools like email, Slack or another messengers - while still keeping the agile nature of the project (which is characterized by constant changes, evolution of the project and its target, continous improvement). The fast and effective communication is essential. And after taking parts in multiple projects in multiple timezones we can say - it's not easy. But it's not impossible either.

I've tried to prepare so called "decalogue of remote work", hoping it might help some of you struggling with a bit of chaos in your multi-national projects.

  1. Describe your availability in an easily accessible place (for example as your status or profile description in the messenger used by your team), of course with your timezone attached. This way you'll make it easier for your co-workers and customers to find out when they should expect a response from you - or what time to set a meeting at. If you work irregularly, you should inform your team at the start, but also try your best to set at least half an hour a day at fixed time to talk and meet with people from your project as long as it's possible. Thanks to that, someone who has a problem or a question, will be able to say if it's worthwhile waiting for you or is it better to write to someone who will be available sooner than you. The same goes for your days off (statutory or 'on demand').

  2. Always inform your coworkers when you start working that day, when you go for a break, come back from it and finish your business day. Messengers' statuses are not always sufficient, but most of all they often change spontaneously (i.e. after couple of minutes of being idle), what can introduce a hint of chaos and uncertainty.

  3. Get to know the culture and traditions of your teammates' countries. For example, your friends from England pay attention to small talk, so it's considered rude to skip it and go straight into business talk, without even asking how your conversation partner is today. On the contrary your German friends, although accepting "small talk", consider joking in workplace unprofessional, so it's better to just stick to the project subject.

  4. As much as you expect others to inform you in advance about their absence, they need to know about yours. The best practice in my opinion is to determine what weekdays you work on, what are the bank holidays in your countries at the beginning of your partnership (would be best to write it down in your calendar). Then, on one of those days incoming, you should remind your team about it with some advance and then do it again a day before the day off. This is the practice that lets us minimize misunderstandings in the team and above all - with the customer. When estimating deadlines and releases of your projects - or its parts - you all have to consider days off, holidays, vacations.

  5. Get to know your teammates better. You can only do it by communicating regularly - with each and every person as well as with the team as a whole. Well-built relationships will come in handy when all of the sudden you'll need some help from other people in the project.

  6. Show yourself. To work together more comfortably - and easier - for everyone, it's worth it to at least once join a video conference with your team and your customer. It lets you shorten the mental distance between you and overcome limits in communication. It will be easier for the customer as well as teammates to trust you, if they can talk to you virtual face to virtual face. :)

  7. Document well every new thing in the project. Working in multiple timezones - or sometimes just multiple offices - it's not always possible to find an author of the code we want to change quickly. Of course we can elaborate on this matter for another long post, because it applies to documentation but writing clean code as well ( However extensive documentation of our changes lets our teammates (especially new ones) to immediately understand them and why the heck is this method even here.

  8. Use simple wording. It's far more important to understand each other easily (and quickly) than to impress someone with your foreign language skills. Try to avoid complicated or rarely used words or expressions, don't use sayings or jargon known only to you - those things can introduce misunderstandings and, what follows, a chaos and mistakes in the project.

  9. Build trust. As abstract as it sounds, it is as important. In remote work, aside from video confereces, to gain trust of your team and customer you need to be responsible, well organized. You need to always meet the commitments and deadlines and when you meet an obstacle that can hinder accomplishing that - at once inform someone. The results of mutual respect and trust may not be visible at the beginning, but long-term everyone, especially you, will feel important and appreciated.

  10. Say "Hi" to loneliness. Working in virtual team, loneliness is a standard. If you work in the office, you can deal with it by going to corporate coffee or tea in the office kitchen, or shared lunch. If you work from home, as long as your teammates are in the same city you should go to a proverbial beer together once in a while if it's possible. You also need to learn how to efficiently work remotely, this means effectively separate your work time from your social media/chatting/spare time.

It is a bit of a challenge to communicate deftly in a multinational team, but I keep fingers crossed that you accomplish it and that few of my advice will come in handy sometimes.