4 ms·
"I try to solve problems in a rigorous and maintainable way" The original linked article was written by someone who's never engineered anything and clearly has
by VLM 10y ago
"I try to solve problems in a rigorous and maintainable way"
The original linked article was written by someone who's never engineered anything and clearly has no social or cultural connection with any engineers, but I can see in one line that you and I are at least partially on the same page about what engineering is, which is not much of an endorsement for the article.
The critical difference between science, engineering, and art/craft is engineering involves highly predictable well trodden ground where simulation always corresponds to measured reality. The predictive process is complicated and takes a long time and a lot of effort to learn and ingrain. The aesthetics and tradition don't matter as much (or at all) compared to the predictable performance and predictable cost. That's engineering.
The difference between a science and engineering is an engineers output is optimized to minimal cost yet fits a predictable yet variable safety envelope. That column will not buckle with 99.999% odds over the lifetime of the building if built to commercial standards and my specs. Science is much less predictable and its criteria for prediction is much lower and generally not "safety of life" related and tends to be extremely abstract. Is that theoretical cosmological model interesting and not provably invalid? OK publish. Does that biomedical pharma experiment have more than 2 sigma of abstract statistical significance or whatever the statistical flavor is for pharma research today? OK publish. Science can of course eventually turn into engineering... A lot of chemeng make a lot of money turning lab bench scale processes into factory scale processes, they are engineers because they understand and predict scalability, unlike computer scientists who famously do not.
The difference between craft/art and engineering is again safety of life and predictability but in craft/art you don't care about optimizing cost and safety as primary criteria. Does that custom bookcase have nice proportions? Is the wood grain clear? Is the stain too dark or too light or just right? Sometimes craftsmen such as framing carpenters need help from an engineer for a wide beam or similar weirdness but most of craft/art boils down to "grandpa put wall studs on 16 inch centers so I will too". Building codes for the building trades are written in human blood, not calculus math, for example. Somebody got electrocuted doing that, gets a line in the NEC or building code, we'd rather figure out the size of that weird beam using math rather than seeing if it collapses is structural engineering.
Very few people write code in an engineering fashion where the entire process is predictable and heavily testable against reality and human lives depend upon it. Some embedded stuff like PID controllers in factories or anti-lock brakes are like that. Your average web framework CRUD app, not so much, who knows what it'll do, and when it fails thousands will not die in the crash/collapse.
- danpalmer 10y agoAgreed. And I work on a CRUD web app mostly, but I try to bring the same spirit into my work there. It's not the same, but I strongly believe programming can be done in a pragmatically rigorous and repeatable way.
- _delirium 10y agoThe author of the article is indeed not an engineer, but he did work as a programmer at various startups for about 5 years (before he changed careers by doing a PhD in another field), which I believe is much of his context for this article. It doesn't take a lot of benefit of the doubt to believe that during that period, he ran into a number of fellow programmers who called themselves "engineers" who were not really doing anything resembling engineering.
- VLM 10y agoBut the original linked article missed why they were not engineers because OP didn't know what an engineer is any more than his coworkers. Its like watching DnD players who pretend to be wizards while playing the game, argue out of game about why everyone else isn't a real wizard yet getting it all wrong, blaming it on unavailability of components such as ground up unicorn horns, or lack of authority such as a diploma declaring them trained wizards from Hogwarts. They are correct in that they're not really wizards, but they get the reasoning for why they're not wizards wrong. Which is kinda important if the implication is that a lot of software devs want to be wizards, er engineers.