Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

This is mostly semantics, but in general attributes like "dedicated commitment" are hallmarks of a "craft" practiced by individuals. "Engineering" tasks are things like "processes" and "models". So really, I think you're agreeing more than disagreeing.

And the "software pirate ninja rockstar" thing is a shameless strawman.



Processes are nothing without people dedicated to following them. Models are unreliable without taking care to craft a reliable system.

I don't really consider disciplined programming to be a branch of engineering. While I don't have a sophisticated metaphysics of code, it seems that there is an essential ontological difference between "engineering" a software system and "engineering" a bridge or a chemical process.

Richard Gabriel once suggested the idea of a MFA in software, and I think that he is onto something.

http://www.dreamsongs.com/MFASoftware.html


I have done both hardware and software engineering, and I see no difference.

It is difficult to put into words, but I would say that the heart of engineering is the discipline of understanding how and why something is useful, as distinguished from feelings or hopes about its utility.

An MFA in software is pretty much the opposite of engineering. Engineering is not a matter of taste or opinion, it is about creating such hard sparkling truths that opinion would be superfluous.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: