- Jing-Huang Su
Starting from Zero
To give everyone context, I majored in accounting in my five-year junior college, then I took up finance when I transferred to a university. You read it right, these two majors have absolutely nothing to do with computer science! If I followed the usual track of people who graduated from these courses, I should have entered the finance industry or went on to be an employee of the Big Four accounting firms, yada yada. So how on Earth did I become a front-end engineer?
Spark of Passion
Every twist and turn in life presents an opportunity, be it through a friend's recommendation or the thrilling discovery of one's true passion. So, what was my turning point?
When I first entered university, I couldn’t care less how to select courses, nor was I concerned with the thought of dealing with challenging professors. The only purpose I had at that time was to enjoy university life and nothing could stand in my way!
Due to this carefree attitude, it was no surprise that I was prone to encounter difficult subjects; and out of these, the most notable was statistics. The easygoing mentality quickly faded away after just one week into the semester in this class. Little did I know, this unexpected encounter would mysteriously propel me into the captivating world of programming.
During the first week of statistics class, the professor said something that shocked me,
This course is not intended to teach you how to approach future graduate school exams. The midterm and final exams will not focus on testing your ability to solve statistical problems using formulas. Instead, the goal of this course is to equip you with the skills to analyze and solve statistical problems. By the end of this course, I hope you will have developed a strong aptitude for tackling statistical challenges. Additionally, please remember to bring your laptop to class in the future, as we will be utilizing the R language.
Back then, my reaction was like, ‘What the heck is this 'R' language? Programming in a business school? It felt totally out of left field!’ I even thought about dropping the course, but all the other professors were fully booked. So, I had no other option but to stick with this professor's stats class and dive headfirst into the wild world of programming.
About That Course
The workload for this course was enormous, and to top it off, it came around once every two weeks. Each session bombarded us with about twenty statistical analysis questions, all requiring the use of R language for data analysis and presentation. I remember being clueless about even the basics, like what a loop was, so it took me countless hours to complete the homework (around 10-15 pages of A4 size). However, despite the difficulty, there was always a rewarding sense of accomplishment once I finished it.
Even though the course was overall challenging, it became the key that unlocked the door to self-learning programming for me. It equipped me with problem-solving skills, transformed my learning attitude, broadened my perspective, and sparked a genuine passion for data analysis and the desire to pursue a career in that field.
Unfortunately, due to the heavy course load in my junior year's first semester, I couldn't dedicate much time to furthering my programming studies. I managed to take a few Fintech-related courses within my department, but they were more like introductions and lacked actual programming involvement.
One day during my junior year, out of the blue, I found myself inexplicably searching for a CS-related keyword on the internet. To my surprise, the search results presented me with a university assignment question, labeled with the intriguing letters 'CS61A.' Without a second thought, I instinctively fed this string of characters into Google, and to my astonishment, it was like stumbling upon a hidden treasure.
CS61A (Structure and Interpretation of Computer Programs,) - UC Berkeley's mandatory foundation course for freshmen in the Computer Science department
CS61A's Inspiration to Me
CS61A not only provided me with the course content itself but also revolutionized my entire approach to learning. Picture a course with an impressive team of nearly 60 teaching assistants - the sheer scale of it left me in awe of the abundant resources available at the world's top universities (no wonder their tuition fees are so steep).
What struck me was that these teaching assistants were around my age. The difference was that they had already begun building their resumes, seeking internships, managing their LinkedIn profiles, and showcasing their portfolios on personal blogs. It made me question whether I had been too complacent and passive in shaping my own future. Whenever I felt like giving up, I would turn to their blogs, which became my driving force to persist in my learning journey at that time.
However, what led me to shift from aspiring to be a data analyst to stepping into the realm of front-end development?
It all started when I was learning how to crawl web data. And let me tell you, anyone who's done web scraping knows that having a solid understanding of HTML can make your life a whole lot easier. So, I decided to get myself a Web Bootcamp course from Udemy. And once I got started, there was no looking back—I jumped headfirst into the thrilling universe of front-end development!
After my junior year, I became completely obsessed with coding. It became a daily requirement for me, spending more than eight hours a day diving into various high-quality courses like CS61A. It was during this time that I truly discovered what it means to be passionate about something!
Of course, along the way, I had my doubts. Would this really lead to success? Is this truly what the industry demands? However, insecurities are only natural. The crucial part is how you persist in the face of those uncertainties. If you give up, everything just comes to a halt.
Whenever I felt exhausted or lacked motivation, I sought inspiration from role models. They could be experts in front-end development or even close friends. Just glancing at the number of commits on their GitHub or reading the insightful articles on their blogs was enough to reignite my drive hahaha.
While persistence is vital, it's also crucial to regularly assess whether you're on the right track. How did I do this? In the beginning, I devised a plan to track my weekly progress, maintain a daily record, and conduct weekly reviews.
I mainly used Toggl, a time-tracking tool, to keep tabs on my study hours. Cultivating the habit of planning my weekly goals and keeping daily records served as a means to evaluate my progress. From the summer of my senior year until the time I secured my interview, I dedicated over 2,000 hours to learning programming.
From Zero to One
And that's where it all began. The reason I'm sharing my story is to let more people know that going from 0 to 1 might not be a cakewalk, but it's definitely doable. Transitioning successfully into a new field is not a matter of chance; it takes some real time and effort.
Finally, I want to leave you with a quote I absolutely love:
You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to TRUST that the dots will somehow connect in your future.” – Steve Job
This quote has been a lifesaver for me during those moments of self-doubt. Even if things don't work out as planned or I stumble along the way, guess what? It's just another dot in the crazy canvas of my life. And who knows? Someday, in some unexpected situation, it might just come in handy!