5 principles for great asynchronous communication

When working in a distributed setting, moving towards async practices is the last level-up. And it’s not easy. Especially not if you’re someone who’s been working in an office setting your entire life. It will take time and effort to become an excellent async communicator. And writing. A whole lot of writing.

It’s way too easy to simply send a message on Slack to someone without giving it the time and attention it needs. To counter that impulse in me, I’ve got five guiding principles that I try to live by when communicating async.

1. Give context

When you talk to someone, you are right there to answer any questions that they might have about why you ended up in this situation. You don’t have that luxury when communicating async. That is why you need to assume that people have minimal context on your problem. Start your message by laying out why you’re working on this and what got you to where you are. That way, you and the receiver will be on equal footing, and you can avoid a lot of misunderstandings.

2. Provide enough information to cover most follow-up questions

When you have described your problem in a low-context way and posed your questions — try to think of any questions that the receiver might have and respond to them before they have to ask them. This can often include “did you think about X”. If you did, and decided it wasn’t a good idea, let them know upfront. “We considered X but decided against it because of Y” is often enough.

3. Include all the resources needed

If you have links, images, or other supporting material, make sure to include it. It might be a link to an article or a screenshot of a change you made. The more material, the better. Again, think low-context.

4. Express your need clearly

To get the help you need, it’s a good idea to be very clear about what that is. Don’t assume that the receiver understands what you’re asking for; say it in explicit terms. Example:

I need your help to understand if there’s anything else I should add before sending this to the user.

5. Include a deadline

Since async communication is open-ended, it’s important that you clearly state when you need a response. If you have a default way forward, include that too.

I would appreciate it if you could have a response ready for me no later than Friday at 13.00. My intention is to use the first option unless we conclude that one of the other options are better.

How to use Linear with Hook

I use Hook for all kinds of things. Together with Alfred, Keyboard Maestro, and Drafts, it’s one of my most-used apps. Unfortunately, Hook doesn’t support Linear out of the box. Fortunately, Hook is extendable!

Here’s what I did to enable Hook in Linear.

tell application "Linear"
    tell application "System Events"
        key code 43 using {command down, shift down}
        delay 0.1
        set address to the clipboard

        key code 47 using {command down}
        delay 0.1
        set issue_name to the clipboard

        return "[" & issue_name & "](" & address & ")"
    end tell
end tell

I use two of Linear’s keyboard shortcuts.

  • Cmd + Shift + , to copy the URL of the issue.
  • Cmd + . to copy the name of the issue.

They are formatted as a markdown link and saved into Hook’s register. 🎉 Now Hook can connect Linear issues with Stack Overflow, Github, internet links, etc.

Side note: I use Choosy to open Linear’s electron app (instead of my browser) whenever I try to open a Linear URL.

Gratitude > complaints

Appreciate what you have. Such a simple lesson, yet one so hard to live by. It’s all too easy to get caught up in the wants and desires and lose sight of what is already in front of you. As the stoic philosopher, Epictetus once wrote

He is a wise man who does not grieve for the things which he has not, but rejoices for those which he has.

This is as true as ever in our era of instant gratification. But how can you help yourself not to give in to your desires? To not complain about the state of things and crave for what could be? A few years ago, I did the Complaint Free World challenge. It’s straightforward but hard on the verge of impossible. Start a timer. Whenever you catch yourself complaining about anything — reset the timer. Keep doing that until you’ve gone for 21 days straight without complaining. Simple, right?

I can’t remember if I managed to finish the challenge. But I vividly remember how illuminating it was to realize how much I complained. I consider myself solution-oriented, happy, and non-complaining per default. But the first few days of the challenge felt like I voiced complaint after complaint. It was a great reality check!

Since a couple of weeks, I’m trying a similar yet different practice. Whenever I catch myself complaining, I immediately counter it with something that I’m grateful for. Preferably something within the same topic. For example, if I catch myself complaining about the weather, I counter it with something about the weather that I’m grateful for. It’s less daunting than the challenge, and I like how it also makes a difference to other people. When they hear me complain, they’ll hopefully hear me be grateful a moment later.


