In many workplaces coding is an independent activity. You get a few tickets, spend most of your time hacking away at the problem, get review of your solution, and then deploy it. Communication is primarily reading and writing whether it is commit messages, documentation, or notes in Slack. Nobody is prodding or pressuring you to get anything done. You are expected to have your work complete at the bi-weekly check-in and have asked for assistance in the meantime if you need it.
Why It Matters
This works horribly for a lot of people. Many folks do not participate in Slack, write terse commit messages or project updates, and only engage in the act of coding if someone else is on a video chat with them. For someone expecting more interaction or supervision, a job that operates asynchronously might be a bit of a nightmare, or at least an awful fit.
Making It Work
- GitLab has written a whole guide on asynchronous communication.
- Amazon requires executives to write and then read six page memos at the start of every meeting.
- Pivotal Labs has software engineers pair program for the entirety of their workday.
- Many organizations adopting agile have a daily stand-up meeting.
My Take: Find the Right Fit for You
There is no one size fits all solution to work styles. I love working mostly asynchronously at my day job and being independent. My auditory processing issues made workplaces that relied primarily on verbal communication and meetings challenging for me. I could not imagine having to pair program all day. But for many folks, a day of pair programming with a meeting or two is a great day. Find what makes you most productive.