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.