Hi, this is Dhananjay, currently working as a Software Engineer in Mathworks. Before moving forward to the computer science story, I would like to start with personal life story. It started from a small village named Jalalpur in the Samastipur district of Bihar: a journey full of challenges and unique life lessons.
But when challenges are at your door, we need to learn to evolve as problem solvers. I was always full of big aspirations to achieve success via hard work. Martin Luther King Jr. once said - "We must accept finite disappointment but never lose infinite hope."
While working in the local shop, I came to know about Anand Kumar’s Super 30 program in Patna. Somehow boarded a train to Patna and reached Anand sir with very little money in my pockets. He got a sense of the situation and allowed me to be a part of the Super 30 program. Under the incredible guidance of Anand sir and the Super 30 environment, I studied hard and cracked the JEE advanced examination. There was only one way to express joy - I was full of tears. But, it was the tears of success and happiness.
Now next challenge was at the door! After clearing the examination, I was trying hard to manage the 60K admission fee of IITs. I was thinking day and night - How could I gather 60K amount? But luckily, again, Anand Sir came to support me as a god and paid the fees. So based on JEE ranking, I got electrical engineering as a major in IIT Kharagpur.
Many students in engineering try their hands on computers for the first time in college - I was one of them. I never used computers before starting the introductory course of programming in the first year. The course's grading system was relative, and some of the batchmates already covered that curriculum during their high school. Under pressure, I eventually started giving more time to this subject, resulting in an average performance in other subjects where I was strong. Even after giving this large chunk of time to programming, I still got an average grade.
I considered this as a failure and decided to leave the idea of a career in computer science. Now the new goal was to become a core electrical engineer. So I started doing the MOSFET circuit design project under one of the department professors. However, till the end of the 6th semester, I only followed the study of the core domain.
But here is a transition story. One day, a friend of mine posted the placement data of IIT KGP on his social media page. After analyzing the difference between the placement percentage of Core-Engineering jobs and Non-core jobs, I was disappointed. So finally, I started rethinking the decision to become a core electrical engineer.
Fortunately met another professor in the department who is working in routing algorithms. I politely asked him to give a project which requires coding knowledge. Professor knew that I don’t know how to code, but still, he gave me the project where I had to write a C++ code to ensure communication among multiple devices.
That changed my life!
I enjoyed coding for real systems, which fascinated me. Fortunately, after a long hard work completed almost 70% of the project, but the real joy came when I submitted it to my guide. He was thrilled and gave me the best grades for that.
Now, I knew that project work could not be sufficient for cracking on-campus job interviews. The fact was that - third-year summers had already passed, and companies would start to come from October. So, I gathered all the resources and started learning the logic behind the programming. I was good at maths which helped me to boost to confidence in moving ahead. After feeling that my hands are running smoothly on fundamental coding problems, I slowly moved towards Data-Structures and Algorithms.
Now I took a different approach. I picked one data structure and solved 8–10 questions of easy and medium difficulty levels as there was no time to get stuck with the hard ones. Also taken help from different online websites and practiced a diversity of questions. I was always searching for a non-trivial question to learn the concepts used for that particular problem.
After the start of the placement session, There were 100s of companies that posted the opening for a Software engineer role. I did not go for a choosy approach and applied for almost all tests of different companies.
In the start, I was not taking these tests as placement opportunities but as a practice match! Finally, hard work paid me well. It was Mathworks who liked the profile and offered a Software Engineer role. I started crying after the results were out.
Currently, I am working in the field of optimization of deep-learning models to work on different devices. As we all know, many technologies have a brighter future in the upcoming days. However, if I have to pin-point 3 of them, my favorites would be:
Enjoy Learning. Enjoy Thinking. Enjoy Computer Science!