"Every line of code I write today is a letter to my future self, reminding him of the dreams that kept me awake and the persistence that made them real."
Where It All Began
There is something magical about growing up in the shadow of the Himalayas. The mountains taught me patience before I even knew what the word meant. They showed me that great things take time to form, that beauty often lies in the journey rather than the destination.
I was born in Kathmandu, Nepal — a city where ancient temples stand beside modern buildings, where the honking of motorbikes blends with the sound of temple bells, and where dreams are as vast as the snow-capped peaks that watch over us. My childhood home was modest, but it was filled with something money could never buy: an insatiable curiosity about how things worked.
My father worked long hours to provide for our family, and my mother, with her gentle wisdom, always encouraged me to ask questions. "Why does the radio make sounds?" I would ask. "How does the television show pictures from faraway places?" She never had the technical answers, but she always said the same thing: "Find out for yourself, beta. The answers are waiting for those who seek them."
Those words became the foundation of everything I would eventually become. I started taking apart old electronics — radios, clocks, broken remote controls — anything I could get my hands on. Most of the time, I could not put them back together. Our house was filled with half-assembled gadgets that I promised to fix "tomorrow." But in that chaos of wires and circuits, I was learning something invaluable: the courage to explore the unknown.
A Childhood Lesson
My grandmother used to say, "A curious child is a blessed child." She believed that questions were more valuable than answers because questions keep you moving forward. I did not understand her wisdom then, but I carried those words with me into adulthood, where they became the engine of my professional life.
School was a mixed experience for me. I excelled in subjects that captured my imagination — mathematics, science, anything that involved solving puzzles. But I struggled with rote memorization, with subjects that required me to repeat facts without understanding them. I remember one teacher who scolded me for asking too many questions during class. "Just memorize the answer," she said. "The 'why' does not matter for the exam."
But the "why" mattered to me. It always did. And that refusal to accept surface-level understanding would eventually lead me down a path I never expected — a path filled with lines of code, late-night debugging sessions, and the profound joy of creating something from nothing.
The Discovery of Code
I was fifteen years old when I first encountered a computer. It was at a small internet cafe near my school — a dusty room with old CRT monitors humming with electricity, keyboards worn smooth by thousands of fingers before mine. Most students went there to play games or browse social media, but I was drawn to something else entirely.
One evening, while waiting for my turn at a computer, I watched the cafe owner troubleshoot a problem on one of the machines. He opened something called "Command Prompt" and typed strange words that made things happen on the screen. Files appeared and disappeared. Programs opened and closed. It looked like magic — like he was speaking directly to the machine in a language it understood.
"What is that?" I asked him, my curiosity overwhelming my shyness. He looked at me with surprise — most kids never asked about such things. "This is programming," he said. "This is how you tell a computer what to do." He smiled at my wide-eyed expression and added, "Would you like to learn?"
That simple question changed the trajectory of my entire life. The cafe owner, whose name was Rajesh, became my first mentor. He gave me a worn copy of a book about Python programming — pages yellowed with age, corners dog-eared from use. "Start with this," he said. "Python is like English for computers. You will understand it."
"The moment I typed my first 'Hello, World!' and saw those words appear on the screen, I knew I had found my calling. It was not just code I had written — it was proof that I could create something real with nothing but my thoughts and a keyboard."
I saved every rupee I could to buy time at that internet cafe. While other teenagers spent their money on snacks and movies, I invested in learning. Hours turned into days, days into weeks. I made countless mistakes. My code broke more often than it worked. There were moments of intense frustration when I wanted to throw the keyboard across the room and give up entirely.
But I did not give up. Because every time I solved a problem, every time I made something work that had been broken, I felt a rush of accomplishment unlike anything else. It was addictive in the best possible way. Each small victory made me hungry for the next challenge.
The Self-Taught Journey
There were no coding bootcamps in my neighborhood. No computer science tutors I could afford. Everything I learned, I learned from books, from online tutorials with slow loading times, from forums where strangers thousands of miles away answered my beginner questions with patience I still appreciate today.
I developed a method for learning that I still use today. Every morning, before school, I would read about a new concept — variables, loops, functions, whatever came next. During boring classes, I would mentally write code in my head, solving problems on imaginary screens. And in the evening, I would rush to the cafe to test my ideas, to see if what I had imagined actually worked.
More often than not, it did not work. My mental code was full of bugs I could not see until they appeared on the actual screen. But that was part of the learning process. Every error was a lesson. Every bug was a teacher in disguise.
Gratitude Moment
I often think about Rajesh and that dusty internet cafe. He did not just give me a book — he gave me a door to a new world. He believed in a curious teenager when he had no reason to. Mentors like him are rare and precious. If you have found one in your life, cherish them.
The Years of Grinding
Learning the basics of programming was just the beginning. The real challenge came when I tried to build actual projects — things that people could use, things that solved real problems. This is where theory meets reality, where elegant solutions on paper turn into messy, complicated code on the screen.
My first "real" project was a simple website for a local shop owner who sold handmade crafts. He needed an online presence but could not afford professional developers. I offered to build it for free — partly because I wanted to help, but mostly because I desperately needed something real to work on.
That project taught me more than any book ever could. I learned that building for real users is completely different from building for yourself. I learned about deadlines, about managing expectations, about the gap between what you imagine and what you can actually deliver. The website took three times longer than I estimated. It looked nothing like the beautiful designs I had in my head. But when it went live, when the shop owner called me to say he had received his first online order, all the struggles felt worth it.
The Late Night Sessions
There is a special quality to working late at night when the world is quiet. The streets of Kathmandu would grow silent after midnight, the constant noise replaced by an almost sacred stillness. These were my most productive hours — when there were no distractions, no notifications, nothing but me and the glowing screen and the problems waiting to be solved.
I would brew strong tea — the Nepali kind, with milk and spices that my mother taught me to make. The warmth of the cup in my hands, the gentle steam rising in the cold night air, became a ritual that signaled the beginning of focused work. Sometimes I would code until the first light of dawn crept through my window, losing track of time completely.
These nights were not always productive. Sometimes I would spend hours stuck on a single problem, going in circles, trying the same failed approaches again and again. The frustration was immense. There were moments when I questioned everything — whether I was smart enough, talented enough, whether I was wasting my time chasing an impossible dream.
First Website Completed
Built my first complete website for a local business. Learned HTML, CSS, and basic JavaScript through trial and error. The site was simple, but it worked.
Discovered Backend Development
Started learning Python and Django for server-side programming. Built my first application with a database — a simple todo list that felt revolutionary at the time.
First Freelance Client
Landed my first paying client through a freelance platform. The pay was low, but the validation was priceless. Someone across the world trusted me to build something for them.
Full-Stack Transition
Committed to becoming a full-stack developer. Started learning React for frontend while deepening my backend skills. The learning curve was steep but exhilarating.
But I always came back. The next morning, or after a short break, I would return to the problem with fresh eyes. And often, the solution that had eluded me for hours would suddenly become clear. This taught me something important: persistence is not about never giving up. It is about knowing when to step away and when to come back.
Building the Arsenal
Over the years, I accumulated a toolkit of technologies and skills. Each one was learned with purpose — not just to add another line to my resume, but because it helped me build better things, solve problems more elegantly, and serve my clients and users more effectively.
I believe that a good developer is like a craftsman. The tools matter, but what matters more is knowing when to use which tool, and having the wisdom to choose the right approach for each unique situation. A hammer is useless if what you need is a screwdriver. Similarly, the most powerful programming language becomes a hindrance if it is not suited for the task at hand.
My primary tools for building interactive, responsive user interfaces. React taught me to think in components, to build modular and maintainable frontends.
The backbone of my backend development. Django's "batteries included" philosophy lets me build robust applications quickly without reinventing the wheel.
For projects that benefit from JavaScript on both ends. Node's ecosystem is vast, and its event-driven architecture is perfect for real-time applications.
PostgreSQL, MongoDB, Redis — each serves a purpose. Choosing the right database architecture can make or break an application's performance.
Containerization changed how I think about deployment. "It works on my machine" is no longer an excuse when everything runs in consistent environments.
Version control is essential for any serious developer. Git enables collaboration, protects against disasters, and provides a history of every decision made.
But tools are only part of the equation. The most important skills I have developed are not technical at all. They are the ability to listen to what users actually need (which is often different from what they say they want), the patience to debug systematically instead of randomly, and the humility to admit when I do not know something and need to learn.
# The principles I code by class Developer: def __init__(self): self.curiosity = float('inf') self.ego = 0 self.willingness_to_learn = True def approach_problem(self, problem): # First, understand deeply understanding = self.listen_carefully(problem) # Then, plan before coding plan = self.think_before_typing(understanding) # Finally, build incrementally solution = self.iterate_and_improve(plan) return solution def daily_routine(self): while self.willingness_to_learn: self.read_something_new() self.build_something_small() self.help_another_developer() self.reflect_and_rest()
Where I Stand Today
As I write these words, I am no longer that curious kid taking apart radios in a small house in Kathmandu. I have grown into a full-stack developer with years of experience, projects that reach users around the world, and a deep appreciation for both the art and science of building software.
I have built enterprise resource planning systems that help businesses manage their operations more efficiently. I have contributed to open-source projects used by developers I will never meet. I have mentored others who are now on their own journeys, paying forward the kindness that Rajesh showed me all those years ago in that dusty internet cafe.
But success has not made me complacent. If anything, the more I learn, the more I realize how much there is still to discover. Technology evolves rapidly, and staying relevant requires constant learning, constant adaptation, constant humility before the vastness of what we do not yet know.
Current Focus Areas
- Artificial Intelligence & Machine Learning — Exploring how AI can enhance the applications I build, making them smarter and more helpful to users.
- Mobile Development — Expanding into React Native to bring ideas to mobile platforms with the same passion I bring to web development.
- Community Building — Teaching and mentoring the next generation of developers, especially those from backgrounds similar to mine who may not have traditional access to tech education.
- Open Source Contribution — Giving back to the community that gave me so much by contributing to projects that help other developers.
The journey from that first "Hello, World!" to where I stand today has been long and winding. There have been setbacks, moments of doubt, nights when giving up seemed like the sensible option. But I kept going. Not because I am extraordinary, but because I refused to let the fear of failure be louder than my love for creating things.
"The best code I will ever write is the code I have not written yet. Every project is a chance to be better than I was yesterday."
A Message to You
If you have read this far, I want to thank you. Not just for your time, but for caring enough about someone else's journey to follow it through to the end. That kind of curiosity — the same curiosity that drove me to take apart radios and learn to code — is the foundation of all growth.
If you are at the beginning of your own journey into technology, I want you to know that you do not need permission to start. You do not need expensive equipment, fancy degrees, or connections in the industry. All you need is the willingness to begin, and the persistence to continue when things get difficult.
The path will not be straight. There will be obstacles that seem insurmountable, technologies that feel impossibly complex, moments when you compare yourself to others and feel like you are falling behind. But comparison is the thief of joy, and everyone you admire was once exactly where you are now — a beginner, uncertain and afraid, but brave enough to try anyway.
The Secret Nobody Tells You
There is no secret. There is no shortcut. There is only showing up, day after day, even when you do not feel like it. The magic is in the mundane — in the thousandth line of code, in the hundredth bug you debug, in the daily practice that slowly, almost imperceptibly, turns you into someone who can build things that matter.
I still have so much to learn. I still encounter problems that confuse me, technologies that challenge me, projects that push me beyond my comfort zone. But I have learned to embrace that discomfort, to see it as a sign of growth rather than a signal to retreat.
This story is not finished. It continues with every project I undertake, every lesson I learn, every person I help along the way. And in some small way, your story and mine are connected now — two curious souls who believe that with enough persistence and courage, we can create things that make the world a little bit better.
Thank you for being part of my journey. Now go write your own.
Ready to Connect?
Whether you want to collaborate on a project, discuss ideas, or just say hello — I would love to hear from you. Every great journey begins with a single conversation.
[email protected]