My programming journey

Written by Yatrik Patel

November 17, 2024

blog

See Your Markdown post below

My Programming Journey: From Teaching Math to Building Software

Life often takes us down unexpected paths. My journey from a math teacher to a web developer is a testament to this, shaped by curiosity, persistence, and a love for learning. Here's a look back at how I discovered my passion for programming and grew into the developer I am today.

Early Days: QBasic and the Road Less Taken

I first encountered programming in college, where I learned QBasic, Visual Basic, Mathematica, and Maple. At the time, my focus was on becoming a math teacher, and these programming exercises felt like a curious but abstract detour from my goals. Little did I know, they were planting seeds for a future I hadn't seen yet.

After graduating, I began teaching math in West Virginia and Virginia. While I loved helping students understand complex concepts, something felt incomplete. Within me, there was a desire to learn more and tackle challenges that extended beyond the limits of the classroom.

During the summer vacation after my first year of teaching, I stumbled upon Khan Academy and began exploring JavaScript. That summer sparked my curiosity to learn more about programming. However, the next four years remained a bit dry as I focused on other pursuits, such as pursuing a Master's degree in Mathematics.

As part of the program, I delved into subjects like Cryptology and Graph Theory, which added depth to my understanding of logic and problem-solving. Unfortunately, the cost of education made it difficult to continue, and I ultimately had to drop out of the degree program. During this time, my primary focus shifted back to teaching.

A Game-Changer: Grow with Google Scholarship

Then, in December 2018, things changed again when I received the Grow with Google Challenge Scholarship in partnership with Udacity. This opportunity reignited my passion for programming and allowed me to dive into Android development. I built projects from scratch, worked with APIs, databases, and real-time data synchronization, and honed my understanding of developer tools and frameworks.

The hands-on approach of the scholarship course, coupled with supplemental learning from Udemy, equipped me with a practical skill set. I explored building Android games, implementing authentication, setting up SSH, and even syncing cloud data—experiences that pushed me closer to becoming a developer and inspired me to continue learning and growing in this field.

Shifting Focus: The World of Web Development

While Android development was rewarding, I craved the versatility and reach of web development. In 2019, I began immersing myself in web technologies. It marked the beginning of an intense, transformative learning curve. I tackled everything from setting up servers, building REST APIs, and using Docker to mastering frameworks like React and Redux. I explored advanced concepts like code-splitting, lazy loading, and working with databases like PostgreSQL, Firebase, and MongoDB. Each challenge deepened my appreciation for the art and science of development, from front-end design to back-end architecture. Along the way, I discovered my love for problem-solving through tools like Redis, SASS, and styled components.

Academic Pursuits and Professional Growth

My teaching background and love for math naturally complemented my programming journey. These skills fueled my interest in cryptology and graph theory, even though my Master's program had ended prematurely. Currently, I'm pursuing a different master's degree, a Master's in Information Technology at Virginia Tech, aligning my academic growth with my professional ambitions.

I've channeled this diverse learning experience at Virginia Tech into meaningful projects and collaborations, such as modeling a database design for complex approval flows for a "New Item Request" application, fixing search functionality in existing applications, etc., bridging the gap between theoretical knowledge and practical application.

Lessons Learned and the Road Ahead

Looking back, it's clear that my journey has been a blend of luck and persistence. From teaching math to building full-stack applications, every step has taught me the importance of curiosity and resilience. Not every project was a success—like the SaaS application I had to take offline after initial trials—but every setback, whether failing to debug an error in the spur of the moment or learning an entirely new concept, has been a lesson.

Today, I continue to grow, inspired by the belief that learning never stops. Whether it's exploring new technologies, refining best practices, or mentoring others, I'm excited to see where the road leads next. I hope my journey inspires you to embrace change and look forward to the opportunities that lie ahead.

Conclusion

Programming has transformed how I see the world. It's not just a skill; it's a mindset—a way to break down complex problems and craft elegant solutions. My journey so far proves it's never too late to pivot, learn, and create something meaningful.

If you're interested in my work, please check out the projects section of my portfolio. And if you'd like to connect, I'd love to share more stories, including the behind-the-scenes of my SaaS project.