DEV Community

Megan Risdal
Megan Risdal

Posted on

Kaggle’s 5 remote-first tips for new WFHers

Kaggle is a unique team at Google. Unlike the vast majority of Google teams, our team is fully remote-first and distributed in offices (Google and home) across North America and Australia. When the spread of COVID-19 led to mandates to work from home (WFH), my coworker Victor and I saw an opportunity to share insights from our team to help others across Google adapt.

So we recently shared our top five remote-first tips with Cloud AI leadership, our parent organization within Google. Now, we want to share our advice with you! The advice we put together is based on the things that we believe either require the biggest behavior shift or stand the best chance of increasing productivity to address pain points in this time of transition.

Victor and me presenting our WFH tips to WFH Google Cloud AI leaders … while WFH.


First, to establish a bit more context, I’ll share more about Kaggle. Our team is made up of about 50 members in engineering, marketing, product management, data science, design, etc. Kaggle has been remote-first for about a decade.

Second, our core values are important to framing how we approach remote-first.

  1. Low ego because it facilitates trust and open communication

  2. User first because it drives focus on important problems to solve

  3. Agility because it helps us make decisions quickly in ambiguity

You may want to consider how you can leverage aspects of your team’s culture to reinforce WFH productivity.

Tip #1: Default open

🙅‍♀️ Problem

Your team may be feeling isolated, out of the loop, and siloed. Team members may be communicating one on one but missing the sense of team and community. This can cause anything from miscommunications or dropped balls to serious tensions and degrading trust on your team.

✅ Remote-first solution

Default to communicating as openly and transparently as possible with your team. Make extensive use of public (to your team), readily accessible communication channels.

🛠 Tactics for your teams

Deliberately communicate more frequently than you think you need to

Communicate more frequently. Also make sure you’re not simply shouting into a void, but ensure that your team hears and understands, as well. Make sure your calendar events and Google Docs are visible by all by default.

Share meeting summaries / action items in a public (to your team) venue

Take good meeting notes and share out summaries or action items in a public venue. GitLab has more great remote meeting tips in their handbook.

If you repeat something verbally in 1:1s, write it down in a Google Doc and share

Don’t succumb to games of telephone. If something seems to be remotely important write it down. If your team doesn’t already formally document everything, this may make certain things feel more “official” than they might really be. The next tactic is one way to help make this adjustment.

Make WIP docs available for input from more people earlier

Get feedback earlier on things in progress. Normally you would get feedback about ideas or projects in progress during “watercooler chat”. This is a way to replicate that and you might find that you even get more diverse and creative input.

Making important documents easily accessible to anyone on the team.

Tip #2: Practice async communication

🙅‍♀️ Problem

Feedback loops are slow. Team members are AFK and unresponsive during typical working hours. This can slow projects down and leave people feeling frustrated.

✅ Remote-first solution

Move more communication to async, setting norms and expectations so work still gets done efficiently. Kaggle’s team is distributed across many time zones so this is really important for us. Your teams may not be so distributed as ours, but at a time when so many team members’ schedules are becoming unpredictable or shifted, async can be critical.

🛠 Tactics for your teams

Agree on team-wide expectations around hours of communication and availability

Agreeing on team-wide expectations around hours of communication and availability. If you haven’t already done this, this is absolutely step 1! For inspiration, checkout GitLab’s handbook on communication guidelines.

Know when to move from async to sync

Next, to the extent possible, be willing to quickly jump into a call if something doesn’t seem resolvable via chat. This means keeping a headset handy. This is especially useful in cases where you might feel things are tense or something is getting lost in translation.

Create a venue like chat for async daily standup

Finally, if you’re worried about making sure you know what everyone on the team is working on, create a venue for this. We have a chat channel called #nikodaily where people share 1. What they did today. 2. What they’re doing tomorrow. 3. Any blockers. 4. Any FYIs. Create something that works for you.

Our internal Niko Daily tool which records our async standup statuses and notes.

Tip #3: Embrace a non-linear workflow

🙅‍♀️ Problem

Without the ability to just walk over to someone and ask a question, team members are blocked and not making progress on a task, frustrated they can’t get immediate help.

✅ Remote-first solution

This tip applies especially to engineering teams. For engineers who bristle at lots of meetings and context switches, productivity is normally associated with finding flow on a single task. That’s not always possible in a remote, distributed context. Similarly to async communication, a remote workflow expects non-linear progress and optimizes for it.

🛠 Tactics for your teams

