Newer Post

Drupal Deployment Automation Using AWS Elastic Beanstalk for Docker

Older Post

Writing Elegant Code in Drupal 7

10 Secrets to Becoming a Great Remote Developer

X-Team has been leading the remote movement by building apps and websites with remote teams for the last decade. Over that time, we’ve learned a lot of secrets (the hard way) about what qualities make up a truly effective, trusted and productive remote developer.

It’s time we shared some of those secrets.

If you can discipline yourself and your team to truly adopt these beliefs and methods, you will see immediate, noticeable differences in your remote team’s output.

Contribute trust every day

It all begins with trust. If you only read one thing here, I hope it’s this.

The very definition of a team is a group of individuals who are bound by trust.

Both office and remote teams have different consequences that impact that trust.

Office teams create physical barriers (such as a floor for each department). These barriers create distrust among people.

Office teams also base their trust on how much time you spend in the office. The less time you're in the office (and/or on time at your desk), the less trust the team has for you.

Remote teams face these trust issues at a greater scale -- remote teams live and die by their trust.

Remote teams strip away all of the trust issues office teams have. But those issues are replaced by far greater ones.

No one can see you working.
No one knows if/when/where you're working.
No one knows how effectively you're working.

In other words, no one has any reason to trust you're adding value to the team, no one even knows you exist, until you show them the value you're adding -- every day.

Which is why you should be asking yourself this question every day:

“How can I contribute trust to my team today?”

Every secret you'll read here is intended to do just that: contribute a little bit of trust to your team each day.

Your goal every day is to instill confidence in your team by keeping things moving forward, and reminding them all that you are.

That's it. If you and your team can do that consistently every day, it doesn't matter if you're working from home or on the moon, your team will be stronger than any office team thanks to the unstoppable trust you'll build.

Secret 1: Record each day's updates in a public journal

By far the most powerful communication technique our team uses is public journaling.

Each member of our team has a private channel in Slack dedicated to journaling. Only the people they work with closely are invited into those journal channels.

Throughout the day, we’ll post updates to our journals of important tasks accomplished, news about deals, results of interviews, main points from a call/meeting, etc.

If something happens that someone on your team might benefit from knowing, post it to your journal.

Here's an example of what one looks like:

You might be thinking: why bother wasting time out of your day doing this?

Answer: because documenting everything is remote’s greatest lesson to the world on how to operate a business today.

Documenting builds trust as it allows your teammates to see that you are helping to move the team forward, despite not being physically next to them all the time.

Documenting allows teams to move forward as one mind, all carrying the same context and information. You stop making decisions in a silo.

Documenting creates opportunities for teammates to chime in with encouragement, support, GIFs or feedback on tasks accomplished or ideas you’re working through.

Documenting makes onboarding much easier because you can simply point new hires to documentation of how to complete new tasks. Onboarding in an office is almost always a mess of “Let me show you how to do that.”

For us, we communicate and train primarily through text so that information is always accessible for later use.

Journaling is by far the cheapest, most effective “tool” that you’ll ever need to make your remote team incredibly well-connected, rooted in trust and able to move forward together quickly.

Learn more about public journaling in my how-to video:

Secret 2: Find time for Focus

Focus is a massive challenge for people who work in offices; between meetings and water cooler conversations and all sorts of distractions, it’s really hard to focus when you work in an office.

The only reason it can be hard to focus on a remote team, since you’re surrounded by no physical distractions other than yourself, is that because you’re working with people on so many different timezones, you’ll have people coming on all throughout the day, so you can get distracted as each team member wakes up.

But unlike when you work in an office and you have physical distractions around you, the beautiful thing about a remote team is that you can easily find time to focus by simply closing everything but your code. Shut down Skype, shut down IM, close your email tab, and just focus.

It’s really important that you cut out 3-hour blocks of time each day to do nothing but focus on the must-finish tasks of the day. It’s easier said than done, but you’ll love the feeling once you get into a rhythm of doing it consistently.

Secret 3: Stay in your lane

Gary Vaynerchuk talks a lot about this idea of 'staying in your lane' if you want to tap the most of your potential.

By "lane" he means your track, your niche, your tech focus, your greatest passionate interest, your slice within the world of dev expertise.

