The long way through Software Craftsmanship

Talk: Software is eating the world

May 10, 2015 - 2 minute read - Comments - erik-meijertalkagiletddreaktor-dev-day2014analogy

I’ve watched this talk by Erik Meijer

My notes

Feedback systems

  • Open (no) feedback system, such as timed sprinklers
  • Closed feedback system
  • Output only system

Why everything is software

  • Examples of everything is software
  • Software is eating the world
  • Even hardware is modeled as software

Modeling as a Finite State Machine (FSM)

  • There’s memory in the feedback loop. See the finite state machine
  • A lesson from “World War Z”: “When nine people agree on something, it’s the tenth man’s responsibility to disagree no matter how improbable the idea”. “You don’t believe your own [ideas]”. There’s an article here and here, but they don’t cite any official source related to this. The second one cites World War Z again, so it might be confirmation bias.
  • Test in production (e.g., chaos monkey from Netflix) rather than doing TDD
  • No evidence of TDD as effective, he sees it as waste
  • Move fast and break things

About layered organizations

  • Layered architecture. Examples: OSI, Catholic Church, Army
  • Analogy: Software development as a professional team structure (also cited from Netflix)
  • Book: Creativity from Constraints: the psychology of breakthrough. Focus, constraint, creativity
  • Presentation: Developing Expertise: Herding Racehorses, Racing Sheep
  • Analogy: Developers are like junkies, we want to be high all the time
  • Answering a new proposal: instead of “no, but” (black hat), “yes and” (blue hat). Reference to Bossypants by Tina Fey
  • Your knives, your tools. “How can we make millions if we don’t value our tools?”

Conclusion

About software:

software will take over the world, and developers are the ones who make it happen.

About methodologies:

“Programming, motherfucker. Do you speak it?” (Source)

Disclaimer about AI/GenAI

As of 2026-05-06, the text in these articles and blog entries has been written without AI/GenAI, except I sometimes use a spellchecker to fix errors. Think Word's spellchecker, not ChatGPT.

Notes, as of today (2026-05-06):

  • No code snippet has been automatically generated, nor vibe-coded, nor generated and reviewed.
  • I don’t have any article with AI contribution.

For future entries:

  • I may have used GenAI for the code in the repo. The code I exemplify/copy in the article will always be reviewed and tested, not vibe-coded. I will specify it in each snippet or at the top/bottom of the article.
  • I normally don't use it for the text contents, although if I have used it for the article text, it would be indicated as such.

Any entry before 2026-05-06 does not contain any AI/GenAI.

For more information, read the AI/GenAI Policy

Self-study in May 2015 Paper: TDD in industrial teams