Effective problem solving
summary
Argues that mastering two fundamentals—state management and side-effect management—lets developers turn fuzzy requirements into named, standard problems by blackboxing inputs/outputs, naming intermediate states and splitting work into state transitions. Shows Java-flavored tactics: prefer immutability, make implicit inputs explicit (time, filesystem), keep side effects at the edges (leads to hexagonal architecture), and use static only for pure functions. Recommends concrete practice: debugging, teaching juniors, and kata/Advent of Code to expand the vocabulary of standard problems.
AI-written summary · about
chapters (7)
- 0:00Introduction and speaker intro
- 3:12Why problem solving matters
- 8:24Blackboxing and state transitions
- 13:45Standard problems and their names
- 21:31Fundamental problems in software
- 27:04Practicing and improving problem solving
- 31:19Conclusion and Q&A invitation








