Learning to code as a “non-coder”

As someone who studies social sciences and has had little experience in the STEM field, the idea of learning to code was very daunting. I was never particularly skilled or interested in my math classes in primary and secondary school so when I got to college I made sure to stay clear of any subject that required any analytical skills.

Needless to say, computer science was never on my radar as a potential area of study.

I always thought that a “coder” was more than just an occupation or a hobby, it was a personality type. People were either completely immersed in the programming world or they weren’t. I just always thought I would belong in the latter group.

However, since I attend a university within 50 miles of Silicon Valley — famous for being home to the world’s largest technology companies — I was unable to hide from programming for long. Everyone around me was coding, and had been doing so for years. I was unaware of this programming phenomenon when I started my first year. I barely understood what coding even meant.

My high school only offered one “computer science” class that consisted of learning touch typing, and the history of the internet. I knew that my coding skills were non-existent, and I wanted to change that but I didn’t know how. Most of the “introductory” classes at UC Berkeley had too many math prerequisites, and the tech clubs’ applications required previous experience.

In my mind, learning to code was just impossible.

That is, until I studied abroad in Sydney, Australia. This was going to be my chance to finally get some programming experience by taking an introductory IT course at a different university. I knew it was going to involve a lot of hard work, but with determination and extensive tutoring hours I was going to complete my assignments and finally understand the world of computers.

That was a lot easier said than done.

I used to think my math classes stressed me out, but that computer science class took it to a whole new level. Even though it was reasonable with the number of assigned tasks, and the pace that we were working at, the pressure that I put on myself prevented me from enjoying it. I went into the class with expectations that I was going to finally prove to myself and everyone else that I could code, and then become a part of this exclusive society that everyone around me seemed to be in. The fear that I would be unsuccessful — and therefore still be out of the loop — was enough to completely absorb my attention during lectures, and caused me to torment myself over reasons why this path was not for me.

From then on, I was torn between obsessing over the class (i.e. stare at the screen for hours until I felt nauseated) or giving up on it since I had other classes to worry about.

The day that I found out that I had failed the course was the same day that Grok Learning said they wanted to interview me for the internship the following semester. Although I was doubtful of how useful I would be as intern, I was also excited to be given another opportunity to gain experience in the tech world. If I couldn’t be a programmer, then maybe I could help from a non-tech position.

One of my tasks in the internship was completing some of the online modules to give the perspective as a non-coder. Even though I was still nervous to try coding again, I was willing to do it through Grok because the modules were designed for teenagers at a beginner’s level, and since the results were not going to be noted on my transcripts, I thought “hey, I’ve got nothing to lose.”

I completed two courses, Intro to HTML/CSS and NCSS Challenge (Beginners) 2017, and I’m happy to say that this coding experience was entirely different from the first. Not only did I not panic once, but I actually learned something about coding. Grok’s use of pictures and diagrams to explain the assigned task made the coding much more enjoyable and easier since I was able to visualize exactly what the correct outcome should be. When I got the code wrong the module would compare my submitted code next to the correct one which made it easier for me to determine where exactly I went wrong. One of my biggest issues in the university’s course was that I couldn’t find out what part of my code was incorrect and then I would only get more irritated, so being able to see what the desired outcome (even if I wasn’t able to see the code) made the whole process easier to understand.

That’s not to say that I became an expert overnight.

Coding still doesn’t come easy to me, and even when I was working on the modules I still got frustrated at times. However, now I have a better understanding of my learning style when it comes to computer science, and I am starting to think differently because of it.

In my anthropology classes we learn about the research that professionals have conducted in hopes that someone will make improvements to that part of the world, but we are not taught how to directly make those changes ourselves. In programming, I get immediate results just from changing the smallest detail. Because I never thought of myself as a particularly creative person, I always thought that I would be most useful contributing to the work that another person has done. But now — through programming — I have a new way to express myself, and create something instead of just waiting for someone else to do it.

This realization has opened new doors for me regarding career options. Although I’m undecided on what exactly I want to do, I no longer feel prevented from exploring different fields. Even if I don’t end up working in the tech industry, I benefited more than I thought was possible from learning to program. I have a new perspective on learning, a greater knowledge of my capabilities, and — through Grok Learning — the confidence to take another computer science class in the future.

What do you think? Have you ever experienced doubts about learning to code? Have you felt that coding was not your kind of thing? Let me know in the comments.