How did I get into programming and developed my skills?
Tags: programming, beginners, productivity, career
Published: 2023-12-29 12:28:07

## Introduction

I started my Computer Engineering bachelors in 2015 in [ADA University](https://ada.edu.az/). Back in my time, we started our first programming course with Java. I did not grasp some of the concepts, as I was not wise enough to practice and play around with codes that professor shared, even though he stressed that point a lot. Despite the fact that I understood all of the theory, when it came to implementation, I hesitated a lot, without knowing how to progress.

In my second semester, I got to learn C from different professor. His curriculum for course was based on [eolymp](https://www.eolymp.com/en/) (he was one of the contributors of this platform): he would explain the topic and would provide problems from this website for us to solve. There was a little problem though: it was not enough. The tasks were easy for me, and I did them really fast. I wanted more, but I couldn't have rushed the class, could I?

<figure>
  <img src="https://mmzeynalli.dev/posts/misc/how-i-got-into-programming/eolymp.png">
  <figcaption>Eolymp Logo</figcaption>
</figure>

## Character Development

After a month or so from the beginning of semester, I stumbled on public programming marathon in [eolymp](https://www.eolymp.com/en/contests/6472). It was "Winter Marathon" with programming questions each week and had two leagues: Junior and Senior leagues. Each week, I solved around 10-11 different problems for different topics. My professor was very supportive: whenever I would be stuck and unable to solve some problems, he would explain me in detail. In the middle of semester, I covered more than whole semesters material with the help of that marathon and my professor. All because I did more than I was expected at university.

During Nowruz holiday (for those who don't know, we celebrate a spring-coming in Nowruz, and there is a week of non-working days in end March) I learned that there will be a mini bootcamp during Nowruz for preparation upcoming ACM ICPC tournament for other univerisity's (Qafqaz university) students. As it was my C professor who would mentor that bootcamp, they allowed 6 students (2 teams) from ADA University to join bootcamp as well. When most of the students were resting during holiday, I was in bootcamp from 9am to 6pm. Even though topics were way to advanced for me, my professor would explain me and my team less complex version of those algorithms and give problems to solve. I believe, that was the part where I was hooked up to programming.

## Climax

In the end of the semester, there was a countrywide competition for university teams. The top teams of each university would have been sponsored to ACM ICPC regionals contest. Me and my team joined to that tournament, while being the first-year students (the other teams of our university were all our seniors). We were stuck after solving only 2 problems. However, in the last 10 minutes, we were able to make comeback with 2 more solves, which granted us 8th place (3rd out of 4 from our university). Even though it is not a big achievement, but as a first experience, I believe we did good. University even sponsored us to another tournament, which was held in Georgia. After these, I started regularly solving DSA questions and participate in ACM ICPC competitions. This way, I was able to get to know and practice C as much as I could, which later helped me a lot when I started career in embedded firmware engineering.

<figure>
  <img src="https://mmzeynalli.dev/posts/misc/how-i-got-into-programming/icpc.png" width=200 height=200 align="center" title="ICPC Logo">
  <figcaption>ACM ICPC Logo</figcaption>
</figure>

## Conclusion

In the end, I do believe doing DSA problems and competitions helped me a lot in becoming an engineer. It shaped my thinking methods, taught me new algorithms and how to tackle a problem. It was also a way for me to practice continuously, which is the main part of learning and developing a new skill. Thus, starting today, I am planning to share new problems and solutions with explanations of such problems from different platforms, such as: [Eolymp](https://www.eolymp.com/en/), [LeetCode](https://leetcode.com/), [HackerRank](https://www.hackerrank.com/), [Codeforces](https://codeforces.com/) etc. I am open to suggestions, so feel free to comment the problem that you want to be explained and solved, I would be more than happy to help you out! I will mainly use C for solving problems, but you are welcome to add any other language solution to [repository](https://github.com/Miradils-Blog/dsa-problems-and-solutions/)!