When I was a child and went home after school, my grandma looked after me. I told her about my adventures at school, how I traded my treasures, I gave five gel balls and got a plastic letter thingy instead. What plastic letter thingy, my grandma asked. She fried the usual chicken for lunch, it was Dad’s day, he would come early in the afternoon. It’s like a little press that has all the letters. You slip a piece of paper between its two sides, press a letter, and it will leave a mark on the paper, it almost punches it.
Ten years later I founded a literary magazine with my friends at the university. It had all the highbrow essays on postmodern that was fashionable at the time. We had long discussions heated by cold wine about topics we less than half-understood. and more than twice over-analyzed. We published poems, critics, essays, photos, and anything else that fall into the grey zone in between. Essays belonged to my territory and I introduced the grandma rule. I don’t approve of any article my grandma wouldn’t understand. Not that she was into postmodern. I didn’t give her anything to read, it was just an imaginary test. The authors got the point, they had a grandma too.
I joined a software company after graduation, my first exposure to real life as opposed to ad-hoc translations of philosophical texts for a book to be published in 500 copies by the university press. As opposed to teaching math to the son of my lecturer’s cousin. As opposed to a dozen of other occasional jobs like being a host in my under-graduation suit at a pôche party. I considered these activities alibis. I pretended to make money to pay the rent. It was not real money in the sense that it was little, irregular, and totally unrelated to what I wanted to do in life. Being a programmer was not something I wanted to do (I didn’t know it at the time), but it was a nice and regular wage.
If there is a bread-and-butter of programming, bread must be databases. Databases speak a common language. Not all speak the very same words, there are dialects. Even if there is a standard, it can’t specify every case. Microsoft was notorious to not adhere to any standards, to have its special quirks that work only with their products. It’s like Spanish or English. Some phrases used in Mexico sound ridiculous to people in Madrid, some they don’t even understand. But if you learn Spanish in Argentina, you’ll have no problem to make yourself understood in Spain. Databases speak SQL which stands for Structured Query Language, but you pronounce it “sequel”. Those programmers, they love punning, they are obsessed to pun.
Now how can I tell my grandma about databases? The previous paragraph is just an introduction to set the scene. It defines a single word in the huge vocabulary of programming. It doesn’t teach you the basics of SQL. SELECT* FROM person
, that would be the first sentence, that would be the “Hello, my name is Ishmael, call me Ishmael”, the opening line of a lifelong journey into the land of databases. I want to tell my grandma about my adventures at work. About the SQL letter thingy. What letter thingy, she would ask. Do I teach her databases, tables and queries, indexes and foreign keys? (You don’t have to understand these words. I put them here to show off.) For what? Only to tell her a story in the twenty minutes while she is frying her eternal chicken.
They are mostly small, throwaway stories, their entertaining value is minimal even for the initiated. It’s like the small talk of series binge-watchers. Did you see the last episode of The house of cards? That Michael Kelly guy was gross when he tore the contract. But my everyday life is built out of such trivial blocks, out of little victories and failures. I learn the language and its subtleties. I learn the above statement means “return all data from the ‘person’ database table”. I learn what this query means: SELECT name FROM person WHERE name LIKE "A%" ORDER BY name
. Return all names starting with an “A” and sort them alphabetically.
A little technical explanation is due here, but don’t be afraid. A database is a collection of tables. A table is a bunch of uniform data. You can have a table of persons who have a name, a birthday, a gender, an address. This is what I used in the previous example. You can have a table of students at a school, another table for the teachers, yet another for the classes they teach. There is a mechanism to connect the tables and define a relationship between them. So you can ask questions that involve multiple tables, like “which students attend the history class taught by Ms. Pumpernickel?” No, I’m not writing that SQL query here.
There are magic words that perform an operation on a table. They are the auxiliary verbs of this language. You met SELECT that returns data of a table. You can UPDATE the contents or INSERT new data into it. You can even use CREATE TABLE to make a new one or DROP TABLE to delete an existing table. If you followed this far, I will show you something. If I lost you a few paragraphs back, please read them again, you will be rewarded. You can have a peek into a programmer’s mind. I am going to show you a programming joke that nobody understands outside this sect. And you will understand it. Here we go.
It probably never happened in real life. But it’s possible theoretically. If you enter some data to the database and accidentally execute it, you may end up losing all your student records. DROP TABLE Students
does exactly do that.
My Grandma died without ever learning SQL and without ever understanding my day to day job. So many people know so little about programming. All they know is programmers tell computers what to do. End of story. The fate of grandmas is to not understand what their grandchildren do. I find it painful, I want to share this important aspect of my life with her, with my wife, with friends who are not members of the cult.
I don’t want them to write code. All I want them is to understand my stories. It might look selfish first, but it would beneficial for both parties. Our relationship would deepen, one more item added to the menu we can choose from when we want to talk. A nutritious, albeit a little dry addition. Intellectuals have had heated arguments about the theory of relativity, how it affected the Newtonian worldview, how it has a far-reaching effect into the ways we interact, into the tv shows we watch (maybe even to the fact that we watch tv shows), and into the cosmetics we use. It may be a laymen’s conversation about topics way beyond their understanding, a group of liberal arts majors shallow understanding of modern physics. But they are having a good time. It’s one step closer to grasp this enormous world.
Coding hours and programming turtles for kids are fashionable today. We think everybody should speak that language. I’m not sure. I don’t want my family and friends to learn to write actual code. It’s enough if they understand it at a basic level. Then they can decide for themselves.
This is one side of the coin. If I want to make a slogan for it, it would go like “Teach a little programming to the poet”. The other side is based on my experience with programmers who are considered somewhere between mild autism and a socially inept introvert. This is bad, bad prejudice. But. Programmers don’t read poems. (Does the rest of society do?) Programmers don’t go to theaters, don’t have a fuzzy feeling in their stomach in various situations. They don’t take the longer road to a friend’s place to walk past by an old chestnut tree that moans in the wind as if it was inhabited by a lost soul.
There are exceptions, I know. Tell me any rule or statement that has no exceptions. This is the narrow-minded programmer’s way of thinking again. Of course, you are an exception if you are reading this AND you are a programmer AND you are not just writing a comment on this spiced with some really mean phrases. Some programmers not only read poems but write them. Some not only go to theaters but act in plays. They have all sorts of fuzzy feelings and are not afraid of sharing them. Or they are afraid of sharing them which increases the fuzzy feeling and they share it anyway. I wish there were more of them. I wish there were more programmers who can talk to my grandma, to my wife, to my friends. I wish the two groups of people I spend my life with had a larger intersection in a set theory sense. I wish they could talk.
Engineers, software engineers among them, are a strange beast. Most could probably get a degree in German classical philosophy or literary theory. They read books that touch the soul. They watch movies that take your mind apart and put it together in a surprising way. But they rarely share this experience. Sticking to the abstract world of databases feels safer.
This is my prejudice. I am standing in both worlds, in the poetic world, and in the programmers’ world. I am bilingual, I can communicate the inhabitants of both lands. Which one is my mother tongue? I am afraid none of them anymore. I speak with a mild accent. Both people can immediately spot I am not one of them. I could be, almost there, but not. My prejudice is programmers are born with a smaller heart than the average population and they compensate for it with their brains.
But the problem is not that programmers don’t write poems. Some do. Like some carpenters and corporate lawyers write poems. Not too many, maybe 1 percent. The problem is they don’t write about everyday life. No poems are written about databases, about the struggle to get a query right. Programmers seem to be unable to tell their grandma and their spouse how they spend their day.
A few attempts have been made to tear down the walls around IT and open it to the public. Books tell the secret life of Twitter and Microsoft. I have seen poems written in programming languages. But they are shallow in the sense that they don’t give you extra knowledge. Watching four seasons of the IT Crowd doesn’t get you a step closer to understanding what’s going on in a programmer’s mind.
There are Doctor House and The night shift and a dozen other series for those interested in medicine and the everyday life of a hospital. The scriptwriters found or invented a language to talk about it to the lay audience. I couldn’t perform a simple by-pass surgery but watching a few episodes makes me think I get the gist of it. It doesn’t make me a surgeon, but I think I can have an educated conversation with one, I can ask meaningful questions and be curious.
When I close my laptop at 6 pm and stand up from the desk, I reflect on my day. A ledger of little failures and victories. All technical in nature. Then I feel empty. I have nothing to show for the 9 hours spent on my laptop. Nothing to share outside my team, outside this sect of programmers. What poem could express this mix of emptiness and satisfaction with the SQL query I wrote. I need that poem, someone, please, write it for me.