← Quora archive  ·  2011 Jan 20, 2011 05:48 PM PST

Question

When did everyone start calling programmers "engineers"?

Answer

My theory is that the shift happened around the time OO programming became the norm. Or approximately the late 80s when C++ moved the idea from "lab esoterica" status (i.e. Smalltalk etc.) to "practical tool." I'd put the date at 1991, when Stroustroup's second edition was published. I was in the 11th grade at the time, and I vaguely recall that's when I started hearing the term "software engineer." I'd learned C at that point, but I never did get to liking C++.

OOP psychologically forces you to think in terms of "building" programs rather than "writing" programs. It distracts you from the problem you are trying to solve with the program, and draws your attention to the code structure itself. Procedural programming feels like it's just about solving a problem and getting on with your life. OOP feels like it's about building a solution system that your grandchildren should be able to continue using.

"Building" involves thinking more like an engineer (since other engineers like ME, EE, AE, CE also use similar thinking processes for analysis and synthesis) and less like a writer.

Programmer has more writerly connotations, and before OOP it felt more like writing. It was easier to get into "stream of consciousness" type improv mindsets.

So OOP in a sense professionalized into an engineering trade what used to be more like an amateur art medium.