I found myself trying to explain to non programmers why I find so interesting writing software so many times that it became a question stuck in my mind. And I realized I couldn’t answer it. But then it hit me: writing software it’s like writing a book.
You start from a blank paper and a lot of ideas floating around in your mind. You feel the need to write them down so you can give them a shape. First you lay down the structure of your project, confident that everything will fit perfectly and the story will work smoothly and flawlessly.
You start defining by your characters; at the beginning their profile seems pretty easy to describe, no need to make them too complex. Every character does a specific set of actions and the interaction between them are clear and simple so the reader can easily follow them.
…you can’t stop writing because you and the book are so deeply connected that you can see yourself among thoseÂ lines
All the character live in a perfect world where everything goes as it is supposed to go and you, as the writer and creator of this world, have perfect control and power on what is going on in there.
So you keep writing your story under the excitement of seeing your ideas becoming real; you can’t stop writing because you and the book are so deeply connected that you can see yourself among those lines. So hours, day and maybe months go by and then finally you finish your book.
Everything is there: clear, simple, perfect.
At least that’s what you think.
What you think is the final version of your book is barely a draft. Some people will start reading the book and, with your big surprise, they will start complaining that the book doesn’t make too much sense. What the characters do seems stupid, the interaction between them seems too simple or weird. Something that in real life does not make any sense.
What you imagined and defined is an utopistic world that only exists in yourÂ mind
That’s the problem: the story, the characters are too perfect to fit the real world. What you imagined and defined is an utopistic world that only exists in your mind. But you didn’t know how real world works because you were in your room, sit at your desk dreaming of a different world where everything was black or white. Real life is complicated and nothing is what it seems at first glance; not everything can be defined under specific conditions and many things evolve during their life passing from one shape to the other.
Now that you faced the reality it seems that the whole world around you is falling apart. Your certainties disappeared and even you start thinking that your book does not make any sense, that you should probably throw it away and focusing on something else. Many writers do this. They just give up on this because they cannot tolerate that what they imagined is not true. If that is not true and readers cannot understand it then it means it’s not worth working on it anymore.
But luckily for us, many other writers don’t give up and accepts and understand that what they imagined is not real and they embrace the reality hoping that their stories and ideas can still work in a world different than what they designed.
Here you see the difference between a good writer and a real artist.
Good writers just change the plot, the characters and the environment of the book just enough to make it real and understandable for the most of the readers. They simply attach everything to the real world. The result is something that most of the readers understand and in general they appreciate it. Let’s be clear, the book won’t probably be remembered and studied by people for years but it does his job. It entertains the readers just enough for him not close it.
Who reads their book must found answers to questions he has never askedÂ himself
Real artists, instead, do something different. They think that connecting the book to reality is not enough. They must understand the real world and the readers deeply. They want to know what the user wants to read even if he consciously doesn’t know it yet. Who reads their book must found answers to questions he has never asked himself. But these question will appear so important for him, that he has to keep reading to get them or he will feel restless.
Exploiting the real world is what gives these writers the right to be called artists.
So after all this, you still want to ask me what’s so interesting in writing software?