To Code or Not to Code?
Posted by: Shawn Broukhim
In a recent YouTube video produced by Code.org, President Obama, encourages young people to spend some time this week learning how to code. He remarks, "Don't just download the latest app, help design it." With these words, Obama joins the ranks of a number of other entrepreneurs and celebrities encouraging computer science to play a bigger role in our nation's education system. The idea seems to be that by learning how to write code, we will become masters over our technologies, rather than simply consumers of it.
As someone who recently learned how to build web applications in an intensive twelve-week long boot-camp, I agree that gaining computer literacy beyond basic use has changed my life. When I graduated college with a liberal arts degree, I felt frustrated by my lack of practical skills and found it difficult to secure a fulfilling job that paid the bills. Taking a bootcamp reversed my trajectory - I enjoy the variety of challenges in writing code and work at a place with people like myself.
However, the notion that coding is a new form of literacy, that we wouldn't be able to function as citizens if we don't know how to code, is a tentative one.
Having a solid background in the liberal arts has helped me to more easily grasp the ideas that drive programming, such as object orientation and behavior inheritance. So much of programming is not just math and science, but also rhetorical in nature - we are constructing systems, driven by conditional logic, being creative, visually and dynamically, and pushing the boundaries of our knowledge. In some ways, I didn't learn the true value of my liberal arts education, years of reading old books and writing essays, until I learned to code.
Steve Klabnik, a prominent coder and Ruby educator, gives a really interesting talk on Object Oriented Programming and its relationship to Philosophy. He begins by tracing a connection between classes and instances to Plato's notion of forms as abstract from real objects. The relation is helpful when designing objects and modeling behaviors - something we spend a lot of time dong while building web applications. He also identifies a direct relationship between RESTful practices and semiotics - that routes point to database entities in the same way a signifier and signified join together to form a sign. There is also a Google group about the relationship between Philosophy and Programming.
Even though coding is important, it is worthless as a skill if one learns it in a vacuum. The true merit of coding only becomes apparent if we experience it through the lens of whatever else we are interested in or passionate about. Overly stressing the importance of learning to code ignores the importance of a well-rounded and multifaceted education in developing individuals who are thinking and feeling beings. We must learn how to program, but only if it makes us better human beings.