My Journey to Becoming a Junior Full-Stack Developer

Gichuki MuchiriGichuki Muchiri
5 min read

In one way or another, we’ve all interacted with software. But how often do we stop to think about it from a tech perspective? We experience it daily, yet many of us never pause to wonder how it’s all created. My tech journey started with this curiosity, triggered by a dear friend, Johnson.

The Spark: Conversations That Changed My Perspective

Johnson used to talk about things like GitHub and JavaScript. Honestly, I had no idea what he was talking about at first. He once mentioned writing code to generate a barcode, and I remember thinking, "What is this guy talking about?" While I had encountered barcodes countless times before, I had never considered the technology behind them.

Fast forward to March 2023. At the time, I was running an Instagram page, and I had the idea to turn my posts into lengthy blogs. I was watching some YouTube tutorials when the algorithm as if listening to my thoughts, suggested a video about how to create a blog website. And that’s when I fell into the rabbit hole.

I was immediately intrigued. I had always seen websites and interacted with them, but I never stopped to think that someone had to actually build them. After binge-watching three or four more videos, I realized this was something I wanted to learn. It didn’t seem too hard either. So, I went ahead and installed some IDEs—VSCode, PyCharm—because a YouTuber suggested starting with Python (still not sure why).

The Real Beginning: HTML/CSS and the Learning Curve

When I told Johnson about my newfound curiosity, he advised me to start with HTML and CSS for the basics. The crazy part? I quickly realized that I love structure. I need a clear roadmap for what to learn and when to learn it. But here’s the problem: YouTube has hundreds, if not thousands, of tutorials, and the dopamine rush of consuming them was overwhelming.

For about two or three months, I found myself lost in tutorial after tutorial. I was learning, but not in a structured way. When Johnson checked on my progress and heard I’d been on this for months without moving forward, he encouraged me to push ahead. That’s when I picked up JavaScript, and to my surprise, I loved it.

By this time, I had built a basic blog website and even a cake website (yes, you read that right). I realized that I learned faster when doing projects. If I didn’t understand a concept, I would go back, research it, and then implement it in my projects. From June to July, I went through JavaScript, and discovered a passion for animations. At this stage, I wasn’t struggling with JavaScript—I was actually so fascinated by how much JavaScript allowed me to create intricate animations. I became so absorbed in adding visual elements to my projects that I completely lost track of progressing further. Animations became my playground, and while I was supposed to move on, I got "stuck" because I loved what I was doing so much. It wasn’t a bad thing at all, but it did slow my overall learning pace.

Navigating Personal Life Changes

The next few months were tough. I had personal life changes that made it difficult to dedicate time to learning. However, I did what I could, focusing on HTML, CSS, and JavaScript. I also dabbled in React, although I wasn’t fully committed.

Fast forward to January of the following year, I decided it was time to accelerate my learning. After some research, I came across Moringa School, a boot camp in Nairobi, Kenya, that offered a full-time, remote Software Engineering - Full-Stack Development course. It seemed like the perfect opportunity to bring the structure I craved into my learning process.

Why Full-Stack Development?

The decision to focus on full-stack development came from my desire to provide complete solutions. I wanted to help businesses, institutions, and professionals by offering both front-end and back-end capabilities. While I absolutely love front-end development for its design and creative elements, the flexibility and vastness of back-end development drew me in as well.

I have since mastered HTML, CSS, JavaScript, React.js, Next.js, Python, Flask, and Tailwind CSS for styling. Over the past months, I’ve worked on various projects, including a coaching website, an e-commerce platform, and a management system. The diversity of projects has helped me grow my skills in ways I never imagined.

Challenges Along the Way

Of course, it hasn’t been all smooth sailing. One of my biggest challenges was finding a structured learning path, but the Bootcamp helped solve that problem. Another struggle was the overwhelming amount of information available online. I didn’t know what to learn or when to learn it. This is why I believe having a mentor early on is essential. I plan to write another blog on that topic soon.

I also found that I couldn’t always grasp every concept right away. Sometimes, I would go through research, tutorials, and documentation, and still not fully understand a topic. But over time, I’ve learned to be okay with that. I don’t need to understand everything immediately. What matters is that I keep building with what I know, and trust that I will grasp more as I go.

Conclusion: Embracing the Journey

That’s been my journey to becoming a Junior Full-Stack Developer. It’s been a mix of curiosity, trial and error, sleepless nights, and a lot of perseverance. Looking back, I wouldn’t change a thing. Every challenge, every confusion, and every small victory has led me to where I am today.

For anyone just starting out, my advice is simple: embrace the process. You won’t understand everything right away, but you don’t have to. Take it one step at a time, build projects, and keep learning. And remember, it’s okay to take the long road—every journey is unique.

Now, I’m excited about what lies ahead in this ever-evolving field of software engineering.

1
Subscribe to my newsletter

Read articles from Gichuki Muchiri directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Gichuki Muchiri
Gichuki Muchiri

I specialize in creating stunning, user-centered web designs that bring your brand’s vision to life. From initial wireframes to fully developed designs, I focus on ensuring your website not only looks fantastic but also delivers an exceptional user experience. In addition to web design, I offer comprehensive software development services, covering both front-end and back-end solutions. Whether you need a web application or a mobile interface, I ensure seamless functionality and optimal performance across all platforms. I'm also passionate about mentoring aspiring developers and designers. I provide guidance for individuals looking to elevate their skills in web design, development, or software engineering, helping you advance your career. I am committed to partnering with you at every stage of your project to turn your ideas into reality. Don’t settle for anything less than quality and functionality—work with a dedicated developer who prioritizes your success. I offer innovative, reliable, and scalable solutions tailored to meet your unique objectives. Ready to elevate your business? Let’s connect!