Have multiple tasks that you can switch between to always ensure progress

Due to the asynchronous nature of remote work and especially with current unpredictable circumstances, try to have more than one task on the go, that you can switch between if you get blocked on your current task. At the same time, avoid having so many ongoing tasks at once that context switching prevents making any progress.

Document and make team knowledge searchable to minimize pings

Since you and your teammates may be focused on different things or available at different times, before pinging someone and potentially interrupting their workflow, check if your question has been answered in one of your public channels. One of the benefits of defaulting to open is that all your team knowledge is written down and searchable!

Provide lots of context

When you’re blocked and waiting for someone’s response, give plenty of context on what you’ve tried and what you understand so far so they can unblock you while you’re working on something else. Likewise, when responding to others, be deliberate about unblocking them. For example when making decisions or reviewing code, if possible give approval with conditions so they can progress without another round trip to you.

Tip #4: Foster team bonding

🙅‍♀️ Problem

Morale is low and team members feel lonely and disconnected from each other. Tensions might emerge as trust weakens. People may feel less willing to take risks.

✅ Remote-first solution

For many years, a Kaggler on our team, Jeff Moser, has evangelized Steve McConnell’s concept of the “half life of trust”. The longer you’re removed from aspects of your colleagues’ lives that make you realize who they are outside of work, the lower your trust is with them.

In a study on Google team effectiveness, psychological safety was the number one factor contributing to team success. Psychological safety requires trust, so for remote teams for whom this is harder to build, you have to be very deliberate about cultivating it. Put effort into unique ways to maintain and strengthen personal bonds. And have fun. :)

🛠 Tactics for your teams

Celebrate wins (even more) often!

First, celebrate wins more often. We use chat to regularly share wins in our largest team channel. If your company has a peer recognition system, encourage your team to use it.

Set up socialization spaces for “watercooler” chat

Second, set up spaces to replace watercooler chat. These can be a combination of async (e.g., chat) and sync (e.g., recurring optional team meetings).

Use emojis gratuitously (seriously!) 🤪

Finally, it might sound like a joke (okay, it’s a little tongue-in-cheek), but don’t forget to use emojis! By this, I really mean make sure you find ways to insert phatic expressions that are often missing from text-based communication.

A sampling of posts from our some of our many interest-based chat channels like #pets, #random, and #booksandmovies

Tip #5: Take care of yourself

Our last bit of advice is to take care of yourself and encourage your teams to do the same.

As we all know this is not a normal work from home situation. Even for our team, one that’s been remote for almost a decade, some of us are feeling the impact on our well being and productivity. In fact, we know from experience that some folks may respond to a situation like this by working even harder than usual. We have to give ourselves and each other a break.

There’s a LOT of good advice already out there for well being and work-life balance. But here are some tips from our team. You should strive to do them to the extent possible, but it may be harder for some given circumstances.

This is not normal.

🛠 Tactics for your teams

Establish clear work boundaries

Have a routine of “going to the office” like get showered and dressed, maybe exercise to start the day. Also have a wind down routine for “going home” for example go for a walk. Try to have a dedicated space for work only.

Disconnect by creating a predictable schedule

Disconnecting requires finding or creating predictability. For example, try to work the same regular hours. Snooze or disable notifications when you’re done working. And make sure your working hours are visible to others.

Assume good intent

Finally, assume good intent from those you’re working with. This is an extremely taxing time for many and patience can more easily wear thin and mistakes will be made. Be understanding and compassionate (including with yourself!).

Wrapping up

We hope that you find these tips helpful. Even for us, a seasoned remote-first team, improving our productivity, efficiency, and happiness is a perpetual process. We’re constantly redefining our own best practices, habits, and workflows.

Our most important tip for how to apply these recommendations is to be introspective and flexible. At the end of the day, we can’t give any one-size-fits-all advice because it doesn’t exist. Take the time as a team to listen to your own needs and pain points and adapt solutions accordingly. You’ll quickly find that you’ll develop norms that work for your style, culture, and situation.

We’d love to hear in the comments what things work for you and your team!

Top comments (3)

diversemix profile image

Very good article - teams so need to hear about how to adapt and change processes given circumstance. The number of times I come across set-in-stone ways of working! This helps reinforce the need for flexibility... Great! 😄

tedgoas profile image
Ted Goas

👏👏👏 Excellent points Meg, thanks for sharing this.

tmarwen profile image
Marouane Trabelsi

Very good informative advises...
I felt going deep in each one as it has to be applied for my current WFHer team 😕