Loving JavaScript, Hating JavaScript

16 Jan 2022

Loving JavaScript, Hating JavaScript: Learning to like coding again

Programming for the first time is not an easy task. Like any new adventure, there will be difficulties, triumphs, and growth.

Expectations as a High Schooler

The very first programming course at my high school was offered my senior year and I signed up because who isn’t attracted to new things? Plus, it was my last year and I was desperate to figure out my passion in the next 9 months.

The course was titled “Introduction to Web Development”, and I knew it was going to be a worthwhile course because it filled up with students from various pathways (think of pathways as majors are in college).

Learning how to build your own website was not a skill isolated only to students interested in computer science.

For the entire year, I looked forward to going to that class after every lunch period because I made friends who had so many different interests that I never expected to learn about in a programming course. For example, one kid wanted to make a website that organized and tracked the bets his friends made with each for their Fantasy Football league.

The content was extremely difficult to understand, but I wasn’t alone. No one in that class had prior experience with coding and that motivated many students to pursue learning and practicing outside of class time. I learned what Stack Exchange was for the first time and my classmates and I used it every day to find solutions to our bugs.

This introductory course was the main reason why I chose to study Computer Science in college.

Java isn’t JavaScript?

It is not. I wish someone had told me the difference before I started college.

Every introductory college course was taught only in Java and those courses were the prereqs to all other programming courses.

As I was learning Java and discovering that Computer Science is beyond creative-personal interest, I developed some resentment toward JavaScript and my web development teachers for not preparing me well enough. It didn’t help when I learned that many students viewed Java as the “standard” for first-time programmers. So many students already knew Java and I felt myself being left behind because I didn’t follow the “standard” path into computer science. I had a hard time learning the language and an even harder time finding ways to enjoy coding in Java.

Not being prepared (or at least what I thought was “unprepared” at the time) for the introductory course deteriorated my sights for a career in computer science because if I wasn’t good at it now, then I’d never be good at it later.

However, the problem didn’t lie in my lack of knowledge or preparation. It was my fear of change and inability to understand that these moments of doubt are all part of the experience that comes with life transitions and new beginnings.

College is rough, but it’s okay.

Learning to like coding…again

If you ever start to question your college choices or maybe doubt your ability to achieve a degree in computer science, set up an appointment with your professor and ask for help. Be prepared to learn something new about yourself, not about code.

It’s obvious that I made it past those introductory Java courses. As contrary as it felt, Java wasn’t the worst (the worst was actually C) and at some point, college did become manageable. I owe a lot of my success and sanity to the classmates, TAs, and professors I was able to meet along the way.

When online learning began, it made students more comfortable with publicly expressing their struggles about college. We’ve made Discord servers for every ICS course with the intention to “study” together. But they always eventually became outlets for releasing emotional and mental stress. It was comforting to know we weren’t experiencing these hardships alone and that if we could enjoy struggling together, then maybe we can find the joy in learning together.

There are also many IROs, like ICSpark, PANDAS, and SWITCH, that make it easy to practice coding, network, find academic and career advice, and simply make new friends.

For me, learning to like coding again meant finding comfort in the struggle of learning and discovering new interests through others. Now that I’m past the nightmare that is Java (and C), I’m excited for the new challenges that’ll come with exploring web development and coding in JavaScript again.

If you’re in ICS 111 right now and can’t seem to see the end of your hardships, just believe that it’ll get better. It probably won’t get easier, but it can become enjoyable (especially if you make it to 314)!