A large part of the workforce who started out 2020 working in an office and visiting clients, are now working from home for the first time. Business as we know it is experiencing a change that likely will become ‘normal’ and it’s one that, at least from my view, is overdue.
At reinteractive, I like to think we are at an advantage as remote work is nothing new to us . I started reinteractive as a 100% remote software development company in 2009. At the time it was new and I pioneered our company to the successful model we have today.
We set up as a remote work company because the constant distractions inherent with working in an office environment are the enemy of a software developer or anyone engaged in concentrated, detailed work. Being an experienced senior developer myself, I decided to build the type of company I had dreamed of working for.
I didn’t have a model to guide me. Some companies had a number of staff working remotely a few days a week, but not what I envisioned. So, with some management training and experience under my belt, I got to it, addressed the various pros and cons, ironed out the problems and I feel we have achieved the right mix.
We are flourishing and our staff love remote working and the flexibility that it offers them and their family. Happy people are more productive. No one misses being stuck in traffic or being jostled on an overcrowded train for 40-plus minutes. If you have to put in some extra time on the job, the two hours saved on travel is a great option and you can still eat with your family, tuck your kids into bed and go to bed refreshed.
I wanted to share some tips of how I have navigated the remote work downsides and the firm policies put in place to maximise the benefits of remote work.
Varying Degrees of Trust:
The first thing to note is that remote work is not an all-or-nothing activity. There are levels of “remoteness” and each comes with a different level of trust that is required to make it successful.
It works to break down the levels of remote work into five broad categories:
Remote work prohibited: This is where all staff are on-site. Sometimes this is necessary if you are dealing with highly sensitive data, or you need access to specific equipment and the like.
Remote work tolerated: This is where staff are permitted to work from home on occasion, such as when they (or a dependent) are sick.
Remote work encouraged: This is a common scenario, where staff work 2-3 days per week in the office and the remainder at home.
Remote work first: This is where a company maintains an office, but many people work from home.
Remote work only: This is where a company does not have an office at all and all staff work from home.
In this gradient scale of remote work, there is an increasing level of two-way trust required.
Trusting Your Staff
I have complete trust in all my staff. I choose the best there is and then I let them get on with it. I expect them to be responsible and perform at their peak. If you have to constantly check up on someone, then you likely haven’t chosen the right person to work for you.
There is no micro-managing (which capable staff enjoy) and they are a brilliant team who control their own workflows and are responsible for producing high-level products. If someone needs help then they ask for it. We have a buddy system for new staff so they always have someone helping them navigate through being new.
When hiring, we look for team members who have a strong care factor and pride in their work.
That strong trust extends out to our client’s faith in us. They pay good amounts of money to build business-critical software and they want to know that we have their back and will continue to provide top level service and be available to answer all their queries, no matter how small.
REMOTE WORK BENEFITS:
Access to the best talent
At reinteractive, we require top level developers in the Ruby on Rails language, the primary language used in our custom-built applications. While our land mass in Australia is large, we have a small population and just one city doesn’t have the quantity of senior developers that we need.
A remote work set-up allows us to hire top-level developers and designers, no matter where they are located. If a client is in Melbourne, I don’t need a senior developer in the same area. They can be in Adelaide, Sydney, or Auckland and provide superlative service to that client.
Our team is in all parts of Australia, New Zealand, North and South America, and we have even hired staff from Western Europe. This enables us to provide dedicated follow-the-sun operations support for managed hosting for clients. This level of support is often a requirement for clients who have made a large investment in their business-critical applications.
Distraction free work
While being remote means you can’t meet around the coffee machine for a chat with your co-workers, the advantages of uninterrupted, concentrated work far outweigh any negatives. It encourages focused work without the distractions of an office environment. The time saved by eliminating noise and distraction means projects get finished faster, with less frustration. And that benefit spreads out beyond the workplace. The less stress at work, the better human relations can be all round.
The expenses related to furniture, fit-out, rent, office supplies and travel are reduced, or eliminated, in a remote work situation.
We pay for travel to visit clients or attend conferences or events as needed (and when allowed).
We have a firm policy to follow the “Golden Rule” of treating each other as we would like to be treated ourselves – with tolerance, consideration and compassion.
Mistakes and errors usually result from a misunderstanding or lack of training, not malice. We hire our staff not only for their skills, but also their personality.
Remote work tends to nullify cliques, office dramas, incidents of harassment/bullying and personality clashes that can poison an office environment and result in work-related stress. If someone is having a bad day or is completely stuck on something, they are encouraged to take a break, go for a walk, chill out and come back refreshed. It is hard to take a bad mood out on fellow workers in a remote work situation.
We have a results-oriented team who will go out of their way to help another team member on the job. They are professionals in what they do, they are respected, trusted and appreciated. And clients enjoy working with them.
A recent survey of our staff showed high levels of satisfaction with remote working. What do they like the most? Flexibility in schedule topped the list. Many are raising a young family and they can pick-up their kids from school or code with their 6-month-old next to them, without disturbing anyone. They work just as hard and do all the needed hours, but it simply allows for greater life flexibility. Again, not all companies could support this model, but it is especially workable for software developers.
REMOTE WORK TEAMS: THE PEOPLE SIDE
Communication is king
The number one thing to focus on is communication! Strong communication helps effectively manage the challenges of working remotely.
The more remote the team, the more deliberate and formalised the communication needs to be.
Here are some recommendations:
- Set-up a chat application – Flowdock / Slack / IRC / whatever.
- Dedicate one chat room for all general communication. There should be no talk about work. This room is reserved for announcing your comings and goings, and general “water cooler” chat.
- One chat room per project for project specific communication.
- One chat room for the various divisions – marketing, HR, etc.
- Ability to have one-on-one private chats within the team.
- Make sure you announce all wins and successes loudly and often. This boosts team morale.
All team members must announce their comings and goings:
Make sure arriving at “work” and leaving “work” is announced and include lunch breaks and other random breaks. Team members become frustrated if they can’t find who they need. It helps if everyone knows what the other team members are thinking and doing.
Provide clear expectations with Key Performance Indicators (KPIs): When the team is remote, there is no way to drop past and ask for a progress report. Remote team members need clear KPIs or statistics to work towards. I developed the Envisage application specifically for this purpose. It is a statistics collection and graphing application. We use it internally within reinteractive, but it can be used by anyone within their company.
These agreed-upon metrics allow you to monitor the production of your team, providing an agreement between management and the team so that everyone understands what is expected of them.
It removes uncertainty and office politics: people are either producing or they are not. However, remember that a KPI is exactly that: an indicator. If someone is not performing, there might be an underlying issue that is preventing them for achieving the desired numbers. Always give them the benefit of the doubt when opening a dialogue about performance.
Disagreements are not settled via email or in writing.
This is an extremely important point. The bigger the disagreement between people, the closer you need to get to them in order to solve it.
Disagreements defuse in person or with verbal communication if you cannot be in the same space. They too easily explode on long distance written communication lines, e.g. “Is that a sarcastic emoji? Or a happy one?” Too many misunderstandings can result from arguments over text or email. Your team are humans. While we may not be able to meet in person easily to settle misunderstandings or disputes, the next best thing is via video or phone call.
In a traditional office environment, we would speak to our colleagues daily. A remote office should be no different.
Waiting a week to make sure that everyone is heading in the same direction is not enough. Each project team should have a daily meeting to coordinate their activities. These meetings should be kept brief and focus on deliverables planned for today, any blockers being faced, and deliverables completed from the day before.
Make sure everyone comes to the meeting with their information ready to go. One-on-one detailed coordination within the meeting should be banned beyond “I’ll talk to you after”.
How you hold these meetings is entirely up to you - each company has its own style. All that matters is keeping communication high between the team.
Remember: Meetings cost serious dollars - make them as short as possible, without cutting back on sharing needed information, so people can get back to work.
A weekly meeting with all staff is critical. They need to know what is going on, where we are strong, what needs improvement. It is amazing how many bright ideas various team members come up with that can be useful. Their pay packet requires the company to be prospering, so keeping them in the loop is essential. Here are some recommendations:
- The CEO or general manager gives an overview of progress and new upcoming projects or actions.
- Hold it at the same time every week, with no variation
- Go over what was achieved the previous week, with divisional heads also reporting to the team
- Go over what will be achieved in the new week by area
- Minimal discussion in the meeting, just focus on goals and targets
- Provide an opportunity for everyone to share their wins and for good news to be shared and work well done acknowledged.
- All meetings should be recorded so that absent team members can listen in and stay up-to-date.
- Remote work culture:
- Unlike an office environment, you don’t have birthday cakes, office parties, Melbourne Cup hats, etc. You have to work harder to build a company culture, but it is well worth your while to do so.
- Encourage people to be creative: make themed days in your chat rooms, for example. Be inventive and just play.
REMOTE WORK TEAMS: THE MANAGEMENT SIDE
Management needs to be approachable.
I don’t hold with certain hierarchical management structures where a team member doesn’t feel they can approach management with a valid proposal or share new ideas and solutions to better our operations. I want to hear bright ideas.
How to run this sanely is with the use of the Completed Staff Work principle of management. It originated in the military in the early 1940s. The aim is for subordinates to be responsible for submitting written proposals and recommendations outlining the issues and solutions, completed in a manner that requires no further work from the manager, who simply has to approve or disapprove it.
I keep a strong hand on all things related to reinteractive on a daily basis and talk to my managers each morning and throughout the day as needed. They know they can ask me anything.
Hiring the right staff for remote work
We are very exact about who works for us. We have a specific hiring formula which includes testing a developer’s coding skills. A resume is one thing, but the interview and skills testing are more important. An interview determines communication skills and whether they will be the right fit for our team. Someone may be a brilliant developer but may lack the needed skills to directly talk with clients, under all conditions.
Strong client communication
We meet face-to-face with the client and will fly to where they are located for various stages of the work they need done, including the UX design of their application. Developers are on a project from start to finish, creating a strong relationship with the customer. Our developers and project managers attend daily stand-ups allowing clients a high level of control throughout the build of their application.
Not everything always goes exactly to plan, but if the communication is strong and fast, it can be resolved easily. It’s our high level of communication that is most commonly praised by clients, while contributing to the high levels of project success.
Workplace health & safety
We are responsible for the workplace health and safety of employees when they are working at home. Training on Workplace Health & Safety (WH&S) is a legal requirement.
This includes: having a dedicated office with “work times” and “home times”, adequate lighting, seating, desk, cable management, etc.
This is a whole topic unto itself, but it is a primary factor in ensuring a secure work environment for our client’s intellectual property. We employ top-level security arrangements which includes hardware-level encryption, two-factor authentication and confidentiality agreements.
Remote Work Resources
Finally, here are a couple of useful resources where you can obtain further information:
- Australian Taxation Office: Working from home during COVID-19 https://www.ato.gov.au/general/covid-19/support-for-individuals-and-employees/employees-working-from-home/
- FairWork Australia: Flexible Working Arrangements https://www.fairwork.gov.au/employee-entitlements/flexibility-in-the-workplace/flexible-working-arrangements
- Safe Work Australia: Working from home - Workstation Setup Guide - COVID-19
- NSW Government Safe Workplaces: Working from home guidance for employers
- Australian Government ComCare: https://www.comcare.gov.au/about/forms-publications/documents/publications/safety/working-from-home-checklist.pdf
I would love to hear any feedback or input you have into the remote work issue, so drop me a line.
The benefits of code reviews
Strategies to make remote work successful
A holistic approach to your web application
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.