On the 14th of September 2021, I had morning classes for the fundamentals of programming. I had no idea what to expect, but I was excited nonetheless. I attended the class, and when the teacher entered, I honestly didn't recognize them. In high school, I was used to seeing millennials as teachers. The class began, and the teacher assigned us the task of installing Sublime and solving some introductory programming exercises. The programming language for the course was Java. The first two hours were embarrassing for me as I struggled to download and set up Sublime and run my first "Hello World" program. The teacher helped me overcome these hurdles, and I vividly remember the code:
import java.util.*;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
It feels like yesterday when I was grappling with setting up Sublime just to run this code. And so, my programming journey began!
Was it easy?
No, no, and again, no. Programming and coding were entirely new to me. I hadn't coded before; I enrolled in university, and from the first class, the challenges began. Weeks passed, lessons became more challenging, and quizzes and projects piled up. There were moments when I contemplated giving up on my computer science degree. However, I always held onto a quote: "If you had to leave, why did you start?" Computer Science was my choice, and I was genuinely passionate about it. Five or six weeks passed, and I still struggled with the basics of Java. Realizing that I needed extra help, I turned to the internet during my free time. I started watching tutorials on YouTube, beginning again with "Hello World" and progressing from there. By the end of the semester, I caught up with the topics, completed my projects, and finished strong. The lesson I learned: "University provides guidelines and shows you the road, but you're the one driving the car. In short, self-study is what makes you perfect. Once you learn how to study on your own, nothing can stop you from learning what you want."
So what's next?
After completing the first year of university, filled with intriguing math classes like discrete math (which I surprisingly enjoyed), linear algebra, and calculus, and finishing Java along with JavaFX, I found myself questioning the purpose of coding in a console terminal. JavaFX opened my eyes, demonstrating that we use loops and conditional statements not just in terminal apps but also in real-world apps. We even built a Kahoot desktop application using JavaFX, a project that sounded daunting but turned out to be incredibly rewarding. By the end of the year, I felt confident in my coding skills, but I realized there was more to learn, especially about programming efficiency and algorithms.
Java and JS
During the summer, I decided to expand my knowledge beyond Java. I wasn't entirely satisfied with my Java skills and sought something more interesting, allowing me to code for hours without feeling burnt out. I explored different fields within IT, considering options like Android or iOS development, frontend/backend development, or even the elusive full-stack development (although I later discovered that it's more of a backend dev with a bit of frontend knowledge). Mobile development didn't captivate me as much at the time, so I chose frontend development. I started with the basics and delved deeper until I encountered JavaScript. It was as if I had fallen in love with Java, but when I met JS, I felt like I was betraying Java. Nevertheless, I liked JS; despite the criticisms, I found it interesting and fun. My journey with JS started intermittently due to university classes resuming, but I practiced by building small projects to enhance my JS skills. If you're interested, you can check out my JS projects here. I'll continue working on JS for now, although I occasionally dabble in Java and Python for fun. JS holds a special place in my coding journey.