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)

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