Communication is an effectiveness multiplier for a software developer.
Let me digress a bit. One of the podcasts I listen to is How I Built This with Guy Raz. Every episode is a fascinating deep dive into how the guest built their company from the ground up.
Near the end of each episode the host Guy asks the guest how much of their success was due to luck and how much was due to their hard work. Every founder admits that luck was a component of their success.
I would like to suggest that you can think of their success as a formula:
success = luck x hard work
A bit of luck combined with a lot of hard work will can result in a similar amount of success as lot of luck with a lesser amount of hard work. And the luck component can come in many forms: meeting the right person at the right time, recognizing a product/market fit, having the the right buyer pick up the phone on a cold call. All of these things wouldn’t mean anything without the hard work accompanying it.
Bringing this back to software developers…
impact = coding ability x communication skills
A software developer can increase their effectiveness by improving their communication skills. This means everything from Slack messages, emails, PRs write-ups, code review comments to full documents.
At the simplest level, joining another team’s slack channel is an opportunity to ask a well-formed question, with all the information they need to help you. Its easy to just quickly type something without much detail, forcing the responder to ask multiple questions before they have enough context to answer.
A well written pull request description gives the reviewer the context they need to provide good feedback. A pull request description is also a letter to future developers. In six months, if another developer needs to understand more about the related code, the pull request can give them the context they need to understand it.
Take the opportunity to write beyond your day to day activities: write up tricky bug investigations, document complex processes, create documents for developers new to your codebase. All of these are opportunities for improving your communications skills.
Communicating clearly and concisely with your colleagues at every opportunity will help elevate your impact at work.