How writing code is similar to creating art
I finished undergraduate degree in 2014 and started going to any sort of office for the first time. My job role was about helping different teams with data analysis and help them track whatever they were doing. 4–5 months into the work, I realised how transient my work was. Every week I would work on some excel sheet and then on some other excel sheet next week. I wanted to work on stuff that would last more than a week, some months, some years probably, even more than that. I was somehow drawn to people who were writing code. It appeared to me that whatever code they wrote, it was used by ‘more people’ for ‘more time’. I was also fascinated by this idea of taking the data and being able to predict stuff into the future. But more on that later.
Slowly, I started dabbling in code and would write small chunks of code to help people in the team. Thanks to some wonderful folks I met during this time, I started reading books on computing fundamentals, operating systems, networking, data science etc. I was drawn to coding because of the ability to create something useful.
Since then, I have worked on a couple of different products and really enjoyed writing code and creating stuff. Looking back at the small timeframe of my experience writing code, I like to look at coding as an art.
A small diversion here. Back in college, I didn’t like idea of coding. Why would someone sit in front of a computer all day when the real world was somewhere outside.
When I say art, I don’t want you to restrict your imagination to famous paintings or architectural marvels. I want you to think about a carpenter who crafts a chair with relaxed hands. Or a stone artist who chisels away on a statue. Or a farmer who raise their crops with practised hard-work day after day in growing season. Or a chef who methodically mixes all the ingredients and uses just the right recipe to create tasty food. I want you to focus on pieces of art which are perfected with intense care and patience. A carpenter is not in a hurry to finish their product, but every wood shaving, every measurement and every hammer on the nail is a measured activity with end-product in mind. Anyone who create stuff with their hands practice their art with unhurried dedication and sustained care. When a carpenter is done with the chair, the chair becomes useful to someone. The person who uses the chair doesn’t ask about all the tools and adhesives that were used to make the chair. They buy the chair and they use it for a long time. Something similar happens with a dish made by a chef. When a patron tastes the dish, those few milli-seconds of first bite decide whether the dish will be relished or gulped. And that’s why all these creators who create their products with their hands care about the output. They don’t just want to get it just right one day. They develop intuition, discipline and processes to get it right every time, every iteration of their performance.
Back in the college, I got to be around a lot of artists because of couple of factors. One, I liked to play piano and was part of music crews of hostel and college. Second, I spent an year being cultural secretary of my hostel, which roughly translates to coordinating hostel participation in various performing arts. That means spending a lot of time (all the time outside lecture halls) with music group, dancing group, dramatics group, painters and film-makers in the hostel. Almost all the time, every group would be working towards some event. e.g. music club would be preparing for rock music competition, dancing crew would be preparing for group dance competition, dramatics group would be writing a script for a street play. And almost all of them would be working with timelines of around 2–3 weeks to come up with a performance, practice it a lot and perform it in a competition with all the other hostel teams. In lot of those late-night sessions, I was introduced to impatience and perfection-seeking of creators and performers. Our dancing group would practice the same moves every night for 5–6 hours, just to create that perfect 10 minutes performance in competition. Similarly, I would find the actors in the dramatics crew working through their lines every night, analysing the emotions, loudness of their expressions, speed of their dialogues, just to get that 8 minutes performance impeccable and forceful. Similarly, painters would huddle in some room together and brainstorm on the wall painting that they should be drawing to win the competition. I was introduced to the care and hard-work that all my friends put into their performance and creations.
I was fortunate to observe the ‘process’ through which ideas on paper and discussions were converted into concrete artefacts (a music performance, a dance performance, an emotional stage play, a stirring painting) by teams of people with hard work and practice. And this process happened again and again over the 4 years I was in college. The underlying elements in all those all-nighters was care and willingness to get it right even though it takes longer time. Doing it right meant the output was flawless and impeccable. We would measure it by applause at the end of the performance or people telling us next day how much they loved watching that performance.
A lot of what I do nowadays when I am writing code or working with my team is helped by the lessons learnt preparing for those music and dance performances. In a way, we are still working towards a performance, an artefact which would be experienced by the user. We want it to be flawless, and we want it to be like a performance. And that’s why you can think about creating digital products like preparing for performing arts. Imagine that the code that you are writing would be a performance for someone. It’s totally up to you to make it a song that people listen to or a song people hum with. It’s totally up to you to make it a dish that people gulp or a dish people relish bite by bite. It’s totally up to you to make it a painting people glance at or a painting people contemplate with their deepest thoughts.