What Makes Software Development Engineering

The title 'software engineer' carries a professional weight that 'developer' or 'coder' lacks, but what justifies it? Drawing on the 1968 NATO Software Engineering Conference and IEEE definitions, this essay argues that software development becomes engineering when it applies a systematic, iterative process: measuring problems, comparing solutions, estimating outcomes, and refining based on feedback. A concrete example shows how an ad-hoc fix for slow product pages gives way to a disciplined, data-driven approach that turns vague complaints into measurable targets and continuous improvement.
The phrase 'software engineering' was deliberately chosen as being provocative, in implying the need for software manufacture to be based on the types of theoretical foundations and practical disciplines, that are traditional in the established branches of engineering.
- mikewarot
> In fact, in some Canadian provinces, titles in computing such as “software engineer,” “computer engineer,” and others containing “engineer” are (in principle) reserved for people licensed as engineers by the provincial engineering regulator.
A most rational stance. One we should enforce here in the US.
Edit: Yes, I'm arguing that Software Engineer should be a licensed profession, but programmer shouldn't, and would be a fine substitution in the cases where you didn't need rigor.
--
If I were an engineer, there's no way I would trust any interface to a control system for a water purification plant that connected to the internet and allowed for ingress of control. Just as an example.
The OPM hack of 2015[1] is the worst case, in terms of national security, that clearly proves no Engineers were involved in the design of their computer system. Ingress of control should be absolutely prohibited, and it wasn't. I don't know why that database was ever put into a computer, instead of filing cabinets in a vault, nor why it was ever connected to any other system, and not completely air-gapped in said vault, with manual controlled exfiltration of data upon request.
[1] https://en.wikipedia.org/wiki/2015_Office_of_Personnel_Manag...
- randysalami
I think only some software work is engineering and if I call myself a software engineer (in regard to my employment), it’s because it’s actually “a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”. And not just paying lip service. Otherwise, I’m something else with or even without the word software in the title (even if I work with software). Outside of work, I inherently consider myself a software engine but if work requires it, I have no problems treating it as less.
- woah
If you can't select the proper saplings and branches with the right elasticity to build a powerful ballista in any region in Europe, or plan and direct a mine under a fortress wall, you can't call yourself an Engineer. PERIOD
- tfrancisl
Using the engineering design process makes it engineering.
- kerblang
Author begins by describing the complexity crisis that folks tried to address at 1968 NATO SEC but then talks about engineering as a problem-solving effort involving calculations and caches.
Is it a surprise the complexity crisis continues? Dependencies rage out of control in modern systems, creating all sorts of havoc, including security issues. The academy seems to have little interest in this.