Wednesday, September 24, 2014

Coders and Writers

I know very few good coders that are also good writers. While the best writers are not expected to write any code at all, the average-to-good coders are all expected to communicate at least a little. Being not able to write well can be a limitation. Whether you're running a start-up or communicating with your management, writing well cannot hurt.

Having been a coder and having had decent verbal skills, I often feel that the trouble with coding is that it is too different from conventional thinking. The way coders have to think everyday, makes them worry about details quite a lot. This often discourages you from "connecting" with your audience.

A writer, on the other hand, always connects with his audience. In journalism, history or fiction, writers go in the field, research information and communicate the essence to their authors. That is a full-time job. The job of a programmer is very different. He questions every finding in the field and then when he is done, he abstracts the logical details as far as necessary from its audience. Connecting with the audience is never required of him.

Having a high-level idea - which his intuition may encourage - also works against the art of the programmer. So he often ends up discouraging the intuitive process as well. Having structural design of a solution is a skill used by management but it is never enough for a coder - for whom almost everything requires getting down to the nitty-gritty. A friend of mine, while explaining to me how much of debugging does his real life is about, used to say that if you're a believer of "de minimis non curat praetor"  (king doesn't care about minor details) - make sure you stay away from programming.

It may sound ironical - when you observe that linguistics is the best place to study logic (language is where Lewis Caroll started study of logic with), it seems surprising that coders and writers have gone completely separate ways. Despite the historic appeal of coding to the logician - even the writers who would write about logic hardly benefit form a "coding" mindset in their art.

This brings about a certain "social" separation between coders and writers. As a teenager, I myself was inspired by writings of Bertrand Russell. It impressed me how well he could write. Clearly, his writings weren't appreciated by everyone. While students of logic loved him so much, Yeats himself had once called him stupid (ironically while explaining the importance of teaching mathematics to kids).

I know that Bertrand Russell must, seeing that he is such a featherhead, be wrong about everything, but as I have no mathematics I cannot prove it.
Source: http://languagelog.ldc.upenn.edu/nll/?p=4392


That a separation exists between coders and writers in our society is not an exaggeration and doesn't need more evidence. I think the reason lies in the very lack of a need of audience by the programmer. Lack of a need of audience is both the strength of the programmer's art and his severest limitation.Not needing an audience destroys the need to write.

I clearly remember, that as a teenager, I was inspired particularly by logic and mathematics and ended up having little regard for poetry for example. Yeats,Keats or Coleridge, despite their appeal to me as kids, seemed all the same in my teens. Writing a novel of size of War-And-Peace or Lord-of-the-rings seemed nearly impossible, even a grand waste of time sometimes.

The next ten years showed me how little my experience of the world had been because of this disconnection. I think I was only starting to understand what Wittgenstein had meant by saying - "The limits of logic are the limits of my world". The language of logic is all that mattered to me at that time - and yet there were people - my family, friends and women I was attracted to - who had no connection with logic whatsoever.

For a long time, still, my perspective was formed by evaluating everything logically. The need to be loved - was to do with reproduction and the need to socialize was to do with mobility. Too soon I felt I wasn't doing anything I truly enjoyed - or rather I wasn't enjoying anything I was doing. This didn't happen because I was tired of pretending but because I didn't know what my true feelings were any more. The need of feeling was precluded by the need to reason. Yet at the same time, I had several irrational propensities - a desire to learn new languages, an inexplicable liking for cinema, eat out, cook and read history. These activities weren't entirely logical, nor male entirely. I was doing them because I liked them.

As I started reading what I loved, the problem that I soon had was that I wasn't able to compose what I loved reading. Coding never posed a similar problem to me. When I was coding - I always came out as a conqueror - strong, robust and resilient. On the other hand, I would sound extremely miserable when I wrote. In my writing, the memories of past and dreams of future were driven inexplicably by a world of battles, famines and sorrow (thankfully I didn't read too much science fiction). While I was able to feel a lot more than that, what I wrote was just terribly and narrowly associated with search for causality.

It took me years to realize that the way we think is easily detectable from the way we write. The reason why most programmers I know can't write well is that they actually don't like writing. A certain level of stoicism helps a mathematician and a coder - but it's not a trustworthy friend of a writer. If you want to organize your thoughts, like many programmers do, it does help to question the thoughts and express what you truly mean. But a writer needs to connect with the audience and for that he needs to offer far more than the skepticism to his audience. I don't believe that programmers can't write. What I do believe is that they must write differently - and attempt to put their heart and soul into it - not just minds.

Long before he became a nobel laureate in literature, J. M. Coetzee used to be a programmer at IBM - something he wrote about in his work Youth in 2002. He did talk about being miserable in London - for reasons similar to what I had when I was in New York. Even though you do not want to become a full-timer writer or publish in literary criticism journals, you can certainly write as a coder if you want to. When someone trained in Applied Mathematics can win a nobel prize in literature, a lot of trained programmers could definitely get that sales pitch working. The separation I often see between coders and writers in the industry is really unnecessary.

No comments: