Why Software Engineering Managers Must Embrace Non-Determinism
These articles are AI-generated summaries. Please check the original sources for full details.
Non-determinism is the job
Raleigh Schickel, a veteran engineering manager, argues that people are inherently non-deterministic and cannot be managed like code. Replacing a single employee costs months of recruiting, onboarding, and ramp-up time, destroying team velocity.
Why This Matters
Software organizations are people systems, not code systems. Engineers trained to expect deterministic inputs/outputs often fail when managing teams because they try to engineer human behavior with process. The failure scale is large: 70% of engineers become managers without training, and replacing a single lost employee costs months of recruiting, onboarding, and ramp-up. The industry’s refusal to acknowledge this gap turns high-performing engineers into damaging managers, driving talent away and costing teams dearly.
Key Insights
- People leave managers, not jobs – a widely cited Gallup finding, reinforced by Schickel’s observation that poor management costs teams months of productivity per replacement.
- The Alliance model (Hoffman, Casnocha, Yeh) – treat employer-employee relationships as mutual alliances rather than transactional obligations; Schickel uses this to align team goals with personal growth.
- 360-degree reviews as a manager evaluation tool – Schickel advocates for direct reports’ feedback to surface management failures that top-down reviews miss, though few companies adopt it.
- Engineer-to-manager transition failure – most engineers are promoted without training, leading to process-overload (belittling) or technical-escape (ignoring people), as Schickel describes from personal experience.
Practical Applications
- Use case: Managers who adopt the ‘alliance’ mindset (e.g., investing in a direct report’s next job) see increased loyalty and perseverance. Pitfall: Treating management as a side chore between ‘real work’ leads to quiet quitting and resume updates.
- Use case: Starting performance conversations with ‘How are you?’ before naming observed issues. Pitfall: Jumping directly to problem-solving without listening first, which misses the real root cause (often anxiety or life stress).
- Use case: Asking ‘What do you need?’ after listening fully. Pitfall: Assuming you know what the employee needs, then imposing process fixes that ignore the human element.
References:
Continue reading
Next article
Master TypeScript's `const` Type Parameters: Eliminate `as const` Boilerplate for Good
Related Content
How Engineering Leaders Can Avoid Becoming Bond Villains
Charity Majors advises focusing on winning at business first; over 90% of VC-backed startups fail.
QConSF 2025: Navigating Engineering Leadership in the Age of AI
Michelle Brush of Google’s QConSF 2025 keynote highlighted the increasing complexity for engineers as AI automates tasks, demanding higher-level skills and conscious competence.
Optimizing DevOps Productivity by Redirecting Misaligned Marketing Requests
DevOps engineers can reclaim focus by implementing structured redirection and technical scoping for misdirected marketing queries regarding affiliate metrics.