The Humbling Journey of Learning to Code
From Googling 'How to Install npm' to Building My Dream Apps—Why the Struggles Are Worth It
Giiiiiiirl, when I tell you learning to program has been THE MOST HUMBLING experience of my life?! And I’m not saying this in past tense—it’s STILL humbling me, daily. It’s learning, unlearning, and constantly crushing my ego. The person I am because of coding never takes what she knows for granted because programming has been such a wild ride. But honestly? It’s been one of the most beautiful and fulfilling journeys I’ve ever been on.
If you’re new to programming, pivoting into tech, or just feeling stuck, this one’s for you. Let me walk you through my 7 biggest lessons.
Step 1: I Didn’t Know Where to Start
When I first dipped my toes into programming, I quickly realized it was nothing like anything I’d done before. Things didn’t just work. I read about GitHub (on Twitter of all places lol)—didn’t know how it worked—and, tbh, I’m still learning how it works!
I thought I could follow instructions (from articles or ChatGPT) and everything would magically fall into place. LOOOOOOOOL. Installing environments? VS Code? npm? Yeah, I literally Googled, “how to install npm.” (Yes, laugh—I’m laughing too!) It was chaos.
What I Learned: Programming isn’t about memorizing steps. It’s about being curious enough to figure things out when they don’t work. Confusion isn’t a failure—it’s where the real learning happens. Also, shoutout to Sololearn! IYKYK.
Step 2: I Thought I Could Follow Instructions and Everything Would Work in One Try
This feels like a repeat of Step 1, but trust me, it’s different. Following instructions is one thing; making it all work is another beast entirely. I thought if I followed a code-along tutorial, I’d have an app running smoothly in no time. Spoiler alert: I didn’t.
Setting up the environment? Wrong version. Running the app? Missing dependencies. Every step revealed something I didn’t know I needed to know.
What I Learned: Be ready for trial and error. Tutorials are great starting points, but every setup is unique, and you’ll often need to problem-solve along the way. And lots and lots of patience!!!!!!
Step 3: I Thought I Could Build an App in One Sitting
Oh, the ambition of a beginner! - or is it delusion? I truly believed I’d sit down, follow a tutorial, and have a fully functional and ship-able app by the end of the day. Needless to say, reality humbled me fast. Watching your app not come together is a special kind of frustration.
What I Learned: Building something worthwhile takes time, patience, and persistence. Don’t be discouraged if your first (or tenth) attempt doesn’t work. Every line of code, successful or not, is a step forward. Trust me.
Step 4: I Thought I Could Learn FIVE Languages at Once
When I first started, I listed Java, JavaScript, C#, Python, and C++ as my “to-learn” languages. Why? I wanted to be a polyglot full-stack developer. I thought I needed to know it all to bring any and all of my app ideas to life.
What I Learned: You don’t need to master everything at once. Pick one language, focus on it, and trust that you’ll build the skills you need over time. For me, that language was Python, and it gave me the confidence to keep going. Python was actually preceded by SQL but that’s another story.
Step 5: I Thought I Could Learn It All in a Month
COVID-era-me thought, “I’ll learn everything I need in one month. Afterall, all I have is time now.” Fast-forward five years, and I’m still learning every day. What slowed me down? Shiny object syndrome. I had so many app ideas that I kept jumping from one thing to another, never sticking with anything long enough to master it.
What I Learned: Progress isn’t about speed—it’s about consistency. As the saying goes, “It will take longer than you think, but you will still arrive.” Give yourself grace and trust the process.
Step 6: I Thought ChatGPT Would Solve Everything
When ChatGPT came along, I thought I’d hit the jackpot. “This will do the work for me.” I thought. And while that’s partially true, I quickly realized that tools like ChatGPT only work if you understand the basics. AI isn’t perfect and you still need to proofread.
What I Learned: ChatGPT is a fantastic troubleshooting companion, but it’s not a substitute for learning the fundamentals. Use it to save time on doing repetitive and tedious tasks, but don’t skip the work of building your own understanding.
Step 7: Imposter Syndrome
Oh, imposter syndrome. My constant companion on this journey. For years, I told myself I wasn’t smart enough to code, that the market was too saturated, and that it was too late for me to start.
I then convinced myself that if I wasn’t multifaceted—that if I didn’t also learn cybersecurity, graphic design, or niche expertise (e.g., a doctor who became a software engineer vs. a software engineer who works in healthcare)—I’d never stand out. And honestly? The latter is great advice that I have put into action, hence my specialising in manufacturing—hello! But also, that mindset held me back more than anything else.
What I Learned: Stop making excuses and start taking action. Yes, the tech industry is competitive, but there’s always room for someone willing to learn and grow. The only way to fail is to stop trying.
Lessons Learned Along the Way
Here are the biggest takeaways from my journey so far:
Start Small: Pick one language and one project. You don’t need to learn everything at once.
Embrace Failure: Every bug, error message, and roadblock is part of the process. Debugging is learning.
Take Breaks: It’s okay to step away when you’re stuck. Sometimes, the best solutions come when you’re not staring at the screen.
Celebrate Wins: Whether it’s fixing a bug or writing your first function, take a moment to acknowledge how far you’ve come.
Why I Keep Going
At the end of the day, I code because I have a vision: I want to create apps that I want in the world —apps that don’t necessarily exist yet, but should. No one else can see what I see, so I’m learning to code to bring those ideas to life. You know how no app has exactly what you want? Each app has maybe 80% of what you want or 50% and you settle for it? Not me, lol. I decided to learn to code so I could combine all those functionalities. And in doing so, I discovered I was damn good at it.
As a child, I loved binge-watching MasterChef and practically anything on the Food Network. I’d sit there in awe, wondering aloud how the participants knew how to chop and slice with such precision. One day, my dad overheard me and said, “No one was born knowing how to cut like that.” That simple statement stuck with me. Even now, whenever I feel overwhelmed or intimidated by learning something new, I remind myself of his words. Mastery doesn’t happen overnight—it takes time, but discipline is what gets you there
So, I’ll ask you the same question: What do you have to lose? Write bad code. Get stuck. Feel awkward and embarrassed. That’s how you grow. Take the first step, and then the next, and then the next. You’ve got this.
Closing Thoughts
Learning to code has been one of the hardest and most rewarding things I’ve ever done. If you’re just starting out, know that you’re not alone. Every programmer was a beginner once, and every expert had their share of struggles.
If you’re navigating this journey, let’s connect and share insights. Hit me up on X, GitHub or drop a comment here. And if you’re further along, think about how you can help others who are just starting out. Mentorship transforms not just the learner, but the mentor too.