Recent Posts
Archives

PostHeaderIcon [VoxxedDaysAmsterdam2026] Coding Fast and Slow: Managing Mental Energy for Sustainable Software Development

Lecturer

Baruch Sadogursky is a Developer Advocate at Tessl, focusing on package management for AI agent skills. A Java Champion with extensive experience in DevOps and software engineering, Baruch explores the intersection of behavioral psychology and programming practices to improve developer effectiveness and well-being.

Abstract

Software development demands significant cognitive resources, yet the mental costs of context switching, interruptions, and decision fatigue are frequently overlooked. Baruch Sadogursky applies insights from behavioral psychology, particularly Daniel Kahneman’s framework of fast and slow thinking, to examine how developers can manage mental energy more effectively. The presentation analyzes the biological and psychological mechanisms underlying attention, fatigue, and intuition, while offering practical strategies for preserving cognitive capacity throughout the workday. Topics include reducing unnecessary context switches, implementing deliberate work patterns, and leveraging AI tools with appropriate context engineering. These approaches enable developers to maintain high-quality output while avoiding burnout and sustaining long-term productivity.

The Dual Systems of Human Cognition in Programming

Human decision-making operates through two distinct cognitive modes. System one functions automatically, emotionally, and with minimal effort. It excels at pattern recognition and rapid responses but can lead to errors when complex analysis is required. System two engages deliberate, logical, and effortful thinking. It handles complex problem-solving and critical evaluation but consumes significant mental energy and operates more slowly.

In software development, system one drives much of routine coding activity. Experienced developers intuitively navigate familiar codebases, recognize common patterns, and make quick implementation decisions. This efficiency feels productive and satisfying. However, system one also introduces risks. Code that “looks okay” may contain subtle flaws that system two would identify through careful review. When mental resources are depleted, developers default to system one even for tasks requiring deeper analysis, resulting in overlooked issues and technical debt.

System two becomes essential for architectural decisions, debugging complex interactions, code reviews, and learning new technologies. The challenge lies in preserving sufficient system two capacity for these critical activities rather than exhausting it on routine interruptions and low-value tasks.

The Hidden Costs of Context Switching and Interruptions

Modern work environments are engineered to fragment attention. Email notifications, messaging platforms, meetings, and status updates create frequent context switches throughout the day. Each interruption forces the brain to reload relevant information, reestablish mental models, and regain focus. This process is metabolically expensive and significantly reduces overall effectiveness.

Research demonstrates that developers check email approximately 77 times daily on average. Attention spans on digital interfaces average just 47 seconds before shifting to another task. Returning to deep work after an interruption requires substantially more time than most people realize. The cumulative effect is reduced code quality, increased errors, and diminished creative problem-solving capacity.

Critically, developers often fail to recognize when their cognitive performance has declined. Similar to how tired individuals overestimate their driving ability, programmers working on system one may believe their code quality remains high. This self-assessment bias makes proactive management of mental energy essential rather than reactive.

Strategies for Preserving and Replenishing Cognitive Resources

Effective mental energy management requires both prevention of depletion and strategic restoration. Time blocking dedicates specific periods to focused work without interruptions. The Pomodoro technique, originally using 25-minute intervals, establishes minimum focused periods while allowing flexibility for natural flow states. When developers enter deep concentration, they should continue beyond the timer rather than forcing artificial breaks.

Task batching groups similar activities to minimize context switches. Responding to all messages during designated periods rather than reacting immediately preserves cognitive continuity for primary development work. Physical exercise, adequate sleep, and mindfulness practices support overall cognitive resilience. Sleep in particular serves as the primary mechanism for restoring system two capacity, making consistent rest non-negotiable for sustained performance.

Workspace organization and notification management reduce environmental triggers for attention shifts. Tools that intelligently manage calendars and protect focus time help implement these practices at scale. Delegation of routine tasks to appropriate automation or AI assistance frees cognitive resources for higher-value activities.

Engineering Context for Human and Machine Systems

Context engineering addresses both human and artificial intelligence systems. For developers, clear documentation, consistent coding standards, and well-structured codebases reduce the mental effort required to understand and modify systems. When context is preserved, system two can focus on creative problem-solving rather than basic comprehension.

Artificial intelligence systems similarly require rich context to perform effectively. Large language models benefit from detailed prompts, relevant examples, and domain-specific knowledge. The same principles that help human developers maintain context—clear boundaries, explicit documentation, and systematic organization—enhance AI performance when integrated thoughtfully.

Modern AI coding assistants represent both opportunity and responsibility. When used with appropriate context, they augment human capabilities without replacing critical thinking. However, over-reliance on AI without sufficient system two engagement can lead to acceptance of suboptimal code that appears functional but lacks deeper quality. Balancing AI assistance with human judgment remains essential for maintaining code integrity.

Building Sustainable Development Practices

Organizations can support cognitive sustainability through intentional practices. Protected focus time, reduced meeting loads during deep work periods, and recognition of the costs of context switching contribute to better outcomes. Engineering workflows that minimize unnecessary interruptions while maintaining necessary collaboration create environments where developers can consistently access their full cognitive capabilities.

Individual developers benefit from self-awareness of their energy patterns and implementation of personal systems for protection and restoration. Regular reflection on work patterns, experimentation with different techniques, and honest assessment of code quality under varying conditions build more effective personal practices.

The goal extends beyond short-term productivity to sustainable careers in software development. By treating mental energy as a finite and valuable resource, developers and organizations can achieve higher quality outcomes while reducing burnout and turnover.

Technology continues to evolve, with AI assuming more routine tasks and shifting human roles toward system-level thinking and creative problem framing. The ability to manage cognitive resources effectively becomes increasingly valuable in this landscape. Developers who master these skills will maintain their effectiveness and competitive advantage regardless of technological changes.

Conclusion: Toward More Conscious Software Creation

Software development is fundamentally a cognitive activity requiring sustained mental effort and clear thinking. Understanding the mechanisms of attention, fatigue, and decision-making empowers developers to work more effectively. By applying principles from behavioral psychology to daily practices, teams can reduce unnecessary cognitive costs and preserve capacity for the most valuable aspects of their work.

The combination of thoughtful process design, appropriate tool usage, and individual self-management creates conditions where developers can consistently produce high-quality work while maintaining their well-being. In an industry characterized by rapid change and high demands, these skills become essential for long-term success and satisfaction.

Conscious management of mental energy transforms software development from a reactive, exhausting process into a sustainable, engaging craft. The investment in understanding and optimizing cognitive performance yields returns in code quality, innovation, and professional fulfillment.

Links:

Leave a Reply