Leader-to-leader is easiest explained by contrasting it with leader-to-follower. It’s common for people to unconsciously divide people into leaders and followers and make assumptions about what each group can do. These assumptions will influence the way we think and act and have an impact on performance.

In the “leader-to-follower” model, leaders tell followers what to do. The leader becomes the bottle-neck and the single point of failure. Given time, it’s a sure-fire way to make enthusiastic and engaged employees disengaged and disillusioned.

The “leader-to-leader” model recognizes that everyone has the ability and potential to lead. Some people lead groups of other people, some people lead themselves and their actions. It taps into each individual’s potential in an organization and reduces dependency on any one person. It allows senior leaders to step back and encourages junior and middle leaders to step up.

The leader-to-leader model requires three components to work: control, competency, and clarity. Control is the root component, with the other two acting as supporting pillars. Without competence and clarity, decentralized control will quickly bring chaos.


To decentralize control is a core feature of the leader-to-leader model. Each individual needs the freedom and authority to decide why, what, and how they’re going to work. The goal is to delegate decision-making as far as possible in the organization. 

  • As a person in a traditional leadership role: Give up control by delegating. Make it clear that even while you’re giving up control, you are maintaining responsibility. 
  • As a person not in a traditional leadership role: Don’t expect “a leader” to solve your problems for you. Think of yourself as a leader of your specific domain, and act like it. A practical change to make is to rephrase “Can I…?” to “I intend to…!” when you have found something that needs to change.


Every person at every level must have the technical competence to make the right decision at any given time. Things will quickly fall apart if people are given control without having the required knowledge and resources. 

  • As a person in a traditional leadership role: Make sure that people you delegate to have the skills required. Be explicit about your expectations and talk about the skills needs of the person you delegate to. 
  • As a person not in a traditional leadership role: Look closely at the responsibilities you are given. Do you have the skills needed to handle them? If not, be explicit with what skills you need to develop. This is not a failure. Finding and closing gaps in our skillset should be a celebrated accomplishment.


For people at all levels to make effective decisions, they must be aligned with the organization’s purpose. They need to have a complete understanding of the goals and decision-making criteria. 

  • As a person in a traditional leadership role: Make sure that the purpose, goals, and decision-making criteria are known to everyone. Communicate about them often and clearly. Have explicit conversations with your people about them. 
  • As a person not in a traditional leadership role: You need to fully understand the purpose, goals, and decision-making criteria that you are to operate within. If you’re unsure about any of the three, act as a leader and go find them.

Position your product for market fit

I recently read April Dunford’s book ”Obviously Awesome: How to Nail Product Positioning so Customers Get It, Buy It, Love It”. This is my summary of the key concepts and ideas from it.

The main point of the book is that you need to be deliberate about the context that you place your product in. The context gives the customer a frame of reference to figure out what it is, who it’s for, and why they should care about it. Product developers often overlook this exercise because it’s obvious to us what that context is. You might think that the vegan, tasty protein-bars you’ve developed are perfect for a quick protein boost post-workout. Your customers might think of them as a healthy snack to grab when they get home before dinner is ready. The context matters because you base a whole range of important business decisions on it. Where do you sell the product? How do you market it? How do you price it?

Customer’s usually don’t know as much as you about the market you operate in, or the potential alternatives that exist. They haven’t purchased a product like yours before and they look at what you deliver with fresh eyes. It’s vital to understand how they categorize your product. What they see as alternatives. You need to provide the correct context for them to see the excellence of your product. If you can position your product in the correct market category you’ll have all the assumptions working for you. Consider the protein-bar from the previous paragraph. The amount of protein in it is not as important if it’s a ”keep my sugar levels up between meals” snack. And you might be able to put a bit more sugar in it and still be competitive in that market category.

Dunford identifies two big traps that product developers fall into. The first is to get stuck on the product that you intended to build. You have an idea about what our product should be and the value it should deliver. It’s hard to break out of that box, even when your product has morphed and you should find a new category for it. One example she uses is an email service that focuses on speed and ease of use. It might be that the context of ”email” is making customers assume a certain set of characteristics. And to categorize it as ”chat” would make it easier to communicate what value it actually brings.

