Do Software Engineers Get Enough Respect?

“For software engineers, life must seem like it keeps getting better,” cheerleads CNet. Glassdoor agrees: our median salary is now $85K, and six figures in San Francisco. (Which actually seems low to me.) And everyone predicts that demand for our talents is skyrocketing. So what is one to make of a recent claim that, as a class, we are downtrodden, disrespected, and disenfranchised?

…Actually, the guy kind of has a point.

The author, one Michael O. Church, describes the different experiences of the same candidate applying for a position of “Senior Software Engineer” vs. “VP of Data Science,” a managerial position. As an engineering candidate, he faced five gruelling technical interviews and was arbitrarily vetoed by the last interviewer. As a managerial candidate, he essentially chatted his way through behavioral questions–and was offered a lucrative position with a generous relocation package. Church argues that this difference is because engineers have low social status, whereas even managerial candidates, one they’ve proven they can talk the talk, are viewed as equals:

[As a managerial candidate] the CEO talked to Bill as an equal, not as a paternalistic, bullshitting, “this is good for your career” authority figure. There was a tone of equality that a software engineer would never get from the CEO of a 100-person tech company.

Now, if you ask me–how to put this diplomatically?–Church has something of a histrionic history:

…but there’s a reason that his post went semi-viral through the coder community. He’s on to something here.

True, some extremely successful companies, notably Facebook and Google, are famously engineer-centric, and many, many engineers go on to become successful CEOs. Also, dog-and-pony technical interviews are simply a terrible way to evaluate engineers, as I’ve argued again and again, and this was/is probably a factor; it’s hard to treat someone with respect after you’ve made them prance through a gauntlet of meaningless, arbitrary hoops.

But there’s yet more going on here. Engineers are treated as less-than-equal because we are often viewed as idiot savants. We may speak the magic language of machines, the thinking goes, but we aren’t business people, so we aren’t qualified to make the most important decisions. That’s for the analysts, the product people, the MBAs. They might throw money our way, but they don’t take our opinions seriously, at least not the ones they understand.

Whereas in fact any engineer worth her salt will tell you that she makes business decisions daily–albeit on the micro not macro level–because she has to in order to get the job done. Exactly how long should this database field be? And of what datatype? How and where should it be validated? How do we handle all of the edge cases? These are in fact business decisions, and we make them, because we’re at the proverbial coal face, and it would take forever to run every single one of them by the product people…and sometimes they wouldn’t even understand the technical factors involved.

Now, granted, good managers have to make good decisions based on perpetually insufficient information while also satisfying their superiors, keeping their subordinates happy and busy, and exceeding their clients’ expectations. This is an extremely difficult job. (I’m a sometime manager too.) You could argue, and in fact if pressed I probably would, that excellent managers are at least as rare as excellent engineers, and should be valued even more.

But we’re not talking about comparing relative value here; we’re talking about writing off software engineers, as a group, as lower-tier employees kept apart from the Important Decisions. We’re talking about the tendency to treat engineers as idiot savants, capable in the technical guts of their own world, but naïfs who need guidance in the larger realm of business. This is of course ridiculous in a world where “technology” and “business” are increasingly intertwined–

–but I think it’s an inevitable side effect of companies who boast completely non-technical managers. People who have never written code or soldered diodes, who don’t really understand what and how engineers do what we do, have no alternative but to have blind faith in us. Which, paradoxically, leads to less respect, because it’s the root cause of idiot-savant syndrome.

My conclusion? Church is right, about some companies: those who don’t understand engineers don’t respect engineers. It might have made some sense to treat them as separate-but-slightly-inferior when technology was not at the heart of almost every business, but not any more. If you’re an engineer who’s treated as automatically lesser than an business graduate or MBA, or worst of all, treated as a cloistered savant, that’s a warning sign. Consider your future carefully if so.


Image credit: rebeloniojr, deviantART, CC-Attribution-ShareAlike