3 ms·
A chef might not like another chef's take on a dish, but unlike an engineer, you do actually have to prepare a dish each time someone wants to eat it. This alon
by crystalis 16y ago
A chef might not like another chef's take on a dish, but unlike an engineer, you do actually have to prepare a dish each time someone wants to eat it. This alone is enough to make it worth looking at in further detail.
- travisjeffery 16y agoThen replace Chef with Architect, Composer, Writer, Director and etc.: a building is made once, once a piece is published it's done (except for revisions, i.e. updates in the software world) or releasing a film. The point is still correct -- there are a lot careers this post could be interchanged with.
- shykes 16y agoSoftware is different because it combines three properties: 1. You have to maintain it over time, 2. It is technically possible to destroy it and start from scratch, and 3. It is difficult to objectively evaluate the cost of doing that in advance.
- travisjeffery 16y agoBuildings need to be maintained, have additions made, walls knocked down, be restructured; Writers often revise their work and release new editions; Directors release remastered films with new technologies, or their own cuts. Buildings are often knocked down and built in a different manner; books and compositions scrapped; and "technically" the same could be said for films. And you really think that anyone of the examples I've listed is objectively easy to evaluate the cost of doing them in advance? Buildings and films go over budget all the time, and Writers and Composers are just like software developers: they can be freelance or work on their own, just as easy or just as difficult to evaluate. Software developers really need to stop thinking they're (we're) special. We're not.
- agmiklas 16y agoAs an aside, this reminds me of something Fred Brooks mentioned in one of his essays in "The Mythical Man Month". I don't have my copy handy, but he was explaining that the great cathedrals of Europe (some of which took hundreds of years to complete) were only possible because generations of architects were willing to subjugate their own sense of aesthetics in order to maintain the original architect's vision. If each successive architect decided to start from scratch, the building would never have been finished. And if each decided to build their part consistent with the styles of the time, the building as a whole would be a mess. His argument (IIRC) was that programmers need to adopt the same mentality: overall consistency in the design takes priority over "doing it your own way", even if your way would be better (if the whole system were redone from scratch).