Comment by bitwize
2 years ago
Programmers have been called engineers since at least the late 90s, when FAANG was just AA.
I mean I've called myself a programmer since forever ago. I'm not comfortable with the term "engineer". I concede that it helps business types take me and what I do more seriously. "Programmer" connotes somebody who mindlessly translates human-language requirements into code, even though there's nothing mindless about that process. So I quietly accept the title of engineer when a company bestows it upon me. But I'm a programmer at heart. When I hear "engineer" I think of my father, who could design and build actual engines. Or maybe a civil engineer? I dunno.
"Software engineering" was a term coined by, I believe, NASA engineer and Apollo software lead, Margaret Hamilton. When she used the term, it was more in the sense of like, chemical engineering. A chemist experiments with, and attempts to synthesize, new chemicals to determine their properties. A chemical engineer is concerned with scale; they solve for how to produce chemicals at industrial scales. The chemist's technique may produce small amounts of a chemical for experimentation; the chemical engineer needs to design a way to produce the chemical by the kilolitre.
So originally, software engineering concerned itself with how to develop software at industrial scales with reliable, repeatable results. Of course much of it is nonsense because the purpose of programming is to develop something new. There's a lot of overlap between software engineering as a discipline and what we today call "methodology". But methodology is, largely, a cargo cult! Today, to be a software engineer is to be a cog in a system that follows some "best practice" (meaning you won't be fired for adopting it) process.
Which is better? To be a writer (like Hemingway or Dostoyevsky)? Or to be a "literature engineer" (say, one of the faceless ghostwriters who churn out Sweet Valley books under Francine Pascal's byline)?
No comments yet
Contribute on Hacker News ↗