For someone who prefers words over math and literature over physics, the thought of learning to code was utterly scary. My practical abilities were very close to none, and my comprehension of basic computer science was practically non-existent (seriously, though; I spent my Computer classes at school playing games and writing improvised stories). Nevertheless, life can be a series of fortunate coincidences. And after overhearing programming conversations, reading articles, and exploring the Internet, I stumbled with a coding post on Meta Notes.
When such a perfect tapestry of events, people and chance knocks at your door, you can’t just let the opportunity fade. And so I wrote them an email. We met for an interview, which was more of a friendly dialogue about life and our personal pursuits, and soon after, I started aninternship at Junto Studio. There were very few things that I was sure of at the time, but I was completely certain that I wanted to learn how to code.
Programming is just like writing
Although I’ve been learning to program for only a couple of months now, I’ve stumbled with some decisive lessons that I’d like to share with you. Overall, I’ve discovered that programming is just like writing. Here, let me explain what I mean.
If you think about it, both writing and coding strive to be creative and precise endeavors that rely on a structured approach to accomplishing a task. They both aim at doing so with an economy of language, and turn out to be problem-solving processes where there’s no single perfect solution. Writing is a form of art because it’s an experience, and so is coding. It’s the period of time when the transformative process of feeling, imagining and envisioning happens.
And just like prose, code tells a story.
While writing (or programming), you use the results of other works to build up something significant, and you combine innumerable resources to create something out of nowhere. As a result, a coder can be regarded as an essayist whose main concern is with exposition and excellence of style. His main tool, language, is the architecture behind much of what we experience. Imagine everything we could discover by understanding this architecture a bit more!
I’m aware, though, that this is not an accurate portrayal of the general perception of programming. Actually, relating programming to sheer, manual labor is a common mistake I’ve comitted myself. In fact, is a subtle mistake that stops many people from even trying to learn it. But what if we change the narrative and recognize coding as a creative pursuit? As a dialogue between you, your imagination, and the minds of your users…?
Also… it’s a liberal art
According to Wikipedia, “grammar, rhetoric, and logic were the core of the liberal arts”. And believe me or not, this sounds a lot like coding! In a traditional education program, students get fixated on grades, and memorization is practically embedded on the curriculum. Programming, on the other hand, is much more like real life: you’re never done, you can always make something better, and you will never find a single, isolated solution to a problem.
Now, here are the main lessons I’ve learned after this two-month adventure:
Coding has taught me introspection. Trying to figure out how the computer encodes things has helped me to inquire on my own insights.
When you are working in a project that you truly love, momentum just builds, and somehow, you eventually do whatever it takes to learn (working at very late night hours, trying risky moves just to see if something works, and diving deep in countless internet sites in search of answers, are just some examples…)
Being patient pays off. For someone who writes cathartically, coding has taught me how to regulate my emotions. I won’t lie to you: it can be frustrating at times, but programming is a great teacher at thinking first (and thinking again), and reacting second.
Coding is valuable not because everyone is doing it, but because it’s fun… And great inventions emerge from precisely that: experimentation and fun.
Being surrounded by friends that are willing to help me even with minor details has been incredibly helpful. Not only for the paths they clear and the light they shed, but for the support they’ve given me along the way.
And last but not least, I’ve learned to focus on a problem, think through it rationally, and try to persistently find methods to solve it (you don’t have to be an engineer after all, you just have to learn to think like one!)