Hacker News new | ask | show | jobs
by pgambling 4952 days ago
This point really stuck with me:

"Fourth, good intentions; best practices; professionalism; engineering – the seductions of process. You are chasing the same gold stars you got when you were eight years old. But how is the master craftsman judged? By results, only."

It's true that we love to talk coding standards and development processes because it feels productive. At the end of the day, delivering a working product is true productivity.

3 comments

Interestingly Master craftsman operate to a detailed contract where the patron specifies virtually everything of interest. It's very far from a results only mindset. All those people we thought of as great artists before Michelangelo were considered craftsman in their day, someone with a skill employed for money, like a baker. As a programmer on a team you are operating on behalf of a patron and it's their rules over an artistic/star/look at me temperament. To argue for a design standard and not a coding standard is like saying an architect shouldn't care how their bricks are made when it's really the quality of the bricks that dictates structure under stress. If you are building something that isn't under stress you don't need an architect, you don't need to worry about structure, you can just let your heart move you. But when you are building something that matters, that someone is paying for, that is subject to extreme stress, then structure dictates both form and function and a key part of structure is code, so that's why you have a standard. Unfortunately with code we are still stuck in a highly empirical age, so the standards are experience based and highly arguable, so there's a lot of room for displeasure. But Gothic cathedrals were built to the sky using lessons learned from experience and that's essentially what we are doing with software systems.
It's true that we love to talk coding standards and development processes because it feels productive. At the end of the day, delivering a working product is true productivity.

I agree that delivering is everything that matters... when you work alone and you won't ever have to maintain your code after release.

Delivering a working product that will continue working for years, and is easy to understand, fix and extend, is true productivity.
Correct, delivery is ongoing not just version 1.