Picture yourself at a social gettogether of some general nature (i.e. not after work drinks with colleagues). For instance a friend’s birthday party. Now picture yourself in a conversation with some people you don’t know (other friends of your friend, say). And you’ve just introduced yourself as a software engineer (or a developer, or a programmer). Here’s the conversation as it proceeds from that point onwards:
Ted: So, what’s your line of work?
You: I’m a software engineer.
Fred: That means you work with computers, right?
You: That’s right.
Ted: So what do you do, exactly?
You: I built the (web) application that does <really important, well known functionality> for <really big, immensely well-known company>.
Ted: Oh. So, Fred…..
Every time. Every damn time! Here’s you, having worked your heart out to create software that serves the needs of hundreds of thousands each year, manages huge amounts of money for your customer X and does so at high performance, flawlessly and using innovative solutions that took a lot of effort to create, and all of your effort is dismissed in half a second by some ignorant clod who does nothing all day but push around numbers in a spreadsheet, to be entered in an application that you probably wrote (and wrote so well that any monkey could do the clod’s job), for an amount of money that you would hope would be reserved for people who put out burning highrises for a living.
So why is this? Why is it that there is no respect whatsoever for people who write the software that makes more and more of the world go round each day? Why is it that even now, when everybody does their shopping online, every pimply-faced teenager zips around on a scooter while talking and/or texting on one of his three BlueTooth-WiFi-fully-email-capable-camera-phones and (after he then crashes into a tree) is treaded with utmost efficiency at a hospital where they can read his entire medical history from the chipcard he had with him and can see exactly where he broke his skull on their 3D tomographic scan, why is it that the people who make so much of this happen are treated like part of the air? Why is it that the common software engineer is doomed to be understood by none but his fellow software engineers?
You know what I think? I think it’s because what we do can usually not be seen by the naked eye. It’s an enormous disadvantage that we have when compared to our fellow engineers in other fields and even to non-technical people elsewhere. An architect can point to his buildings, a civil engineer to his bridges. Aearonautical engineers have planes and helicopters. Physicists have nuclear reactors, millions of microchips and the latest estimate of the mass of the universe. Chemical engineers have huge plants that make stuff. Lawyers can point to you and ask “Are you in jail?” — and with doctors that question becomes “Are you dead?”. Even mathematicians have papers, books and blackboards full of theorems.
But what about us? We can’t point to anything, because nothing we produce can be seen. When working on software we often say that a thing is a “black box”, but really it isn’t: it’s a black void. What we do has neither size nor dimension, cannot be touched, has no cogs that you can see turning or hear grinding. Nothing that has even the slightest connection with the context of outsiders, nothing that they can relate to their own world to give them any feeling for how hard or easy a thing is for us. It’s completely invisible (until it breaks, and then it just generates a negative connotation).
Some decades ago there was a minor educational battle in the United States about the maps used in geography lessons in high school classes. Most American schools were using the well-know Mercator projection maps which had been designed for navigating the high seas. Mercator projections are very good for that, since they project the spherical surface of the Earth onto a flat, square map while maintaining all the angles of the continents correctly. However, Mercator projection deforms the relative sizes of landmasses, making continents (and countries) near the poles seem larger in comparison to countries at the equator than they really are. And this was deemed sociologically undesirable because (and this is why I segwayed into the discussion) people have a tendency to assign value based on size. In this case the concern was that Americans saw Africa as inferior because Mercator projection made Americans think of all of Africa as being the same size as Greenland when it is in fact 14 times larger.
So now back to our predicament. People tend to assign value based on size. No wonder Discovery Channel loves to call programs things like “Mega Builders”, “Extreme Engineering” or just simply “Big Things”. People are impressed with huge towers like the Burj Dubai. And with other constructions that are “the biggest” and “the best”. People will even be impressed with small things like microprocessors if you tell them that there are millions of connections on each one (note that people can relate to a “connection”). But where does that leave us, builders of things that are so small as to have no physical dimensions whatsoever? How is that impressive? How difficult can it be to build something that is literally nothing at all?
The question is, is this just a source of soul-rending aggravation at parties, or is it the cause of a lot more and more serious grief? In The Netherlands we have, over the last few years, seen some strange trends in the IT job market. The Netherlands is one of those countries that, to put it mildly, cannot get enough software engineers. There isn’t a major company (IT or other) that doesn’t have more positions open than people to fill them with. Classic economic theory suggests that in such a market wages for IT personnel should rise. However, that has not been happening (leading a number of economic groups in The Netherlands to claim that there is in fact no shortage of IT personnel). However, I’m starting to wonder if there isn’t another factor: is it maybe that in their minds the managers, CFOs, CEOs etc. who hire the likes of us still have so small an estimate of our value and the value of our work that they simply won’t spend more for it than they do now? And is it maybe so that we ourselves suffer from the same malady to such an extent that we dare not demand more because we think we aren’t worth it?
When I was in my first year of university, a professor of mine tried to convince us that what we did — the software we designed and derived — was something to be proud of. That the simple fact that what some engineering student built was an extensive model in cardboard and wood and what we did was hidden on a floppy in our pocket was not a reason to think of his model as more or more impressive than what we had written. Besides, he said, if you trip that engineering student up on the staircase he will have a much bigger problem keeping his model intact than you will with your floppy. Now, I’m not suggesting that we all go looking for a manager or one of these business-major-bums and throw them down the stairs, you understand.
But it might not be a bad idea at all, at the next party, not to introduce yourself as a programmer but as “the reason you get that big fat paycheck each month, mister…”
Author’s note: see here for another blog on thoughts about sociological aspects of software engineering; thanks to Allard Buijze for the link.