Last updated on: 31 Aug 2025, 11:35
I still remember the first time I opened a Python editor during winter break when I was 16. The idea of writing something that a computer could understand felt almost magical. I still remember vividly the first time I wrote my 'Hello World' program in python and felt a sense of accomplishment. It was a feeling of empowerment, creating something out of nothing using just a computer and my imagination.
Then, I started with the computing basics like all amateur developers, starting from variables, loops, and simple functions. Consequently, I created a few tiny programs like calculators and guessing games. Although these early projects were full of mistakes, each bug taught me to solve logical problems systematically, and to think outside the box . Python was my introduction to the world of programming, and it laid the foundation for everything that came next.
After getting comfortable with Python, I started learning C programming in school. At the same time, I took a basic course on machine learning (ML) to put my python skills to good use. However, it was still rather hard for me to grasp these new ML concepts, but I have decided to go revisit it once I sharpen my skills. This was the start of my exploratory phase, where I tried many new things to see what type of programming I am interested in.
During the next school semester, I learnt C# for Object Oriented Programming and subsequently web development using ASP.NET. This was my first step into web development. From the start of this module, I was intrigued in creating simple web pages, although using C#. I always completed the lesson materials before hand and decide to experiment on this framework when I was free. Through this experience, it made me realize that creating web pages were interesting and somewhat fun, and that led me to learn JavaScript in my free time. The transition wasn’t easy - suddenly I was dealing with asynchronous functions, and the random quirks of the browser. But experimenting with the DOM, adding click events, and fetching data from APIs was thrilling. I built a few interactive forms, and small web apps, each project helping me understand the unique power of JavaScript in making websites come alive.
With a solid foundation in JavaScript, I dove into React. The idea of breaking a website into reusable components made everything feel more structured and maintainable. However, understanding how React works, learning hooks, managing state, and understanding component lifecycles was challenging at first, but creating my first React app, a to-do-list, was incredibly rewarding. React taught me how to think in components and how to manage complexity in a growing codebase.
After creating a few projects in React, I knew my next step was to conquer Next.js. I wanted to build real-world, production-ready applications, and Next.js offered everything I needed: better routing, server-side rendering, and easy deployment with Vercel. My first Next.js project was a previous version of my personal portfolio. Connecting APIs, optimizing images, and experimenting with static and server-side rendering pushed me to think beyond the frontend and understand the full stack. With Next.js, I could finally see all my skills, beginning from Python logic to React components coming together in a complete web application.
Ultimately, each step of this journey built the foundation for the next. Python taught me logic, C# taught me the basics of backend API development, JavaScript taught me browser interactivity, React tutored me structure, and Next.js taught me how to create scalable, modern web apps. My advice to anyone starting out is simple: start small, keep building projects, and embrace mistakes as they are your greatest teachers. The journey is long, but each line of code you write is a step forward.