This week I saw a relative of mine I hadn’t seen in a while. Let’s call him Amir. After the standard pleasantries, Amir inquired as to what exactly it is I do for a living. “So you are computers person?” has asked. It took me a second to recover from sheer novelty of the phrase computers person. When I regained my sense I just nodded. “Yes. I’m computers person.”
Now, usually this sort of encounter wouldn’t really merit any documentation or further examination. However, I’ve heard people put what exactly it is I do for a living a lot of ways. You are a Computer Programmer is popular with people over fifty. You are in IT comes up from time to time. You Work on Websites makes a respectable showing. You write computer programs is a shockingly common dark-horse. Some have heard I am an Engineer and proceed to ask me about how these confounding new aeroplanes manage to stay in the sky in defiance of nature’s will.
See, no one of these appellations successfully triangulates what I do for a living, but they are all at the very least actual things that I very possibly could do for a living. I had never heard the construction Computers Person before, quite obviously, because it says Computers Person at the bottom of precisely zero business cards. It is a plainly insufficient moniker for a type of work. The plural-noun-as-adjective construction seems to be borrowed from neologisms like “ass man”.
However, I must give Amir this: by using the phrase ‘Computers Person’ you have declined to attempt to describe the color and shape of my day-to-day work in the most dignified way I have ever encountered. Amir, my man, you have made the most reasonable choice faced with a domain that has almost purposefully made its own internal designations near-incomprehensible. I prefer ‘Computers Person’, frankly. Not even I can produce a more meaningful and accurate descriptor for my job. Why do I decline the title “Computer Programmer” and sort of wince at “IT”? Both of those are fine, at some level. I do occasionally have cause to provide computers with serialized instructions in the form of a program, yes. Do I work with technology built primarily to handle information, yes. Me and, also, nearly everyone at this point. Is an “Engineer” someone who “engineers” things? Because if so, congratulations — so are you.
A lot of these titles are Corporate Org-chart manifestations of academic distinctions. Schools have Computer Science & Engineering programs that proudly give birth to Engineers, and other schools have Computer Science programs that give birth to Computer Scientists. To give someone a job title that directly connects them with a specific academic discipline implicitly confers a sort of status. Considering oneself a Computer Scientist is all well and good, if you engage in the work of Computer Science as every proper student in either course does. However to have the title Computer Scientist beneath your name on a business card means something else entirely — you are in an extremely elite priesthood and are probably the holder of a terminal degree in the subject of Computer Science. While you have a vague sense of what an Engineer does intuitively, the Computer Scientist declines to associate him/herself with anything specific. Engineers plan, build and maintain things. Their title is a verb with an indirect object. They engineer stuff. What does a computer scientist do? Ummm, well, you know, computers, right? Those. But, like… harder.
And what is a Developer? Well, it’s usually someone who writes code. In practice, they have the same skill-set as an Engineer or a soi-disant Computer Scientist, but as a job title it usually indicates that the holder is slightly more entry-level than his Engineer or Computer Scientist Counterpart. Prefacing Developer with Software doesn’t modify its meaning it any way. Adding the Web prefix to Developer seems to attenuate our expectations about the holder of such a hybrid title merely by specifying what it is that they Develop. A web developer will also often be an engineer or a computer scientist. One finds, in startups in particular, that Developers and Lead Developers have magically transformed into Engineers and Heads of Engineering over night only to suggest to outsiders scanning LinkedIn profiles that said company is up to something slightly more complicated and elevated than Development. Engineers will transform into Computer Scientists to accomodate the same need. A company boasting a Scientist on its roster must be up to something indeed!
This is all a very roundabout way of saying that these distinctions don’t really mean anything. There is a pretty flat taxonomy of Computers People that is deliberately obscured by the abundance and variety of titles that you encounter in the field.
There are people who write code that has a tangible surface-level manifestation. If you write code and you can point to something on a screen that is not code and say to outsiders “my code made this thing happen” then you are in this first class.
Then you have people who decide what code should be written. These people tend to have managerial titles, and their influence over the product is vital but often intangible to outsiders. Those who have made it into this second class tend to be distinguished by the breadth of their experience rather than the depth of their knowledge about the technologies at hand or by academic pedigree.
There are also people who write code that is only used by other people who write code. Hierarchically, this class of person is generally perceived to be, if not “higher up”, at the very least more academic then his/her tangible-experience-producing counterparts. These people often work on what is believed to be the ‘core’ of a larger system, and are responsible for an unseen virtue of the product ‘as technology.’ (Sometimes when people say “backend” they’re referring to this sort of computers person, though erroneously). If someone asks you “did you work on this thing that I can point to on a screen” and you say either ‘well, in a way’ or ‘I don’t know’ then you are in this second class. In some ways, this group’s defining feature is a different skill set, and in others it is a different personality type. Some Computer Persons are kept away from “a thing you can point at on a screen” because they are bad at “things you can point at on a screen” and hence wind up in this category.
Possibly the most illustrious genus of the Computers Person Familia is built of people who write code that is important but will never actually be used. These people tend to be academics or alternately very bright and experienced people who are better at math than they are the mundane and fussy business of ‘programming’. Most companies that use the word ‘algorithm’ in their press releases have a couple of these floating around. The code these people write is usually proof of an idea that is best placed under the banner of ‘research’ although most of their time is spent on implementations of existing research rather than conducting research itself. They read papers. They’re often brilliant and, for many kinds of technology-first organizations, utterly indispensable. That said, you will almost never find a single line of their work in a enterprise-class final product. Their work is vital but it needs desperately to be handled and integrated. In its raw state, their work is often difficult to read, unmaintainable, and unreliable. This “handling” is often done by the the aforementioned people who write code that is only used by other people who write code and, at times, done by a class of person whose entire reason for existence is this delicate integration process.
But really, there is an enormous amount of porousness between these categories . In many cases it is hard to place someone in just one of these discrete categories. As a group, these people form a self-protecting class that allows other kinds of work to define themselves relationally. For example, in many startups ‘marketing’ is a pant-shittingly broad designation for the very necessary group of people whose purview ends just at the doorstep of Computers People. Computers People are a class of people that need to be sectioned away, it seems, because their work is so markedly different from other kinds of work. For all intents and purposes, it makes sense for the civilian to regard these people as a singular monolith, because any rational inquiry into its inner structure is fruitless.
As a community, Computers People actually seem to like things this way. This way, we Computers People get to police our own. We didn’t invent this vocabulary of titles and this byzantine faux-hierarchy to make our internal designations more useful to outsiders. Quite the opposite. Why don’t you know what the difference is between a Developer, an Engineer, a Programmer, and a Computer Scientist, a Data Scientist, a Front End Dev, etc? Because if you knew more about what any one of us did, you’d actually be ask us about it — and that would be a straight-up apocalyptic scenario. The Computers Person requires a near-monastic level of isolation to do his or her work. Total transparency would bring about the end of what many Computers People need and want above all else — a protective buffer between us and the myriad forces of interference.