The Startup
Published in

The Startup

Increasing developer efficiency with async communication

Photo by Annie Spratt on Unsplash

What is asynchronous communication?

The problems with synchronous communication

Forms of synchronous communication — Credit to ec4u.com
  • Reduced development time: As I talked about in the intro, the context switching required to reply to messages further reduces the already limited amount of time developers have to focus on their tasks.
  • Low quality code: Interrupted focus when working on complex code, paired with less development time, can lead to the introduction of bugs and vulnerabilities.
  • Increased stress: Developers can become worried about managers thinking they are not working or missing out on important discussions if they don’t quickly react to messages. Stress can really impact concentration and focus.
  • Rushed discussions result in bad solutions: When constraining discussions on an issue to relatively short real-time meetings / chat conversations, you reduce the amount of time for people to give well-considered and well-researched contributions.

How can async help?

Better developer experience

Improved planning

Reduces points of failure

Better discussions

Balance between the two

  • Back-and-forth discussions: Some discussions require a little more real-time communication to effectively argue your point or explain certain topics. Discussions that involve a lot of questions being asked can sometimes be done better in real-time. This kind of discussion would ideally be done as a precursor to something more formal.
  • Final stage interviews: Determining if a potential employee is a good fit for a team is something that can’t be easily done without an informal person to person chat.
  • Creative discussions: Creative and exploratory concepts can be hard to communicate through text.
  • Sensitive topics: Certain discussions need a more personal side to them. Being given praise or informed about a promotion has much more impact when done in a personal way. (Side note: some sensitive discussions may make people uncomfortable and they may prefer it to not be in person or over the phone. Consider the individual person where possible.)
  • Team building: Teams work better when they get along and enjoy working together. Hackerthons, meals out and other non-work events can be great for helping teams collaborate better and for mental health.

How to implement async

Basics

  • If you’re about to send a message to start a conversation regarding the status of a few stories, write one message asking all the questions you want answered instead.
  • If you’re about to schedule a meeting and know you need some people just to answer a couple of questions, add those questions into the meeting notes instead so those people can add their responses and then are no longer required for the actual meeting.

Further adoption

Specific to developers

Remote working

  • Allows for developers to work at the time they feel the most productive. No more having to force yourself to fit into 9–5 work days.
  • Enables more distribution . You can hire people from places that would normally have too much of a time difference.
  • Lets developers easily fit work in alongside their personal life.

Conclusion

--

--

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +768K followers.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dillon Erhardt

Payments Lead Engineer @ Comma. I talk about process, architecture and security. https://dillonerhardt.com