The second trap is to fail to react to changing markets. You have done the work and have found your context and market fit. Then the market changes in a way that weakens your position, and you fail to realize it. It’s easy to fall into this trap because, again, you as a product developer, operate in a context that is quite different from that of your customers.

Dunford argues that there are five main components of effective product positioning.

1. Competitive alternatives

What would customers do if your product didn’t exist? How are they solving this problem right now? Are they using another product with a similar value proposition? Are they ignoring or not aware of the problem you’re trying to solve? Do they solve it by applying force or more workforce at it

You need to look beyond what you see as competitors in the market to understand what the alternatives to your customers are. Remember that Netflix considers Fortnite more of a competitor than HBO.

2. Unique attributes

What are the features and capabilities that you have, that alternatives lack? Are you faster? Are you more cost-effective? Do you use machine learning to increase conversion? What is unique about you? And why does it matter to the customer?

3. What value do you provide?

You have identified the features that are unique to your solution. What value do they provide to the customer? Why is your machine learning better than what they’re doing now? And can you prove it? Vague statements about the effectiveness of your solution are not as powerful as data and facts.

Know what value you provide, and understand how to prove it.

4. Characteristics of your target market

Once you have a group of buyers that love your product, find out what the commonalities are. What characteristics do they share that you can identify and go look for in other customers?

A side note: If you don’t have that group of super-happy customers, you should hold off on positioning your product. You need to have at least a small group of fans to be able to identify patterns in who and why they love what you provide. One super-happy customer might do, but more is better of course.

5. Market category

What market do you describe yourself as being part of? If you find the right category you’ll find that all the customer’s assumptions are working for you. If your market category isn’t right, you’ll find their assumptions working against you. Consider the email vs chat example above.

Dunford then goes on to lay out a process for you to identify your context and market fit. It’s a straight-forward approach and the book serves well as a manual. I’ll leave it to you to pick up the pick if you’re interested in the steps.

All in all, a short and to-the-point read, which gave me some new insights and ideas. Well worth the time if you have a product that you try to position in the world.

Work with the garage door open

I have an affection for work done in the open. I love how OSS projects morph and take shape in front of everyone who’s interested. I love how an open-minded conversation can totally re-frame a project. I love the tension and inspiration that comes with putting your work on display. Not the output of the work but the actual, messy work.

Down the street from my house lives an elderly gentleman who’s a true jack of all trades. He fixes cars, repaints old furniture, does woodworking, and gardens. He does it all in front of his huge garage, with both doors wide open. And he’s quick to strike up a conversation with anyone who seems interested. His work makes the neighborhood a friendlier and happier place. And I think that the neighborhood makes him a friendlier and happier person.

I have befriended many of my neighbors in similar ways. Fixing things around the house, doing a work-out on the driveway, or playing with the kids on the street. Exposing myself and the work I do has led to conversations, that in turn has led to both dinners and friendships.

When we open up our workspace to the public it becomes approachable. It turns into something that other people can take part in, ask questions about, and have opinions on. It’s the creative opposite of opening up your garage to show off the old Camaro that you finished renovating.

It’s obvious that we should bring the same practices to the workplace. We should put the work we do on display for everyone to see. Especially when the work is still taking shape. That’s when we can allow people to ask questions, have opinions, and influence our path. The closer we get the mark the work as done, the more rigid it becomes. When you roll that Camaro through the doors it’s too late for me to mention that article I read about repairing vinyl. And it’s too late for me to even try to understand how you have managed to turn a banged-up old car into the piece of art that sits on your driveway. By then, we’ve lost that opportunity to connect.

So whatever you’re working on right now, I encourage you to share it. Open up your garage door. Someone might walk by and glance at what you’re doing. They won’t care if it’s messy in there. The truth is that they’ll appreciate it. They might appreciate it enough to ask you a question. Or to tell you a story. To connect and learn.