← Back to context

Comment by LorenDB

1 day ago

The lines of code story is a timeless classic.

> He thought and wrote "-2000 lines". Management stopped asking Bill to fill out the form.

This lesson stuck with me for years. Final results alone are measurable, not productivity.

  • Imagine being the manager that had to assess Bill Atkinson's productivity!

    > Final results alone are measurable

    Not even those, for individuals

    Mostly we work in teams. I myself like to work in "plumbing" that is arbitrarily far from "final results"

Score code on line count and runtime golf. Shorter, faster, and fastest time to completion is best.

Code that’s 4K and took slightly less time to write but runs slightly faster than code that’s 400 bytes that took another 30m to write still doesn’t get the best score.

  • I kind think metrics are not the answer and instead one needs taste. Obviously performance is multidimensional both in what one measures (latency vs throughput) and as a function of the input. The solution you imagine that is slightly faster in the test could avoid (or introduce) different worst-case or asymptotic behaviour, for example.

    • I argue we shouldn’t be doing this at all; but, if we have to do to whatever insanely arbitrary metric a project/product/eng leader wants, this is probably a better metric than code length.

  • > Shorter, faster, and fastest time to completion is best.

    What about correctness, robustness, readability, clarity, maintainability?