I have been coaching several developers to further grow professionally, since transitioning to being an engineering manager. I have noticed a few skills that people often underestimate the importance of developing. Skills that add a significant boost to the impact of any software engineer. One of these is writing.
Most developers primarily focus on becoming great at writing code. And this makes perfect sense. This is an essential step to become a great engineer within a reasonably sized team.
Successful companies, however, grow continuously. Sooner or later, the software engineering team will be beyond a few dozen people, where everyone can easily talk with everyone else. People will be split across different floors. New offices in different locations will be opened. Face-to-face communication starts to be insufficient. Channels like email, chat or video calls become more important. The pace of which this growth happens varies by company: for some, it takes years. For some of the really successful companies, it happens much more rapidly.
It is with a larger organization that writing becomes important for messages to reach a wider group of people. For software engineers, writing becomes the tool to reach, converse with and influence engineers and teams outside their immediate peers. Writing becomes essential to make thoughts, tradeoffs, and decisions durable. Writing things down makes these thoughts available for a wide range of people to read. Things that should be made durable can include proposals and decisions, coding guidelines, best practices, learnings, runbooks, debugging guides, postmortems. Even code reviews.
For people to read what you write, it needs to be written well. If you grab people's attention early on, they will keep reading and they will receive the message you intended to get across. More of them will respond to it and do it without few misunderstandings on what you meant. By writing well, you can scale your ability to communicate efficiently to multiple teams, to an organization or across the company. And the ability to communicate and influence beyond your immediate team is the essential skill for engineers growing in seniority - from senior engineer to what organizations might call lead, principle, staff or distinguished engineer.
So how can you work on becoming better at writing? Writing clearly, concisely and in a way, that is easy to read? As with every skill, it's a matter of being aware of the fundamentals, practicing, getting feedback and repeating.
For learning the fundamentals, books are a good place to start. The book I frequently recommend engineers to start with from my reading list is On Writing Well: The Classic Guide to Writing Nonfiction.
Being aware of the fundamentals, re-reading your own writing and ruthlessly re-editing is the next step in becoming a better writer. Putting yourself in the shoes of who you write for and asking yourself if you are grabbing their attention early is key. Challenging yourself to deliver the same message in a shorter form and re-writing your content is another. Immediate feedback from services like Grammarly is helpful. Asking for feedback on your emails and documents from people who you have seen write well is another way to grow.
Don't take this advice just from me. Take it from others, like employee #8 and now SVP of engineering at Google, Urs Hölzle who also says that writing clearly is an important superpower for engineers.
Developers often underestimate the importance of writing well. Invest in this skill to scale your ability to get your message to others, becoming a more influential engineer.
About me: I'm an engineer turned engineering manager, working at the intersection of Silicon Valley & European startups and tech companies. I write about software engineering, tech leadership, and challenges in high-growth environments. Follow me here or subscribe on my blog, The Pragmatic Engineer.