My Journey to Becoming a Junior Full-Stack Developer
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.
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!