When I started university, I had never coded before. This year, I programmed a data processing pipeline for a new telescope array and had my work published in an academic journal. It’s been an amazing year for me, for sure, but three years ago I never would have imagined that I could do this.
I started coding because I needed it for a required course. It was intimidating; an unknown. Everyone else in the class seemed to already know so much more than I did, and when I couldn’t figure out how to install a package or when my code churned out error after error, I felt pretty dumb.
Being a beginner can be scary, especially for students who are used to being high achievers. As a beginner, you are going to face failure over and over before things start to click. In my intro programming course, I saw two distinct groups of people: returning coders who loved programming and new coders who absolutely hated it. There were a few newbies like me who fell in love with coding along the way, but for the most part, my fellow beginners left that course vowing to never program again if they didn’t have to.
Maybe this speaks to a bigger institutional issue, but the only advice I can give is to you as an individual: don’t give up on being a beginner. Whether you are programming for the first time, taking a Japanese elective, or learning to play guitar, you’re going to fail a lot. You’re going to be surrounded by people who started earlier than you, who know more than you, who are better than you.
Don’t let that scare you. Three years from now, you could be speaking Japanese on an exchange semester, or playing guitar in a garage band, or writing code that is used by telescopes. No one is an expert without being a beginner first, and truly, it is never too late to start.