liveBook · Manning

Communication

As explained in The Creative Programmer

Communication is the exchange of information, ideas, or intentions between people or groups.

Communication is the exchange of ideas, intentions, and knowledge between people. In software work, it is more than sending updates: it helps teams coordinate, share feedback, question assumptions, and turn individual ideas into work others can understand. When communication breaks down, even imaginative projects can stall. section 3.4 section 3.5

A useful question is not simply “Who is right?” but “What does the other person mean, and why?” When someone says a solution cannot be built, immediately disproving them can create conflict. First uncover prior attempts, local constraints, stack preferences, or borrowed assumptions; then clear up misconceptions together. Pair programming can help replace quick judgments with shared insight. section 5.4.8 section 5.4.8

Communication failures can be recognized as community smells—memorable names for recurring team problems:

  • Time Warp: organizational change creates the false belief that coordination will take little time, leaving problems unresolved. section 3.4.3
  • Cognitive Distance: physical, technical, or social distance produces distrust, misinterpretation, and wasted time. section 3.4.3
  • Power Distance: perceived hierarchy prevents people from sharing knowledge. section 3.4.3
  • DevOps Clash: strict separation between development and operations fosters cultural conflict and weak trust. section 3.4.3
  • Black Cloud: unmanaged information overload causes valuable ideas to be lost. section 3.4.3

Naming a smell does not automatically diagnose a team, but it gives people a less personal way to discuss a difficult pattern. Look for whether ideas are stagnating, racing past one another, or spreading effectively. Welcome genuine critical feedback rather than agreement for its own sake, and seek perspectives beyond the group’s usual interests. section 3.4.3 section 3.5

Making an idea understandable

Suppose a programmer proposes an unusual design and receives criticism. The response is not only a test of technical correctness: others’ evaluation affects whether the work is recognized and adopted. If nobody understands the code, simplifying it may be more productive than demanding acceptance. Communication therefore connects creative work to its audience. section 5.6

How The Creative Programmer covers it

How deep it goes
Explains team-level communication through coordination failures, community smells, feedback, and an empathetic conflict-response practice.
Examples
Uses named community smells, a disputed technical claim, pair programming, and understandable code as concrete situations.
What you can do after
Apply it to identify communication obstacles, invite critical feedback, and address disagreement without escalating conflict.
How it connects
Connects communication with creativity, social debt, critical thinking, pair programming, feedback, and knowledge sharing.

Also explained in

Compare how 7 books explain communication →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of The Creative Programmer. The section links point to the parts of the book it draws on.