Crafting Code Podcast
$ cd episodes/003-two-conversations-pass-in-the-night
~/podcast/episodes/003-two-conversations-pass-in-the-night $ ls -1a ~/podcast/episodes $ cat episode-summary.txtCoding is a specialized skill where we learn to communicate with a machine. Unfortunately, this can often blind us to the fact that crafting code involves a lot of communication with humans. Writing clean, expressive code communicates with other coders. Communicating well with non-coders helps us understand business needs so we can write the right code.
Timestamps
[00:00:00] Host introductions. Writing code for humans.
[00:08:08] Why is naming things so hard? Don't tell lies in the code.
[00:13:32] Clean code in practical terms. Communicating intent. Understanding why code was written that way.
[00:17:45] Skiing metaphor: are there black diamond codebases? Don't be the abominable snowman.
[00:24:49] How do we effectively communicate between "engineering" and "the business?"
[00:30:20] Using concepts from Domain Driven Design: ubiquitous language and the bounded context.
[00:39:30] Being on the same page with your terminology can help you go fast. Learn how to articulate the concepts of code so you can "do the thing."
[00:45:51] Saying yes, no, and giving estimates. What did the other person think you just agreed to?
[00:51:52] A whiteboard is a great tool for communicating an architectural vision. Hands-on exercises reinforce fast feedback.
[00:59:04] Focus on what brings customer value; they don't care about the technology you used to build it. Don't let the technique or tech eclipse the business value.
[01:05:20] Outro
Books mentioned during this episode:- Clean Code by Robert C. Martin
- Domain Driven Design by Eric Evans
- Naming as a Process by Deep Roots
Copyright © 2024 - Crafting Code Podcast