Too many developers try to go remote without having chosen a "lane" and ultimately never stand out.

We get thousands of developers applying every month, and when one of them says "I am a Java, JavaScript, Python, Node, Ruby and AWS developer", we're instantly on to the next.

To stand out on a globally competitive scale, you have to find and stay in your lane.

If it's front-end JavaScript, stay in your lane.
If it's full-stack JavaScript, stay in your lane.

Most of all though, don't stay in a framework lane.

If you haven't noticed yet, frameworks come and go every 3 months. Your lane should be the underlying tech behind the framework so that you can adapt to change.

Bottom line: if you want to stand out in a global market of developers, pick a lane and master it.

Secret 4: Never stop creating

Once you know your lane, you have to keep your skills sharp. And the easiest way to do that is to never stop creating.

One of the challenges with being on a remote team is that once your life is flexible, you get very tempted to spend more time doing things you couldn’t do when you worked in an office: you hang out with friends more, you work out more, you travel more, etc.

You’re suddenly less inclined to spend time sharpening your skills. But you have to.

The only way you’ll be valuable is by staying in your lane; by keeping your specialized skills sharper than the guy next to you.

And the best way to never stop creating is to keep giving back to the community you’re in. For example, if you’re a Drupal superhero, you need to start finding time to contribute modules or themes to the Drupal.org community. You’ll not only sharpen your skills, but you’ll build reputation and get recognized more, which means even more jobs for you.

And try to work for teams that allow you to do this and even pay you to do it.

At X-Team, we have budget set aside to pay our developers to contribute to the community to both sharpen their skills, and build reputation for them and us. Try to find remote teams that empower you like that.

Secret 5: Don't go all-in on nomading immediately

Once you get a remote developer job, it's incredibly tempting to sell everything you own and start traveling the world while you work.

And if that's the life you want, that's awesome -- just don't do it immediately.

Here's why: becoming a nomad takes practice, and you don't want to lose that sweet remote dev job in your first month because you have no idea what the hell you're doing as a nomad.

I've been a nomad twice (while being a CEO no less), and I've learned a lot from doing it. My second nomading experience was 13 months long.

Here's my recommendation if you want to eventually become a nomad developer:

  1. First, read a lot about nomading.

  2. Plan your first trip a couple months after getting your remote job. It should only be a 2-4 weeks trip at most.

  3. Go on your trip, learn the difficulties, and figure out how to do it better next time.

  4. Plan your next trip to be 4-6 weeks long. Read about how to do that here.

  5. After a month-long stay, you're starting to get the hang of it. Now you can start considering a 3 month trip, then a 6-month trip, and eventually a 1-year trip.

Bottom line: have patience, your nomad life will come with time. Don't risk all of the trust you built with your team by going all-in as a nomad so fast.

Secret 6: Learn languages

Now although you probably think I’m referring to code languages, I’m referring moreso to learning actual languages.

If you’re on a team with a Brazilian, an Argentinian, a Filipino, a Russian, and Singaporean, that’s a lot of culture to be surrounded by.

And if you can learn simple phrases from each of those languages, you’ll build incredible trust with your teammates. And it’s fun. For whatever reason, it’s fun to say “Bom dia!” (or ‘Good morning!’ in Portuguese) in the morning to a guy in Portugal, because every time it completely shocks him and he appreciates it. It shows you care and you respect their culture and want to build trust.

So learn how to say things like ‘Good morning,’ ‘Good night,’ ‘Hello,’ ‘Goodbye,’ ‘Good job,’ and any other simple phrases you can hold on to. It’s even more awesome when you then get to travel to their countries and work with them and you already have those phrases in your memory.

Secret 7: Limit video chatting

Video chat seems like an obvious ‘must-have’ for any remote team. And it is. But it should be used sparingly.

I love what my CTO Josh Johnston always says:

Video should only be used when we've exhausted all other options of trying to discuss something.

Chances are that a Slack chat, a collaborative Google Doc, a pre-recorded video explaining your thoughts, a drawing you send, and many other forms of communication can come before asking someone to sacrifice the flexibility of their remote job for you.

