Engineering vs. Programming: Your Responses

Battling the blazing remnants of Deepwater Horizon on April 21, 2010 (Reuters / Coast Guard)


We received a ton of email over my recent piece on why computer programmers shouldn’t call themselves engineers. You might think that the engineers who contacted us agreed with the piece, while many programmers did not. That’s true to some extent, but responses also suggested that programmers would love to have better tools and working situations than they do.

Some readers pointed out that civil, mechanical, and other sorts of engineers who build mission-critical infrastructures also make mistakes, and sometimes massive ones. How one reader put it:

The new eastern span of the San Francisco Bay Bridge was built using bolts made of the incorrect steel. This was a design that had to be signed off by a PE [Professional Engineer], and each step of the construction signed off by a PE. Yet, still the wrong material was used. Engineers have known about what types of steel to use in corrosive salt fog environments like the Bay Bridge back to the 1940s, and still they couldn’t get it right. Thankfully they’ve been able to bandaid the bridge, and it’s now probably ok (unless there is a big earthquake).

It’s true; it’s not as if engineering writ large is perfect. But we shouldn’t measure the success of engineering—or of anything—just in terms of the ends it accomplishes. The means we deploy in reaching them are likely more important, especially when we alter them in relation to undesirable ends. I’ll happily acknowledge that PE certification isn’t some sort magic wand we can wave to cure all ills. But in software, perhaps the pendulum has swung too far in the opposite direction.

Even so, PE is hardly worth abandoning. One reader wrote in with the example of the Deepwater Horizon explosion and oil spill, which the National Society of Professional Engineers (NSPE) blames at least partly on unlicensed practices, a process encouraged by industry exemptions.

Some readers wrote in with what they considered objections to my reasoning, but which might better be seen as illustrations of political positions incompatible with my premise:

You don’t think Uber, Google, Instagram, and etc. are in the public interest? Have you seen the capital of these companies? There’s a reason for that.

As much as I might personally lament the techno-libertarianism represented in that statement, there’s no denying that many technologists (among others) hold that economic success entails virtue, and that no further evidence for value beyond valuation is required.

Related, a few readers objected to what they considered “traditionalism” in my argument. The first: “Traditions change, and in this world of exponentially increasing information technologies, they change ever faster.” The second reader:

Of course, engineers can always go back to using T-squares, drafting tables, pencils and blueprints too. They shouldn’t have to dirty themselves with software toys like AutoCAD and SolidWorks.

It’s a step too far to suggest that I’m arguing against software in all its forms, as the second reader suggests. But the first made me think of a recent report arguing that Silicon Valley represents an entirely new political category. Among its conclusions: “Change is inherently progressive and there are no conflicts between major groups in society.”

Even if they were willing to acknowledge that software development might have flaws, some programmers offered lamentations about their labor conditions, which I didn’t seem to take into account:

If management respected programmers, they’d pay better wages and time and a half for overtime. Maybe you should blame them instead of looking at programmers like me. I just work here.

It’s a comment that should remind us that even within the libertarian bent of Silicon Valley, the plight of the programmer-as-worker persists. If anything, there’s a conflict within the tech industry about the value of care and attention, which would be aided by support systems from outside that industry.

In that regard, I heard from a lot of engineers who had experience in software as well as other disciplines, and who affirmed that their sense of professional value was undermined by methods they considered haphazard. Here’s one:

I am a retired electrical engineer with a degree in electrical engineering. I held licenses in Ohio for electrical and California for nuclear. However, I ended up spending most of my working career in software. I was always “too slow” and “too elegant” in my work because I attempted to apply engineering principles to my work. Our department motto was “good enough is best.” Only after I retired did I hear from co-workers that my work was referenced as “how to do it right.” It was probably the only satisfaction I got other than constant employment and a decent paycheck.

A slightly different lamentation about respect puts some of the blame on the broader cultural understanding of software development:

If modern society has failed in producing quality software, it is most likely due to the underestimation of what is really required to create commercial grade software, and not in the talent of the individuals who are in the trenches banging away at their keyboards day after day.

Software is immaterial, which makes it more difficult for the public to grasp than bridges and buildings. There’s no doubt that better overall literacy about computing is necessary in an age so reliant upon them. But actually, most people in modern society have no understanding about how anything gets made, and it’s up to professionals to find ways to regulate their work even despite a lack of respect or even acknowledgement.

