The Waiting Problem: A Closer Look at a Programmer's Productivity
We're constantly told that Large Language Models (LLMs) are revolutionizing productivity in software development. The headlines promise dramatic efficiency gains, faster development cycles, and superhuman coding capabilities. Yet, if you're like me and use these tools daily, you've probably found yourself staring at a loading spinner more often than you'd care to admit, watching precious seconds tick by as you wait for a response.
This disconnect between the promised productivity revolution and the reality of our daily experience raises an important question: Are we actually becoming more productive, or are we just trading one set of inefficiencies for another?
The Productivity Paradox
The Promise vs. The Reality
The marketing narrative around LLMs is compelling:
- "10x faster development"
- "Reduce coding time by 80%"
- "From idea to implementation in minutes"
But the day-to-day reality often looks quite different:
- Waiting 30-60 seconds for a response to a complex query
- Multiple iterations to get the right output
- Time spent reviewing and debugging AI-generated code
- Context switching while waiting for responses
The Hidden Costs of Waiting
Let's break down what actually happens during a typical AI-assisted coding session:
- Formulate the question (30 seconds)
- Wait for response (45 seconds)
- Review the output (60 seconds)
- Realize it's not quite right (15 seconds)
- Refine the prompt (45 seconds)
- Wait again (45 seconds)
- Finally get usable output (30 seconds)
Total time: 4 minutes and 30 seconds for what might have been a 2-minute task if done manually.
The Psychology of Waiting
Context Switching Costs
The most underestimated aspect of LLM usage isn't the wait time itself—it's what happens to our mental state during those waits. When we submit a query and wait for a response, we often:
- Check email or messages
- Start thinking about other problems
- Lose the mental context we had built up
- Experience what psychologists call "attention residue"
Research shows that it can take up to 23 minutes to fully refocus after an interruption. Even a 30-second wait can disrupt our flow state if we're not careful about how we handle it.
The Patience Paradox
There's an interesting psychological phenomenon at play: the longer we wait for something, the more valuable we perceive it to be. This "effort justification" bias can make us overvalue AI responses simply because we waited for them, leading to:
- Less critical evaluation of AI output
- Reluctance to iterate or ask for improvements
- Acceptance of "good enough" solutions
Real-World Performance Analysis
Measuring Actual Productivity
To understand the true impact on productivity, we need to look beyond the immediate task completion time. Here's what I've observed in my own work:
Tasks Where LLMs Excel Despite Wait Times:
- Documentation generation: Even with wait times, faster than writing from scratch
- Boilerplate code: Wait time is justified by the volume of code generated
- Complex explanations: Learning benefit outweighs the time cost
Tasks Where Wait Times Kill Productivity:
- Simple debugging: Often faster to debug manually
- Quick code snippets: Traditional IDE autocomplete is faster
- Iterative refinement: Multiple round trips become time-consuming
- Time-sensitive fixes: Can't afford to wait during production issues
The Compounding Effect
The productivity impact isn't just about individual queries—it's about the cumulative effect:
- Daily wait time: 15-30 minutes of pure waiting
- Context switches: 20-40 interruptions to flow state
- Mental fatigue: Decision fatigue from constant AI output evaluation
- Over-reliance: Reduced confidence in manual problem-solving
Strategies for Maximizing True Productivity
1. Strategic Query Batching
Instead of making individual requests:
How do I handle errors in this function?
What's the best way to log these errors?
How should I test error handling?
Try batching requests:
Implement comprehensive error handling for this function, including error catching, logging, and testing strategies.
2. Productive Waiting
Use wait times strategically:
- Review previous code while waiting
- Plan the next development step
- Write comments or documentation
- Organize imports or clean up formatting
3. Know When Not to Use AI
Develop intuition for when manual work is faster:
- Simple syntax questions (use documentation)
- Quick debugging (use IDE tools)
- Familiar patterns (rely on experience)
- Time-critical situations (prioritize speed)
4. Optimize Your Prompting
Better prompts reduce iteration cycles:
- Include relevant context upfront
- Specify format and style preferences
- Mention constraints and requirements
- Ask for explanations alongside code
The Infrastructure Reality
Response Times Aren't Getting Better Fast Enough
Despite improvements in model efficiency, response times remain a significant factor because:
- Model complexity is increasing: More sophisticated models are slower
- Usage is exploding: Server load affects response times
- Context windows are growing: More data to process per request
- Quality demands increase: We expect more from each response
The Economics of Waiting
From a business perspective, if a developer earning $100/hour spends 30 minutes daily waiting for AI responses, that's $50 in direct cost per day, not counting the indirect costs of context switching and reduced flow state.
Multiply this across a team of 20 developers, and you're looking at $1,000 daily, or over $240,000 annually in wait time costs alone.
Looking Forward: The Path to Real Productivity
What Needs to Improve
- Response Times: Sub-5-second responses for common queries
- Contextual Awareness: Less need for re-explanation
- Proactive Suggestions: AI that anticipates needs
What We Can Control Today
- Selective Usage: Use AI for high-value tasks where wait time is justified
- Workflow Optimization: Structure work to minimize wait-time disruption
- Skill Balance: Maintain manual coding skills for when AI isn't optimal
- Realistic Expectations: Understand that productivity gains are task-dependent
Conclusion
The promise of LLMs dramatically increasing developer productivity isn't wrong, it's incomplete. The technology genuinely enables us to tackle complex problems more effectively and handle certain types of work faster than ever before. However, the reality of wait times, context switching, and the overhead of human-AI collaboration means the productivity gains are more nuanced than the headlines suggest.
True productivity in the age of AI isn't about blindly using these tools for everything. It's about understanding when and how to use them effectively, managing the inherent trade-offs, and building workflows that account for the realities of current technology limitations.
As we wait for the next breakthrough in response times and model efficiency, the most productive developers will be those who master the art of strategic AI usage, knowing when to leverage these powerful tools and when to rely on their own expertise and the immediacy of traditional development approaches.
The future of AI-assisted development isn't about eliminating wait times, it's about making every second of wait time worth it through better tools, smarter usage patterns, and more realistic expectations about what productivity really means in this new era of development.