Async Communication is the future
Tags: engineering, async, communication
Published: 2022-07-13 16:40:53

So this is a pretty heavy statement to start on, but I do truly believe that in engineering async communication is the future. I also don't think enough people are really aware of, or talking about it, which is why this post is going to exist. However I think a lot of us are doing it subconsciously already.

Let me caveat this with I am learning and experimenting with it, so expect more posts in the future on this topic. With that preamble out the way let’s take a look at what this async communication is.

## 🤔 What is Async Communication?
Most of us use this every day with different tools:
* Email
* Slack
* Teams (messaging)
* GitHub (PRs mainly)
* Jira/Trello/Confluence
* Miro
* etc…
This list is much bigger but what they all have in common is the ability to communicate without expecting a response straight away.

So that’s it, I’ll end this blog now, we reached our answer, asynchronous communication is 
> communicating without expecting a response immediately 

I do wish it was that easy but there is more to it, and even though it comes with a lot of positives, it also has it’s own challenges.

## 🔉 How is Asynchronous Different to Synchronous?
In order to answer this question I think it’s better to just give an example:
### Synchronous 
`Teams Meeting Call`
>Barry: I’ve booked this meeting as I need to talk to you about the technical implementation of this new feature we have been asked to do.
>Phil: Sure what’s the issue with it?
>Barry: There is an issue with the design and how our architecture fits together.
>Phil: OK so what do we need to do with the architecture to make it happen?
>Barry: I have some ideas but I think we need Mary in here to help us with the bigger architectural discussion.
>Phil: Looking at her diary, it might be difficult to find some time with her right now, but I’ll get some thing booked in.

### Asynchronous 
`Slack Messages (public channel)`
>Barry(9:00AM): `@Phil` `@Mary` I have written up a confluence page(linked) based on my concerns with the technical implementation of this new feature we have been asked to do. Please can you both take a look and comment on the page with your thoughts? 
>Phil(9:05AM): Thanks `@Barry` I will take a look at that later today.
>Mary(2:30PM): I’ve taken a look and added some thoughts, and also a potential way we could handle this. I am also going to share this with `@Grace` As their team is currently working on something similar.

### Outcome
So the above is purely fictional but I can imagine some of you have had something similar before. The **Synchronous** conversation allows very quick feedback and for conversations to flow with little information needed beforehand. In some cases it’s also much faster, unless you need time with someone else who is already trapped in meetings all week.

With **Asynchronous** there is more responsibility on the individual raising the concern to document their thoughts, and write their query in a way that helps others quickly understand the problem. It also means because the conversation is public they have to feel safe with posting their thoughts, and understand that the feedback may challenge them. It may also take longer (in some cases) to get to the final answer, but you will at least be giving more people the chance to input and will have documented all the discussion (so that it doesn’t get lost in the ether of teams calls).

## 🖋️ Summary
This is a small example of the impact of asynchronous communication, there is a lot more detail that we could go into but hopefully this gives an introduction to those trying to quickly understand it.

There will be more posts coming from me on asynchronous working, so watch this space.