Wankered
Understanding and addressing developer exhaustion in the software industry
In software development, there’s a lot of talk about technical debt, scalability challenges, and code quality. But there’s another debt that’s rarely acknowledged: the human cost. When we are consistently pushed beyond our limits, when the pressure never lets up, when the complexity never stops growing—we become wankered. Completely and utterly exhausted.
This isn’t just about being tired after a long day. This is about the deep, bone-deep fatigue that comes from months or years of ridiculous practices, impossible deadlines, and the constant cognitive load of modern software development.
The Weight of ComplexityMental Load OverflowModern software development isn’t just about writing code. We are system architects, database administrators, DevOps engineers, security specialists, team mates, user experience designers, and people—often all in the same day. The sheer cognitive overhead of keeping multiple complex systems in our minds simultaneously is exhausting.
Every API integration, every third-party service, every microservice adds to the mental model that we must maintain. Eventually, that mental model becomes too heavy to carry.
Context Switching FatigueNothing burns us out faster than constant context switching. One moment we’re debugging a race condition in the payment service, the next we’re in a meeting about user interface changes, then we’re reviewing someone else’s pull request in a completely different part of the codebase.
Each switch requires mental energy to rebuild context, and that energy is finite. By the end of the day, we’re running on empty, struggling to focus on even simple tasks.
The Always-On CultureSlack notifications at 9 PM. ‘Urgent’ emails on weekends. Production alerts that could technically wait until Monday but somehow never do. The boundary between work and life has dissolved, leaving us in a state of perpetual readiness that prevents true rest and recovery.
The Exhaustion CycleSprint After SprintAgile development was supposed to make our work more sustainable, but too often it’s become an excuse for permanent emergency mode. Sprint planning becomes sprint cramming. Retrospectives identify problems that never get addressed because there’s always another sprint starting tomorrow.
The two-week rhythm that should provide structure instead becomes a hamster wheel, with each iteration bringing new pressure and new deadlines.
Technical Debt BurnoutWorking with legacy systems day after day takes a psychological toll. When every simple change requires hours of archaeological work through undocumented code, when every bug fix introduces two new bugs, when the system fights back at every turn—the frustration compounds into exhaustion.
The Perfectionism TrapSoftware development attracts people who care deeply about their craft. But in an environment where perfection is impossible and deadlines are non-negotiable, that conscientiousness becomes a burden. The gap between what we want to build and what we have time to build becomes a source of constant stress.
How Tired Brains Sabotage ProductivityThe Neuroscience of Mental FatigueWhen we’re mentally exhausted, our brains don’t just feel tired—they actually function differently. The prefrontal cortex, responsible for executive functions like planning, decision-making, and working memory, becomes significantly impaired when we’re fatigued.
This isn’t a matter of willpower or motivation. Tired brains literally cannot process complex information as effectively. The neural pathways responsible for holding multiple concepts in working memory become less efficient. Pattern recognition—crucial for debugging and coding—deteriorates markedly.
Cognitive Load and Code ComplexitySoftware development requires managing enormous amounts of information simultaneously: variable states, function dependencies, user requirements, interpersonal relationships, system constraints, and potential edge cases. When our brains are operating at reduced capacity due to exhaustion, this cognitive juggling act becomes nearly impossible.
We make more logical errors when tired, miss obvious bugs, and struggle to see the bigger picture whilst handling implementation details. The intricate mental models required for complex software architecture simply cannot be maintained when our cognitive resources are depleted.
Decision Fatigue in DevelopmentEvery line of code involves decisions: variable names, function structure, error handling approaches, performance trade-offs. A fatigued brain defaults to the path of least resistance, often choosing quick fixes over robust solutions.
Research shows that as mental fatigue increases, decision quality decreases exponentially. This is why code written during crunch periods often requires extensive refactoring later—our tired brains simply couldn’t evaluate all the implications of each choice.
The Organisational ImpactProductivity ParadoxWhen we’re exhausted, we’re not just unhappy—we’re less effective. Decision fatigue leads to poor architectural choices. Mental exhaustion increases bugs and reduces code quality. The pressure to deliver faster often results in delivering slower, as technical shortcuts create more work down the line.
Knowledge Flight RiskWhen experienced members of our teams burn out and leave, they take irreplaceable institutional knowledge with them. The cost of replacing a senior developer who knows our systems intimately is measured not just in recruitment and onboarding time, but in the months or years of context that walks out the door.
Innovation DroughtExhausted teams don’t innovate. We survive. When all our mental energy goes towards keeping existing systems running, there’s nothing left for creative problem-solving, quality improvement, or advancing the way the work works.
Sustainable PracticesRealistic PlanningAccount for the hidden work: debugging, documentation, code review, deployment issues. Stop treating best-case scenarios as project timelines.
Protect Deep WorkWe need uninterrupted blocks of time to tackle complex problems. Open offices and constant communication tools are the enemy of thoughtful software development. Create spaces and times where deep work is possible. (And we’ll get precious little help with that from developers).
Embrace IncrementalismNot everything needs to be perfect in version one. Not every feature needs to ship this quarter. Sometimes the most sustainable approach is to build well 80% of what’s wanted, rather than 100% of what’s wanted, poorly.
Technical Health TimeJust as athletes need recovery time, codebases need maintenance time. Build technical debt reduction into our planning. Make refactoring a first-class citizen alongside feature development.
Individual StrategiesBoundaries Are Not OptionalLearn to say no. Not to being helpful, not to solving problems, but to the assumption that every problem needs to be solved immediately by any one of us.
Energy ManagementRecognise that mental energy is finite. Plan the most challenging work for when we’re mentally fresh. Use routine tasks as recovery time between periods of intense focus.
Continuous Learning vs. Learning OverwhelmStay curious, but be selective. We don’t need to learn every new framework or follow every technology trend. Choose learning opportunities that align with career goals and interests, not just industry hype.
Physical FoundationSoftware development is intellectual work performed by physical beings. Sleep, exercise, and nutrition aren’t luxuries—they’re professional requirements. Our ability to think clearly depends on taking care of our bodies.
Recognising the SignsDeveloper exhaustion doesn’t always look like dramatic burnout. Often it’s subtler:
Finding it harder to concentrate on complex problemsFeeling overwhelmed by tasks that used to be routineLosing enthusiasm for learning new technologiesIncreased irritability during code reviews or meetingsPhysical symptoms: headaches, sleep problems, tensionProcrastinating on work that requires deep thinkingFeeling disconnected from the end users and purpose of our workMoving ForwardThe goal isn’t to eliminate tiredness from software development—complex cognitive work is inherently demanding. The goal is to make that work sustainable over the long term. (Good luck with that, BTW)
This means building organisations that value our wellbeing not as a nice-to-have, but as a prerequisite for building quality software. It means recognising that the most productive developer is often the one who knows when to stop working. Which in turn invites us to confer autonomy on developers.
Software development will always be challenging. The problems we solve are complex, the technologies evolve rapidly, and the stakes continue to rise. But that challenge can energise us, not exhaust us.
When we’re wankered—truly, deeply tired—we’re not serving our users, our teams, or ourselves well. The most sustainable thing we can do is acknowledge our limits and work within them.
Because the best code isn’t written by the developer who works the longest hours. It’s written by the developer who brings their full attention and energy to the problems that matter most.
If you’re feeling wankered, you’re not alone. This industry has a long way to go in creating sustainable working conditions, but change starts with honest conversations about what we’re experiencing.
Further ReadingBaumeister, R. F., & Tierney, J. (2011). Willpower: Rediscovering the greatest human strength. Penguin Books.
DeMarco, T., & Lister, T. (2013). Peopleware: Productive projects and teams (3rd ed.). Addison-Wesley Professional.
Fowler, M. (2019). Refactoring: Improving the design of existing code (2nd ed.). Addison-Wesley Professional.
Hunt, A., & Thomas, D. (2019). The pragmatic programmer: Your journey to mastery (20th anniversary ed.). Addison-Wesley Professional.
Kahneman, D. (2011). Thinking, fast and slow. Farrar, Straus and Giroux.
Maslach, C., & Leiter, M. P. (2016). The burnout challenge: Managing people’s relationships with their jobs. Harvard Business Review Press.
McConnell, S. (2006). Software estimation: Demystifying the black art. Microsoft Press.
Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological Review, 63(2), 81-97.
Newport, C. (2016). Deep work: Rules for focused success in a distracted world. Grand Central Publishing.
Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science, 12(2), 257-285.
Winget, L. (2006). It’s called work for a reason: Your success is your own damn fault. Gotham Books.


