sveska

Note on Communication for Engineers

Communication for Engineers: A Framework for Software Developers

Importance of Communication

  • Effective communication is a crucial life skill. It involves verbal and written exchanges, visual aids (graphs, charts), and non-verbal cues (body language, tone).
  • As software engineers, we often focus on technical topics, but softer skills (collaboration, articulation, listening) are equally vital.

Transition to Writing

  • Physical limits exist for stand-ups, meetings, and peer programming sessions. Asynchronous communication (writing) becomes essential.
  • Well-written communication gives a significant advantage. Your words can influence many people.

Reading and Writing Superpowers

  • Reading provides diverse perspectives and insights. Reading faster improves decision-making.
  • Successful people are voracious readers. So, read more!

Communication Graph

  • In a company, communication forms a graph with people as nodes and interactions (emails, meetings, code) as edges.
  • Highly productive individuals act as “supernodes,” bridging different clusters and enabling information flow.

Writing for Clarity

  • Writing is thinking. Clear writing is clear thinking. Unclear writing is unclear thinking.
  • Use simple words, short sentences, and active voice. Avoid jargon and buzzwords.
  • Write for the reader. What do they need to know? What do they want to know?

Writing for Impact

  • Use storytelling to make your writing memorable. People remember stories, not bullet points.
  • Use analogies and metaphors to explain complex concepts. They make your writing relatable.
  • Use the “inverted pyramid” structure. Start with the conclusion, then provide details.

Writing for Persuasion

  • Use the “AIDA” model: Attention, Interest, Desire, Action.
  • Start with a compelling headline. Use subheadings, bullet points, and visuals to keep the reader engaged.
  • Use social proof, testimonials, and case studies to build credibility.
  • End with a clear call to action.
  • Use the “4 Cs” of persuasive writing: Clear, Concise, Compelling, Credible.

Writing for Code

  • Code is a form of communication. Write clean, readable, and maintainable code.
  • Use comments to explain “why” (not “what”). Write self-documenting code.
  • Use version control to track changes and collaborate effectively.
  • Write good commit messages. They are a form of communication.
  • Write good documentation. It’s a form of communication.
  • Write good tests. They are a form of communication.
  • Write good error messages. They are a form of communication.
  • Write good APIs. They are a form of communication.

Speaking and Presenting

  • Speaking is a form of communication. Public speaking is a valuable skill.
  • Use the “PVC” model: Prepare, Visualize, Connect.
  • Prepare: Know your audience, know your material, practice.
  • Visualize: Use stories, analogies, and metaphors. Use visuals (slides, props).
  • Connect: Make eye contact, use body language, engage the audience.
  • Use the “Rule of Three” in presentations. People remember three things.
  • Use the “10-20-30” rule for slideshows. 10 slides, 20 minutes, 30-point font.
  • Use the “PREP” model for impromptu speaking: Point, Reason, Example, Point.
  • Use the “STAR” model for answering questions: Situation, Task, Action, Result.
  • Use the “SOFTEN” model for difficult conversations: Smile, Open posture, Forward lean, Touch, Eye contact, Nod.
  • Use the “HEART” model for storytelling: Hook, Emotion, Authenticity, Resolution, Tension.
  • Use the “SCQA” model for structured thinking: Situation, Complication, Question, Answer.
  • Use the “PEEL” model for persuasive writing: Point, Evidence, Explanation, Link.

Listening and Feedback

  • Listening is a form of communication. Active listening is a valuable skill.
  • Use the “RASA” model: Receive, Appreciate, Summarize, Ask.
  • Give constructive feedback. Use the “SBI” model: Situation, Behavior, Impact.
  • Receive feedback graciously. Use the “GROW” model: Goal, Reality, Options, Will.
  • Use the “EGRIP” model for difficult conversations: Empathy, Goals, Reality, Ideas, Plan.
  • Use the “DEAR” model for difficult conversations: Describe, Express, Assert, Reinforce.
  • Use the “DESC” model for difficult conversations: Describe, Express, Specify, Consequences.

Conclusion

  • Communication is a skill that can be learned and improved. It’s worth the effort.
  • Good communication can help you build relationships, influence people, and achieve your goals.
  • So, keep reading, writing, speaking, and listening. Keep learning and growing.
  • Remember, communication is not just about words. It’s about connection.
  • And connection is what makes us human.
  • So, keep connecting. Keep communicating. Keep being human.