Communication for Engineers: A framework for software developers to become a better communicator and increase their happiness, productivity, and impact
- Length: 304 pages
- Edition: 1
- Language: English
- Publisher: Independently published
- Publication Date: 2021-02-09
- ISBN-10: B08W7SNN69
- ISBN-13: 9798707037603
- Sales Rank: #553548 (See Top 100 Books)
Being able to communicate effectively is one of the most crucial life skills to learn. Through communication, we transfer information to produce a greater shared understanding. Communication is multi-faceted. You can share information verbally or through written media, such as books, websites, and documents. You can enrich your communication visually using graphs, charts, images, and maps. Finally, you can complement the message with non-verbal communication such as body language, gestures, tone, and voice pitch.As software engineers, we care a lot about our code. It defines us. We study the programming languages we use in great detail. We become experts in the tools we deploy. We argue with other engineers who are not using the same editors we use. In college, we learn how to write compilers. We learn multiple programming languages, frameworks, and design patterns. A large majority of our formal education draws our focus on these technical topics. We see the same in informal discussions between software engineers.However, “softer” skills get less attention. Some examples: How to collaborate, how to achieve consensus on an idea, how to articulate our thoughts, how to make meetings effective, and how to listen to others. The more senior you become, the larger your scope of influence, and the less you can communicate effectively just by talking with others.Stand-ups, planning meetings, and peer programming sessions all have their physical limits. This effect applies to you sooner than you think. At that point, you need to pivot to asynchronous communication: you need to switch to writing. Those who can write well suddenly have a significant advantage. Through well-written communication, your words and thoughts can influence hundreds or even thousands of people.If writing is a superpower, I am not sure what we would call reading. Perhaps, a hyperpower. To become excellent at writing, you need to read a lot. Reading provides you with different perspectives and insights. Reading faster helps you process information faster, allowing you to make more informed decisions. Most successful people are voracious readers. If there is any advice I can give you as a fellow engineer, read more. This book gives the same advice.The communication in a company naturally forms a graph, with people as the nodes and interactions (emails, meetings, documents, code) as edges. In the communication graph, highly productive individuals look like “supernodes,” with many edges: lots of information flows through them and from them. The supernodes bridge different clusters in the graph and allow information to reach otherwise disconnected parts. What enables these exceptional individuals to become so successful? Exceptional communication skills.A few years ago, visiting Google NYC, Chris pulled me aside to meet his team for a demo. He was working on a prototype version of Google Meet. The demo was compelling. I saw the problem the team was trying to solve. I understood how they were experimenting to come up with a better solution. Like written materials, good demos tell a story and focus on the user problem. Communication is not just about writing; it is about conveying something effectively, using various tools such as a demo, code, text, or speech.By now, it should be clear that, as an engineer, you should invest in your communication skills. This book provides an excellent plan, combined with a methodical approach and actionable advice. No single book can turn you into an expert (remember “voracious reader?”) but reading this concise book can put you on a path to becoming a more successful and impactful engineer. Most importantly, you will be a happier engineer. Enjoy reading!Urs Hölzle, SVP at Google