Video will suck time and flexibility from you and your team's lives and should be used only when truly necessary.

If you can though, it's worth trying create a monthly "Happy Hour" for your team to have a 1-hr video call together. The team bonding is nice, but more importantly, if you're not a native English speaker, it's a great opportunity to practice your spoken English.

My team has eliminated most video meetings, reserving it for only the most personal of discussions (like giving important feedback or helping craft goals). This maintains flexibility and productivity, and ultimately creates a really happy team.

We meet once per year as a full team, and multiple other times throughout the year in smaller groups at conferences and X-Outposts.

Secret 8: Have the right attitude (and don't forget those emojis)

Just like in an office, your attitude determines the environment of the team.

A bunch of Debbie Downers in an office results in a pretty depressing atmosphere. The same goes on a remote team.

I often tell people to overuse emojis as a way to let people know the energy you are bringing to the conversation. This removes any confusion about your tone of voice.

Try to be enthusiastic when you join a conversation. Just saying "Morning" every day isn't team bonding -- ask how people are doing and how you can help today.

Show up to your remote team every day with an eager, enthusiastic attitude and it will be very clear to your team that even though they can't see you, they know you're engaged and contributing trust like the rest of them.

Secret 9: Listen to onsite leaders

For whatever reason, this one is hard for developers to learn, so I’d recommend learning it now.

Most likely, you’ll have at least one person who is interacting with an onsite team or a client, and when that person says something is high priority, you have to immediately understand how important that is.

You know how when you’re in an office and you can feel the pressure of the room when something becomes high priority? You won’t feel that anymore because there’s no one from the team around you. So you have to trust that when that onsite leader says it’s ‘go-time,’ that you put in the effort to help get the team to the finish line.

That onsite leader is taking the physical pressure for you so you don’t have to, so respect them and kick in to gear.

Secret 10: Your word is everything

When you say you’re going to get something done, you need to follow through with that, and if you can’t, then you need to let the whole team know so they can adjust their own timelines.

You will instantly lose trust with your team the first time you say you’re going to do something and you don’t do it.

When expectations aren’t set right on a remote team, things stop moving the way they were supposed to. And when you have multiple timezones trying to line up to one timeline, once you start setting wrong expectations, you put a lot in jeopardy.

Remember: The second you aren’t contributing trust to the team, you won’t be on the team very long.

The Ultimate Bonus Secret: Be proactive

If you want to know the #1 secret to contributing trust every day, here it is. And it’s surprisingly the hardest quality to find in a remote developer as it isn’t learned quickly and takes years to be disciplined at it.

Being proactive means you keep projects moving forward. No matter what.

Now most new remote developers fail to do this, and the reason is because they get so overwhelmed by having freedom and flexibility that they actually get lazy.

But the best remote developers are the ones who harness that flexibility and freedom and turn it into a proactive attitude.

Proactive means that you are truly ready to be on a remote team because you don’t need someone to babysit you.

It means you’ve graduated from an office environment, because you don’t need someone to constantly be monitoring you and telling you what to do.

Instead, you are proactive; you get up, you get to work, you know what needs to be done, you check in with your teammates often, and you keep things moving.

That’s what it’s all about. Remote teams are about empowering people to do what they do best, and letting them free to go and do it and not need to be babysat while it happens. Trusting people that they will keep things moving regardless of where they are in the world.

That’s the heart of remote teams. If you let laziness seep into your work ethic because you have so much flexibility, you will fail.

Harness that flexibility and get up every day and say: “Today I’m going to help my team move our projects forward. I’m not going to sit and wait for someone to tell me what to do, I’m going to jump in and make sure our team makes it to the finish line.”

This is an incredibly energizing way to work, and you really can only get it on a remote team because it’s the fuel of what makes it all work.

And if you can wake up every day and be driven by this attitude, you will indeed be a great remote developer.

So, how have you contributed trust to your team today?

More:
Join X-Team as a Developer
Hire X-Team Developers

We'll help you unleash.

Join the 20,000 developers who subscribe to our newsletter.

Scale your
Development team

We help you execute projects by providing trusted developers who can join your team and immediately start delivering high-quality code.

Hire Developers
community, remoteworking, tips