Athletes and musicians pursue virtuosity in fundamental skills
Comparison of Athletes/Musicians vs Knowledge Workers
- Many argue the comparison is skewed: it pits top-tier athletes/musicians (p99 of their field) against average programmers.
- Sport and classical music are ultra-competitive with few paid positions, which forces rigorous practice in fundamentals.
- Knowledge work (especially programming) is less competitive; many can hold stable, well-paid roles as “average” contributors.
- Some suggest comparing similarly paid cohorts (e.g., $150k musician vs $150k programmer) rather than global elites to typical devs.
Practice, Performance, and Work Structure
- Athletes/musicians have short, high-stakes “performances” and large blocks of time for practice and drills.
- Knowledge workers’ “performance” is spread across the workday; they’re expected to produce continuously, leaving little explicit practice time.
- There is debate about whether day-to-day programming itself constitutes sufficient practice, versus needing deliberate drills on fundamentals.
- Some companies do budget time for learning, but several commenters report never seeing structured training in most workplaces.
Fundamentals and Deliberate Practice in Software
- Suggestions for “software fundamentals practice” include: building dev environments from scratch, end-to-end feature changes, integration tests, compilers, and fast implementation of common patterns.
- Others note that many computing “theory fundamentals” (automata, grammars) rarely matter in most day-to-day jobs, so fundamentals must be domain-specific.
- Memorization is defended by some as undervalued; others rely more on breadth and tooling.
What Is “Good Code”? Metrics vs Taste
- One camp argues for objective metrics: performance, build time, defect and regression counts, code size, dependencies, test coverage, test time.
- Critics say metrics are context-dependent, easily gamed, and cannot capture key qualities: clarity, safety to modify, ease of learning, and solving valuable problems.
- Extended debate highlights:
- Goodness is partly subjective and value-laden.
- Product metrics (business impact, usefulness) matter as much as code-level metrics.
- Over-optimizing the wrong metrics (e.g., performance, coverage) can harm the product and team.
Nature of the Work: Performance vs Creation
- Several commenters frame programming as closer to composition/research than to performance: success involves novel problem-solving, not repeating fixed routines under time pressure.
- Others point out subdomains (incident response, competitive programming, surgery-like ops) that do resemble performance and might benefit more from drilled fundamentals.