How we use a distributed team to deliver advanced technical work to clients around Australia
The Code Company is powered by a distributed team, which means our talent is spread across multiple cities and ever-changing time zones. This setup is both challenging and rewarding, but we believe ultimately it benefits everyone. Here’s how we make it work to the advantage of our clients and team.
Our distributed setup
We have one primary office close to the management team, including Ben, Zac, and I. This office is useful for making decisions, such as projects to take on, clients to accept, resource allocation, and the like. Our central hub comes into play when all three decision makers have to discuss things in person or when we simply want to meet up and work alongside our colleagues.
Although we have a physical office to use as a home base, even co-located management doesn’t see each other every day. I only go into the office 1 or 2 days a week for meetings, events, or when something big is happening for a client (such as a major release). Otherwise, even the leadership of The Code Company works remotely from home or elsewhere.
Our development team and team/client leads in senior roles are distributed across Australia, from everywhere including Brisbane, the Gold Coast, Melbourne, Cairns, the Sunshine Coast, and Sydney. They’re always welcome at our main office, but work remotely for most of the year.
I handle day-to-day operations and need to know what everyone is working on at a high level. If someone asks “what account or project is [team member] doing today?” my job is to have the answer. I’m responsible for keeping track of the percentage of hours booked, billable, and used vs forecast. With these metrics, I get a handle on our logistics, balancing our priorities accordingly so we have happy clients while still remaining profitable.
How we stay in sync
Every team member, including myself, has the freedom to choose wherever they work from as long as they meet our parameters for coordination.
I do one-on-ones with each of our team members to get a sense of where they’re at on projects and what they need to succeed (both on individual projects and professionally overall). These meetings are where things are laid out and clarified. If someone needs additional information or explanation, they know they can always ask.
Every Friday we have a team video meeting on Zoom, where everyone syncs up and goes over what’s coming next week. It’s also a good chance to get to know each other and talk about what they’re working on. If someone has accomplished something particularly well, we give a shout-out during these weekly meetings, which boosts morale.
It’s important to know when those regular catch ups aren’t enough. We’re always open to scheduling longer calls with the team, or getting an employee to our regional office if there are issues or something big is happening.
One of the biggest challenges of managing a remote workforce is that it’s hard to have frank or difficult conversations online versus face-to-face. It can seem cold or impersonal. We’re still working on ways to overcome this, while still being strategic with our time.
Managing relationships and morale
In addition to project management, I also handle people management. This includes leaves, holidays, code of conduct policies, and making sure the team has a sense of culture. This could mean providing motivation, positive reinforcement, or helping them level up needed skills like communication.
One of the struggles of a distributed team is the feeling of isolation and low morale. To combat this, I do personal check-ins and figure out what each team member needs. For example, if I know someone is particularly passionate about a project, I’ll put them on it because they’re likely to provide heightened service.
Since it’s hard to have quick chats with people, it can be hard to pinpoint issues and reasons behind low morale. Sometimes things slip by. To combat this, we’re refining a weekly survey that we can run through each Monday to break down causes for morale issues or stress in our team. It isn’t perfect, but we’re working to improve it as we go.
These efforts cost time, but managing our relationships helps with employee engagement and reliability. I keep the team accountable and responsible, understand the different personalities of each team member, give them the input they need, and make sure they’re in the right headspace for the best output.
Building culture and finding our working personalities
We also have each team member come to our main office at least two times a year. While here, they can brush up on skills someone else can teach them, or simply meet up and work with the group. If someone can’t make it, the management team will go visit him/her.
Finally, once a year, we have a retreat for the entire team. During this time, we learn to work together and figure out how to best collaborate as a team. The Monday after these retreats are when we see some of the highest productivity and output, since morale and buy-in is high.
Maintaining quality deliverables and surpassing expectations
When you have people working from Brazil, America, the UK, and all across the world, you need agreements in place to ensure travel doesn’t affect deliverables. Our on-the-go employees are free to work from any continent, but must follow the same conditions and service guarantee that they would if they were in an office. In fact, when a team member goes on a trip, many of our clients wouldn’t notice if we didn’t let them know.
We value being able to provide this experience for our employees, and they reciprocate with dedication and professional service. Ultimately, this translates to happier employees and better output for projects.
How our clients benefit from a distributed team
To be successful in a distributed team, you must be a good communicator. Communication is one of the things The Code Company excels at, and because we communicate so much internally, it makes us better communicators overall.
We end up with more practice, which makes us more responsive to clients. By default, our information needs to be neatly documented, and we actively record all important data. We do daily check-ins with staff, and they do daily check-ins with clients. Even a simple email, support ticket, or comment in our project management tool must all be crystal clear.
Our system of seamless communication keeps everything running smoothly, and our clients end up benefiting from our internal training.
Much of the team, including myself, has also noticed that being remote also improves focus. It removes social downtime, like chatting with a neighbour or on the way back from coffee. Although we miss socialising at times, working online means we’re always present virtually, where the magic happens.
Working with any timezone
No matter where they are, we adjust to the timezone of our clients. That means they get the benefits of enhanced communication, a happy and motivated team, and skills from across the globe without the hassle of coordinating time zones.
We have a varied team when it comes to working habits. Some like to get up early, others like to work later into the day. Generally, we have people online and at the ready from 6 a.m. to 6 p.m. nationwide, which covers our clients’ working hours.
By purposefully staying remote and away from major hubs, we benefit from a solid team structure, airtight processes, and enhanced productivity. We’re distributed so we can remain flexible, following clients’ and industry happenings. In fact, we go to cities like Sydney often for meetings, conferences, education, and client visits.
Most importantly, the rewards of a distributed team trump the challenges. It isn’t all perfect, and takes more management effort, but the result is happy developers and a motivated team that will propel the business forward. My motto is happy devs, happy life.