DEV Community

Cover image for 3 Months Into Learning Programming - My Beginner Journey So Far
Rowan Victor
Rowan Victor

Posted on

3 Months Into Learning Programming - My Beginner Journey So Far

Introduction 🚀

On April 14, 2025, I began my programming journey—sparked by curiosity after seeing my younger sister study coding in school. What started as simple interest quickly became a daily routine of learning, building projects, and diving deeper into code. 🌱💻📘

In this post, I’ll walk you through my first three months of learning to code—from starting with C++ for game development, transitioning into web development, and eventually exploring low-level C. As a beginner developer, I’m now documenting my journey through blog posts and social media, hoping to encourage others to start and grow in their own path. 🚀📚✨


Discovering Programming 🤔🧭👩‍💻

I didn’t have a background in computer science or tech. What I had was curiosity. Watching my younger sister learn programming in school made me wonder what it was all about. I began searching online and found myself fascinated by the possibilities. 🔍🌐✨


Starting with C++ and Game Development 🎮📚

My first serious search was: "best programming language for game development". The answer was consistent — C++. So that’s where I started.

Even though I heard it was one of the hardest languages to learn, I wasn’t intimidated. I downloaded learning apps like Learn C++ by Programiz and Programming Hub by Coding and Programming from the Play Store so I could study anywhere, anytime. Eventually, I enrolled in Codecademy’s free C++ course, and that became the backbone of my foundational knowledge.

Through Codecademy, I learned about variables, loops, conditionals, functions, arrays, and classes. Despite the language's verbosity and complexity, their lessons made it feel approachable. I appreciated how interactive the platform is; it avoids overwhelming students with too much information at once and focuses more on having us write code. This approach helped keep me motivated, even when the language felt daunting and intimidating for beginners.

One project I was particularly proud of was the Magic 8 Ball program I created in C++. It taught me several important concepts, such as input validation, testing against edge cases, handling leftover input in the input buffer, and separating concerns using functions. Although I found it challenging, I also enjoyed the process. I vividly remember the satisfaction I felt when I uploaded the finished project to GitHub and how proud I was of my accomplishment. 🏆📤😁


Shifting Toward Web Development 🌐🎨🛠️

As I dug deeper into programming, I began to seriously consider a career in tech. I researched job openings in my area and realized that web development roles — especially those using JavaScript, PHP, and full-stack tools — were the most available and entry-level friendly. 📊💼🔍

This realization made me pivot. I began learning web development, starting with HTML and CSS. It was a very different experience from learning C++. Instead of logic and memory management, I was working with structure and design. But it was exciting to see things appear visually in the browser with just a few lines of code. 🌈👀💻

Soon after, I began learning JavaScript. It felt more familiar due to my background in C++, but it also had its own quirks. I loved how interactive the web became once JavaScript was introduced. At this point, I consider JavaScript to be the second programming language I have learned. I quickly noticed both significant and subtle differences between C++ and JavaScript. One major difference is the brevity of the code in JavaScript; writing a program in JavaScript takes much less time compared to writing the same program in C++. Another difference I noticed is how JavaScript handles input, arrays, and data types more flexibly. You don’t have to declare a fixed size for arrays, and inputs can be processed directly from the browser, while C++ requires more boilerplate and stricter data handling.


My Learning Path: The Odin Project & freeCodeCamp 🧭📘📌

To stay organized and focused, I decided to enroll in a full-stack course. Fortunately, there are two excellent free full-stack courses designed for beginners:

I alternate between the two courses depending on my focus for the day, and they complement each other well. I find that The Odin Project emphasizes learning through reading and in-depth study of materials, while it also incorporates project work. In contrast, freeCodeCamp offers a more hands-on approach, featuring a browser code editor for their mini projects.


Going Lower-Level with C 🔧🧠

To strengthen my understanding of programming at a deeper level, I began learning the C language. I believed that getting closer to how computers operate under the hood would make me a better overall developer. 🛠️📉💡

C differs from C++ in both syntax and philosophy. It's more basic, which forces you to think clearly about memory, pointers, and data management. I appreciate its simplicity and power. Learning C made me realize how much I had taken for granted in JavaScript.

For instance, in JavaScript, I could easily use methods like .push() to add elements to an array. In contrast, C lacks such built-in conveniences, so I had to write my own functions to handle array manipulations. Initially, it felt like being thrown into the deep end, but I welcomed the challenge. It compelled me to think more deeply about underlying processes, such as memory allocation, manually setting array sizes, and carefully managing strings with character arrays.

In JavaScript, working with strings is straightforward; you just assign them and go. However, in C, handling character arrays means considering null terminators and memory space, giving me a greater appreciation for how strings actually function.

Although learning C is tougher, it pushed me to confront my gaps in understanding and helped me grow as a programmer. It was one of those experiences that, while uncomfortable at times, sharpens your problem-solving skills and makes you a better programmer overall. 🧠🗃️🧰


Sharing My Journey Publicly 🌍📣📝

Recently, I took a leap and started sharing my journey publicly. I made my first post on X (formerly Twitter) and launched the initial version of my project website. 🚀🖱️🔗

Live Preview of My Project Website

This site is still in its early stages, but it will serve as a platform for me to continue building as I learn. My goal is to treat it as a long-term learning project — something I will improve over time as I progress from front-end to back-end development, ultimately aiming for full-stack proficiency. 🛠️📈🧩


What’s Next? 🔮📅📘

  • Polish the current site
  • Continue building mini-projects
  • Improve my CSS
  • Learn DOM manipulation and JS logic
  • Explore back-end development
  • Keep sharing my progress online

Final Thoughts 💬💡🎉

Three months ago, I was completely new to programming, and now I’ve dived into writing C++ code, building web pages, learning core JavaScript, and even exploring the C language! It’s been such an exciting journey!

I know I still have a lot to learn, but I’m embracing the adventure every day— and I can’t wait to see where it all leads! 🚶‍♂️📘🔥

If you’re also learning, I’d love to connect! Let’s cheer each other on and grow together. 🌱🤝💬

Thanks so much for stopping by! I really appreciate your support on this journey. If you have any questions or just want to chat, feel free to leave a comment!

Top comments (0)