Crafting Code Podcast
~/podcast
$ cd themes
~/podcast/themes $ tree -d. ├── architecture-and-systems │ ├── apis-rest-and-graphql │ ├── architecture-decision-records │ ├── data-and-datastores │ ├── domain-driven-design │ ├── event-driven-architecture │ ├── fitness-functions │ ├── hexagonal-architecture-and-adapters │ ├── microservices-and-monoliths │ └── software-architecture ├── career-development-and-continuous-learning │ ├── asking-questions-and-teaching │ ├── careers-and-job-changes │ ├── communities-and-events │ ├── craftsmanship-and-professionalism │ ├── deliberate-practice-and-learning-culture │ ├── ego-humility-and-ownership │ ├── mentoring-apprenticeship-and-learning-paths │ └── skill-models-and-expertise ├── code-design-and-quality │ ├── comments-and-self-documenting-code │ ├── coupling-and-cohesion │ ├── design-patterns │ ├── duplication-and-abstraction │ ├── frameworks-and-tool-dependence │ ├── readable-code-and-naming │ ├── simple-design-and-over-engineering │ ├── solid-principles │ └── technical-health-technical-debt-and-code-rot ├── culture-leadership-and-strategy │ ├── company-culture-and-incentives │ ├── context-over-dogma │ ├── costs-constraints-and-trade-offs │ ├── leadership-and-delegation │ └── wardley-mapping-and-strategy ├── engineering-practices │ ├── ai-and-llm-assisted-coding │ ├── ci-cd-and-trunk-based-development │ ├── feature-flags-and-safe-releases │ ├── pairing-and-mob-programming │ ├── refactoring-legacy-and-rewrites │ └── testing-and-tdd ├── flow-and-process │ ├── delivery-metrics-and-productivity │ ├── estimation-and-commitments │ ├── flow-and-small-batches │ ├── retrospectives-and-blameless-learning │ └── slack-utilization-and-urgency └── teams-and-collaboration ├── conways-law-and-team-structure ├── cross-functional-teams-and-product-discovery ├── effective-teams ├── folklore-and-oral-history ├── full-stack-and-t-shaped-developers └── team-communication-and-shared-language 55 directories~/podcast/themes $ cat ../copyright.txt
Copyright © 2026 - Crafting Code Podcast