My Journey into Software: From Reluctance to Passion Chapter One

 


Aug 10, 2025

When I finished high school, my goal was to study electrical engineering. Unfortunately, my grades weren’t quite enough to get into that field, so I found myself enrolling in computer science instead. At first, I wasn’t particularly interested in programming or computers—it felt like a compromise rather than a choice.

However, as I progressed through university, something changed. The logical nature of computer science began to appeal to me. I realized that programming is all about logic and making sense of complex problems, and that started to draw me in.

During my first two years, I learned C++, algorithms, databases, operating systems, security, machine learning, and many other subjects. While these courses gave me a solid foundation, I noticed that the programming languages and technologies we were using in class weren’t always the same as those used in the industry. This realization hit me when I started researching job requirements and exploring the tech landscape.

In my third year, I decided to bridge this gap by joining an institute called OracleLearning. There, I learned C# and MS SQL Server—technologies that were in high demand in my country, especially in government institutions. This practical experience was invaluable and gave me a clearer sense of direction.

By my final year, I landed my first job as a developer. I joined a team of four, and together we started building a system for a pharmaceutical company group. This was a turning point for me. I began to see what I had been missing during my studies: the real-world application of software development and how all the pieces fit together.

Our team lead was a senior developer with nearly a decade of experience in C#. Working alongside him was both exciting and eye-opening. For the first time, I was introduced to the Model-View-Controller (MVC) pattern, which he used to structure our system. This experience was more than just learning new concepts—it was about putting everything I had learned into context and seeing the bigger picture of software development.

After my first job, I realized how much more there was to learn in the world of IT. Motivated by curiosity and a desire to grow, I began to teach myself beyond what I had learned at university and work. My senior colleague gave me some valuable advice: focus on databases. Taking his suggestion to heart, I started exploring the different specializations within the database field.

As I dug deeper, I discovered that the world of databases is much broader than I had imagined. There are specialists in database querying, database administration, data warehousing, and business intelligence (BI). Intrigued by these layers, I decided to focus on database querying for development. I found it both challenging and enjoyable, as it combined logical thinking with practical problem-solving—skills I had grown to love, looking back, and my journey into software wasn’t straightforward, but it was transformative. What started as a second choice became a true passion, thanks to the blend of academic learning and hands-on experience.

The major turning point in my career and knowledge came when I began my master’s studies in IT. This new chapter opened up even more opportunities to deepen my understanding—not just of databases, but of software systems as a whole. My master’s program pushed me to think critically, research new technologies, and apply advanced concepts to real-world problems. It was during this time that I truly started to see myself as a software professional, ready to tackle complex challenges and contribute meaningfully to the field.

At the start of my master’s journey, I was eager to dive into my thesis. I went to my advisor with an idea related to natural language processing, convinced it was the right direction. However, he advised me to wait, suggesting that I take the first semester to explore different subjects before making a decision. I’m grateful I listened to his advice.

During that first semester, I enrolled in a course called Information Technology. At first, I was skeptical. The syllabus covered just three topics: communications, IoT, and some hands-on hardware work in the lab. I remember thinking, “Is this really IT?” It felt disconnected from what I expected.

But then, everything changed. The professor’s approach was practical and lab-focused, and his passion for the subject was contagious. As he taught us about communications—covering frequency types, use cases, and especially long-range communication—I had a moment of revelation. When he discussed how long-range communication could be applied in agriculture, something clicked inside me. I realized I had found my thesis topic.

From that moment, I became deeply interested in communications, especially the foundational layers that underpin the networking concepts we had only touched on in undergraduate courses. I started to see how these “lower-level” technologies were crucial to building the systems and applications I was passionate about as a software developer.

This experience taught me the value of keeping an open mind and embracing new areas of knowledge, even when they seem unrelated at first. It also reinforced the importance of practical, hands-on learning—a lesson that continues to shape my approach to software and technology today.

 

 

Recent Posts