Not being super talented, helped me grow as a persistent person
Though I have some technical posts in my drafts, I want my first post to have some personal touch, thus this post. I took my first glimpse of a programming code in my very first week at IIUC, while doing my Bsc in EEE. 10 years later, I am working as a Full-stack web application developer. I think documenting how I started my journey as a programmer will be an interesting one.
I enrolled in EEE, and I was not very pleased to see the CSE-101 listed in my class routine in our very first semester. Like a lot of my classmates, I was all pumped up to finish my curriculum and rushed to secure a job in the telecommunication sector. We didn’t think taking a computer science course will help us become a good telecom engineer. So when the CSE-101 class time appeared, I was more interested in skipping the class, and join my new (wise and like minded !!) classmates. But just as I was about to leave the class, our teacher came. It was our head of the department, Muhammad Shamsul Alam sir. Because I was personally acquainted with him, I couldn’t get out of the class. But I never would’ve guessed that day, that through this class, I am about to find my greatest passion till to date.
Finding something interesting is one thing, but to make it your passion you need to be in love with it. I liked what I was studying in my class. Alam sir had a very strong personality, and he really knew how to teach structure language. But later that week in our lab class we got introduced to one of his TA, Mobashwir Hasan (Shakil Vai). He made a big impact on me about programming. He has his own ways of presenting problems or explaining programming syntax. I remember he used to encourage us to solve the same problem using different technics, which I did find interesting these days, and I end up spending a lot more time coding. Problem-solving using programming was something very new to me, and combinedly Shakil Vai and Alam sir help me to set a foot on it. I believe it was them who put the Mindsetof a programmer in me. After six months my interest in programming turned into my passion.
In our university, there was a special class called ACM Class. It was for those who wanted to nurture their programming ability and participate in various programming contests. After my first semester, I started to take these class. But it was not easy for me. A lot of the ACM problems are based on various algorithms and technics which comes with CS curriculum. As I was from a different department, I had to make additional time to study and understand these algorithms.
I am not a super talented person. I was a medium quality student. Grasping these technics and algorithms didn’t come easily to me. Sometimes it took months to completely understand and practice related problems of a single algorithm. When exams appeared I had to take a break from that. There were several highly talented contestant in our class. My progress compares to them was very frustrating to me. But, despite being not good at it, I always somehow ended up repeatedly trying to improve myself at ACM programming. Later in my life, sometimes I ask myself what made me do that back then? And I think it was because of that genuine passion, rooted inside of me during my first semester, for problem-solving. I was not very successful at ACM, though I manage to participate in a lot of NCPC and couple of ICPC Dhaka regional.
Later in my life, when I started my career as a software engineer, all of the ACM experience somehow appear as nothing but beneficial. Firstly, The attitude of problem-solving. It is one of the best things I have ever achieved through my participation in ACM. Secondly, the ability to try. I rarely stop until I find a solution to a problem. Finally, I never fear to try something new. In fact, learning something new excite me most. In my six years of experience as a software developer, I have learned 3 different languages to ship production level applications. With each of these languages come several frameworks and there are a uncountable number of other libraries, APIs, and front-end tools. Exploring unknown stack and tools come easy after my ACM experience.
Fortunately, in my career, I have had the pleasure of working with some awesome teams on some very good projects. Someone are more intelligent than others. Some can grab a logic quickly, someone takes a little bit more time. But one thing I can tell no matter how people are,hard work is something that beats all.