Why I Love Software Engineers (Yet Will Never Be One)

[Originally posted on Google+ on Dec 21, 2011]

Lisp. Perl. Haskell. Ruby. Fortran. C. JavaScript. These are beautiful words. It’s a little weird for me to admit this out loud, but sometimes I run through a little list like this in my head just to savor the way each one of them sounds in my mind’s voice, kind of like a 15 year old who’s just gotten her braces off and runs her tongue over her newly smooth and aligned teeth. They are beautiful not just phonetically, i.e. in the way “cellar door” sounds beautiful, but also (and mostly) because they are names for very special things. They are names of programming languages, and as such they stand for microcosms of peculiar depth and perspective. These words have personality and passion, but also a sort of purity that is not often seen in the creations of mankind. They represent the effort to project a logical but human order upon the unholy chaos of information in the world – to discipline the unruly mind and hone it into a tool that can create itself and improve upon itself through language.

For as long as I’ve had easy access to them, I’ve been drawn to programmers and their self-created culture, yet I’ve never had a sustained interest in learning how to program, myself. I took one computer science class in college (the intro course for non-CS majors) and learned a bit about machine architecture and Java, but while it was nifty, it didn’t make me regret my own academic path. I was a linguistics major – I love natural language in all of its ridiculous intricacies and I love being able to communicate verbally with people and I love thinking about the deliciously opaque mental processes under it all. It’s pretty intuitive that an interest in human language might facilitate an interest in artificial or computer languages, but at the same time it puzzled me that I was much more interested in the people who used the computer languages than the actual languages themselves. I liked listening to my compsci friends discuss their problem sets and make nerdy references to their expanding knowledge. It didn’t frustrate me in the way that listening to an unknown foreign language sometimes frustrated me – it was more like listening to music. I couldn’t understand it perfectly, but it still spoke to me in a satisfying way.

Moving to Silicon Valley accelerated my development as an informed outsider to programmer society. I learned that each programming language has its own idiosyncrasies and, therefore, its own evangelists and haters. Charts like this made me giggle, but also fascinated me: http://bit.ly/4A3paS. There were clues everywhere telling me that these languages were not just differentiated by vocabulary and syntax, but also by fuzzier connotations of attitude and even emotion. Lisp is old and elegant; Perl is chaotic and community-driven; everybody loves to hate C++. I found out that most programmers worth their salt were fluent in multiple languages, since it’s trivial to learn a new programming language once you’ve mastered one – much more so than natural language. Programming languages are also much narrower in scope and much more abstract than natural languages, allowing speakers to champion their favorite language and bash others without the icky nationalistic/ethnic/racial trappings that firmly limit any such discussions about natural language (were such discussions even practical to begin with). Taken together with the engineer’s tendency towards certainty of opinion, you suddenly have culture clashes and borderline holy wars over something innately and starkly devoid of emotion. Someone who might seem robotic and removed when it came to typical conversations about pop culture, romance, etc. would turn around and passionately, humorously create this (the top answer, not the question): http://bit.ly/4pvfAB.

I have realized that I will probably never fully understand why Lisp is more elegant than Perl, since I doubt I would have the interest to learn them. I use language for communication and expression, and not for creation and organization. But that doesn’t stop me from appreciating the people who wield them in all of their glory – in fact, it probably facilitates this state of affairs. I like imagining programming languages as colorful man-made deities (Greco-Roman style) who are constantly being summoned, tinkered with, praised, and cursed by acolytes. For all that they are more often against religion than for it, I find that the true-blue software engineers resemble the prophets of yore – they are obsessed with strange and wonderful thoughts which many of us cannot imagine; they often do not conform well to “normal” society; they use unintelligible strings of words to create and destroy things, guided by a great system of knowledge larger than any one of them. I think software engineers are beautiful, powerful people. And I think if I tried to become one of them, then the magic would disappear. The noble sackcloth would be itchy and I could not approach that plane of existence as perfectly as I would want to.

So, even though I’m probably a pretty darn good coder in a parallel universe, I choose to observe and adore rather than become. But sometimes I do wonder what it would be like to sit down and just createfrom the sheer power of language – to produce something that needs no external validation or direct observation to be of value, in contrast to a work of natural language. I guess the grass is always #008000-er on the other side.


One thought on “Why I Love Software Engineers (Yet Will Never Be One)”

  1. Hey Peanut!

    It’s been a while… but I just wanted to say a quick hello. I love your post here… as it shows your own passions and interests and it shows your appreciation for other people’s passions and interests. I think the world works best when you hit that magical point of combining passionate people with deep expertise in different areas. It’s hard to create teams like that, but one key is having deep respect for people in other disciplines. Keep up the great thinking and the great writing!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s