There’s More to Code Than Just Code
Updated: Jun 2, 2020
There are two general reactions people have when they come across a desktop chock full of lines of code: genuine intrigue and general disinterest. I’ll leave it up to you to guess which is more common.
The world of programming has been made out as an increasingly daunting one, full of errors, bugs, and a need for acute perceptivity that seems distant to most of us. But despite the difficulties that coding and programming seem to face, more and more administrators, programmers, and schools have vehemently crusaded for the importance of learning to code for academic, professional, and even personal success.
Now, I don’t need to champion the mantra of “Everyone Should Learn to Code” for you; the phrase is well-known to the point of being hackneyed. More recently, though, more and more people have begun debating whether everyone should actually be forced to learn how to code, whether that be in an academic or professional environment.
Dozens of Medium articles have elegantly weighed the pros and cons of this debate. My argument, like the ones some others have described, is not ardently in favor or disfavor of coding itself. But rather, it’s in support of the transferrable problem-solving and critical skills it has taught me and can ultimately teach you.
My Journey to Learning Coding
As a high schooler, seeing all these headlines touting the insurmountable importance of learning to code, I would dedicate hours during my summers practicing writing basic commands in HTML/CSS and Python using Scratch and Codeacademy. Despite the time I spent learning to code, I never really felt the “genius” sensation or power that programmers passionately rallied around. Simply put, I struggled immensely to develop and debug code efficiently and immediately told myself “coding isn’t for me.” Following this, I tried to avoid coding when and where I could. I reasoned that if I wasn’t a computer science major, I wouldn’t need to use code for things. And for the most part, I did what I could to make this work. If there was a pre-programmed platform I could use to generate results — or worse, if I could just put my data into an Excel spreadsheet and crunch numbers with my trusty TI-87 — I took every roundabout around coding I could. It wasn’t until my sophomore year physics lab that I realized the problem with avoiding coding. While calculating what should’ve been the results of a simple mechanics experiment, I came across a significant portion of my results that were far off the scale and all needed to be thrown out. Much to my surprise, I immediately wished I knew how to use an if/else statement, which must’ve arisen out of the dormancy of some “ages ago” knowledge of HTML/CSS or Python modules. In brief, an if/then/else statement is a construct that allows you to do specific things based on particular conditions or data values you can set. For example, if I collected my data on Thursday, then mark it as “null,” else, keep it as it is.
In a suspiciously convenient turn of events, I came across if/then/else statements the following month in the required intro to R class I was taking that same semester. With a renewed buy-in, I tried a little harder to understand the coding syntax and output and began seeing the application of the simple command in a lot of aspects of life. These ranged from deciding what to wear if the temperature was lower than a certain degree, to figuring out when to meal prep if I still had five days before my veggies expired, to deciding what projects to dedicate my time to if they would also help me build skills as a student.
After seeing that having an if/then/else statement mindset made it easier to make decisions and think about simple problems, I became convinced that there must be other gems in becoming a master coder that would help me to become a better thinker.
Throughout that class, I still struggled to run code that wouldn’t generate dozens of warnings every time I ran it. I like to think I developed some intuition for actually running code by the end of it, but the discipline is a long-drawn process. I didn’t just wake up a master coder the next morning, but I did glean an insight into the fact that “thinking like a coder” can truly help structure and even contextualize a wide range of basic and complex problems.
My experiences in programming don’t constitute a very replicable story or even a convenient three-step guide to instantly become a better coder. To me, coding still requires constant practice, trial-and-error, and critical problem-solving skills. As with learning a new foreign language, nobody can immediately become a better coder overnight. For me, coding has been a growing process. Two years since that intro to R class, I definitely have a better understanding of how to “think in code,” but it’s a skill I continue to refine each and every day.
The Benefits of Coding
More than the satisfaction of generating results in a smart, logical, and efficient way, coding provides me with a framework for thinking about problems and beginning to understand how to solve them. It hasn’t abruptly changed the way I see the world, but rather, it has slowly molded my perception of problems as more accessible, comprehensible, and ultimately, solvable. You don’t have to declare a degree in Computer Science to reap the benefits of programming. You don’t even have to be a great coder to glean its positive side effects. Simply understanding how code requires you to think is a great asset in and of itself. At the end of the day, there’s more to code than just code.