Here’s a more extreme version of the “just doing my job” position:

I wanted to ask you about your citation of the Volkswagen scandal. As I understand it, the software in question does exactly what it was designed to do—so well, in fact, that it successfully avoided detection for quite some time. How was this not “engineering” in the narrow, classical sense that you insist on?

The circumstances that led to “dieselgate” are complex and we won’t know the whole story soon, if ever. But when taken seriously rather than dismissed, this sentiment affirms the disconnect between engineers and the public that apparatuses like certification, licensure, and education are meant to solve. At the end of the day, there’s no simple cure for “I did what I was told.” But at the very least, we shouldn’t celebrate the ingenuity of clever solutions that produce harmful effects.

Of course, that assumes we’re even looking at effects and considering them harmful. Another reader suggests that our values have changed:

There is an anthropological, cultural side to this as well, that has developed mostly out of Silicon Valley in the last twenty years. Startups, which might grow to immense size, are said to always start out in chaos, not in engineering. So now it is the chaos and not the engineering which is valued, even in startups that are richly funded.

A number of readers cited the broader trend of “terming up” job titles, a term I’m borrowing from one reader response. Here are four more on the subject (separated by ***):

Somewhere around the 1980s, IBM, for business and image reasons,  decided that we all ought to be called software engineers. The term “software engineer” was a business ploy intended to better market IBM and other company's programmers as, somehow, more skilled and reliable than other programmers.

***

Programmers get no respect. The programmers themselves know it, and management knows it as well. But rather than give programmers the money and respect they’re do, they hand out nonsensical titles instead, like “software engineer.” It's no different from being a “sandwich artist” at Subway. Corporate America would rather use cheap psychological tricks to motivate workers than pay them and give them time away from work.

***

I believe a good deal of this title inflation is (also) one byproduct of the phenomenon whereby an employer lays off a worker by “eliminating the position,” then hires a new worker at 60 percent of the pay for essentially the same job, assigned shiny a new title.

***

I’ve worked in consulting, finance, and at Google doing essentially the same thing at each post, but found myself transformed into a revered “Engineer” only at the tech company. It’s very strange.

And terming-up “engineer” is nothing new, as this reader noted:

About 95 years ago H.L. Mencken wrote in The American Language, “Next to engineer, expert seems to be the favorite talisman of Americans eager to augment their estate and dignity in the world.”

A few readers wondered about the related use of the term “architect” in software development:

However, considering the decades long procurement of “Architect” by the IT profession, I found it interesting that there was no mention of this in the article.

This reader is thinking of titles like “software architect” and “information architect,” which have become popular in technology. Those titles do also seem to entail the borrowing of a known, licensed, regulated profession that designs tangible objects of substance. I didn’t conduct a thorough search, but I can’t find another field that has borrowed “architect” with as much deliberateness.

It might even be the case that terming-up in tech is taking place well beyond job titles. Some of these readers had very different views on what “infrastructure” means than I do:

Sigh. Instagram resides in the middle of a strong ecosystem: https://instagram.com/developer/

On the one hand, the idea that an app’s developer API constitutes a public infrastructure akin enough to roads or bridges or power or water, sufficient that it would deserve the name “infrastructure” disturbs me. But on the other hand, we do treat software services as basic needs with increasing frequency. All the more reason to treat their behavior with the public interest in mind first.

Some of our Canadian readers wrote in to clarify that the Iron Ring is granted to all graduating engineering students of all branches; I had simplified things in a way that suggested it was unique to civil engineers. One retired Canadian engineer offered an additional trait of the ritual:

We wear this iron ring on the little finger of our writing hand with the intention that as is drags along the paper as we write that we are constantly reminded of our oath taken during The Ritual Calling of the Engineer.

Which I find delightful. But not as delightful as this:

When we retire, we are asked to return our worn ring so that a new engineer may be presented with it and carry on the tradition. I have a small number of friends who received such returned rings, they are generally very worn and have sharpened edges. These old rings are very much cherished.

This tradition wouldn’t stand a chance in ageist Silicon Valley. But it speaks to something more important than just the expertise that comes with experience: It makes engineering a part of something bigger than any single practitioner. Something that lasts generations, even despite changes and advances in techniques or materials.