GeeCON 2025: Baruch Sadogursky - Coding Fast and Slow: Applying Kahneman's Insights to Improve Dev.
GeeCON 2025: Baruch Sadogursky - Coding Fast and Slow: Applying Kahneman's Insights to Improve Dev.
Summary
### Overview In this GeeCON presentation, Baruch Sadogursky explores developer productivity and code quality through the lens of behavioral psychology, specifically the work of Daniel Kahneman (*Thinking, Fast and Slow*). Sadogursky explains how the human brain relies on two primary modes of thought—System 1 (fast, intuitive, emotional, automatic, and cheap) and System 2 (slow, deliberate, analytical, logical, and expensive)—and maps these systems to everyday software engineering practices. Because writing high-quality software requires the deliberate, analytical effort of System 2, understanding the biological and cognitive limits of mental fuel is critical to preventing poor engineering decisions.
### Key Topics - **System 1 vs. System 2 in Software Engineering**: System 1 excels at rapid pattern recognition, while System 2 handles complex analytical tasks like architecture, design, and non-trivial coding. When developers exhaust their mental fuel, they unconsciously default to System 1. - **The Danger of 'Okay Code'**: Code produced under System 1 is not necessarily outright broken; it compiles, passes happy-path tests, and appears fine on the surface. Sadogursky argues that "okay code" is more dangerous than bad code because it slips past fatigued code reviewers and automated pipeline checks, silently degrading software quality across the industry. - **The Fallacy of Pure Coding Intuition**: While repetitive activities with immediate feedback loops (such as driving, sports, or firefighting drills) can transition from System 2 to System 1 via practice, large-scale software engineering decisions have delayed or absent feedback loops. Consequently, high-level software engineering cannot be safely reduced to pure System 1 intuition. - **Cognitive Drains and Interruptions**: Research on attention (such as Dr. Gloria Mark's work) shows that context switching and interruptions severely degrade performance. Checking emails (averaging 77 times a day) or switching context during a build takes roughly 25 minutes to regain deep focus, draining finite mental fuel and breaking flow state.
### Technical Details & Mental Fuel Management Sadogursky reviews biological research demonstrating that mental fuel has physical limits tied to cellular metabolism. To prevent depletion and stay out of automatic System 1 coding, he outlines several practical tactics: - **Time and Interruption Management**: Implementing minimum time blocks (e.g., at least 25-minute Pomodoro sessions without premature switching if in flow), batching similar tasks, turning off constant notifications, and using dynamic scheduling tools (such as Reclaim AI) to defend focus time while maintaining availability. - **Physical and Cognitive Well-being**: Prioritizing sleep as the only true way to fully restore cognitive batteries (recommending 7–8 hours), practicing downtime, and utilizing short "caffeine naps" (drinking coffee immediately before a 20-minute nap) to recharge midday. - **Optimizing Developer Tooling & Automation**: Shortening build feedback loops (e.g., keeping builds close to 1 minute to avoid context switching), automating repetitive tasks, and delegating non-core, time-consuming responsibilities. - **Delegation and AI**: Evaluating tasks via a structured framework: if a task is outside a team's core expertise, hard to learn, and time-constrained, it should be delegated. He discusses using specialized AI models and agentic tools (such as JetBrains, Windsor Cascade, VS Code Copilot agent, or quality-focused agents like Coder) or delegating complex specialized problems like library security patching (referencing TuxCare's Secure Chain for Java).
### Takeaways Developers must recognize that cognitive energy is finite and that tiredness causes an automatic, unannounced shift to System 1, resulting in mediocre code. Maintaining high software quality requires actively protecting mental fuel through disciplined time blocking, reducing context switching, eliminating unnecessary notifications, getting adequate sleep, shortening feedback loops, and strategically delegating non-core tasks.
Related talks
geecon conference·1 hr 10 min
Baruch Sadogursky · Leonid Igolnik
GeeCON 2025: Baruch Sadogursky, Leonid Igolnik - Back to the Future of Software.
BSides Canberra 2025·5 min
Jeremy Keast
Jeremy Keast details WTF is a TLA? Come and play a fast round of Cyber Buzzword Bingo.
Black Hat·37 min
Alina Tan · George Chen · Chee Peng Tan · Ri-Sheng Tan · Penelope Chua · Benjamin Cao
Presenters detail vulnerability discovery and exploitation in DriveThru Car Hacking: Fast Food, Faster Data Breach.


