Hi everyone! My name is Sandesh Kumar, and I'm currently a Software Development Engineer at Amazon Web Services. I grew up in Jhansi, a district in Uttar Pradesh, and attended an ICSE board school. My favourite subjects in school were math and computer science, and I spent my free time exploring them.
It wasn't until I was in 10th grade that I learned about engineering and the Indian Institutes of Technology (IITs), but my parents, teachers, and peers encouraged me to start preparing for them. Overall, I'm excited to be working in the field of software development and to continue learning and growing in my career.
I first encountered programming in 10th grade when I took a computer science course that included Java programming. I quickly realized that I had a strong interest in solving puzzles and writing algorithms. I have to give credit to my subject teacher for inspiring me and helping me discover my passion for computers. I ended up achieving a perfect score in the subject, which only fueled my desire to pursue a career in computer science.
After 10th grade, many people discouraged me from taking computer science as my fifth subject, claiming it would be time-consuming and distract me from preparing for the Joint Entrance Exam (JEE). However, I was so passionate about the subject that I decided to follow my heart and pursue it anyway, despite the criticism. I learned C++ programming in 11th and 12th grade, and I'm glad I made the unconventional choice to pursue my interests. I believe that if something excites you, it's worth pursuing, even if it's not the most traditional or straightforward path.
To my surprise, I was able to manage my time effectively and performed well on the JEE advanced exam. The next challenge was deciding which Indian Institute of Technology (IIT) to attend and which branch to pursue. I had the option of going to one of the newer IITs and studying computer science or going to one of the older IITs and potentially compromising on my preferred branch.
That's when I learned about the emerging field of mathematics and scientific computing, which really appealed to me because it combined my love for math with my interest in computers. This was an unconventional choice, and none of my friends, family, or teachers supported my decision to pursue a less popular branch. But I felt drawn to this field and wanted to explore it, so I made the decision to follow my interests.
During my first semester at IIT, I enrolled in a course on the C programming language. Since I had already learned C++, the material covered in this course was just a review for me. I was able to complete the 3-hour labs in less than half an hour, and I excelled in the course. My overall grade point average (GPA) was above average.
People around me started praising my success. However, this confidence led me to make a mistake: I decided to take a course on data structures and algorithms in my third semester, which was actually meant to be taken in the fifth semester. Initially, the course seemed to be going well, but as we delved into more complex algorithms, I realized that I was in over my head.
My overall grade for the semester dropped below 7, and I felt devastated. I lost all of my confidence and couldn't find anyone who would offer me the support I needed. However, I knew I had to bounce back, and not just bounce back, but come back stronger than ever.
To summarize, here are the steps I took to overcome my struggles in the data structures and algorithms course:
By following these steps, I was able to rebuild my confidence and restore my belief in myself.
It was common for students in my program to complete the mathematics and scientific computing course in five years, which included an additional master's degree. However, I didn't want to dedicate an extra year to pursue a master's degree, especially since its potential benefits in the job market were unclear. According to the campus placement policy, I could only apply for internships once, leaving me with two choices:
After careful consideration, I ultimately opted for the second option as I didn't want to invest an entire year solely for a master's degree.
During my internship period, I gained valuable experience as a full-stack developer, and based on my performance, I received a pre-placement offer from Amazon. I was ecstatic, but there was another twist.
While working at Amazon, I realized that having a master's degree could be advantageous in terms of industry hierarchy. I started contemplating the idea of pursuing a master's degree because if I were to do it in the future, it would take two years instead of one. (Converting my bachelor's degree to a master's at IIT would only require an additional year.) However, I had a pre-placement offer that I would have to decline in order to pursue the master's degree.
Once again, my family and friends were against this decision. However, this time it was a difficult choice for me as well. After reviewing my courses, I discovered that if I overloaded my 9th semester, I could complete the master's degree in just one extra semester. I made the decision to go for it. To ensure I was on the safer side, I contacted the Amazon team and requested to join in December. They agreed, and it was one of the most gratifying moments of my life.
With an additional summer at hand, I wanted to explore different areas. Once I started my job, I knew I wouldn't have the opportunity to explore various computer science domains beyond software development. Therefore, I decided to pursue a second internship, this time in the research domain of Machine Learning and Data Science. I had already completed a minor degree in Machine Learning, but securing a research intern position with an average academic performance was challenging.
Through the SFU-IIT MITACS joint program, which had only 10 available seats, I managed to secure a position. I reached out to different professors via email, expressing my dedication to machine learning and the data science domain. I got the chance to work in the field of Human-Computer Interaction (HCI) in Canada, where I gained valuable knowledge and research exposure.
Although I found myself more comfortable in a software development role than in research, I achieved what I set out to accomplish—exposure to research. I was captivated by Data Science and Machine Learning, so I chose my master's project in the Machine Learning and Finance domain. It went exceptionally well, as we developed a new training model with higher accuracy.
After completing my master's degree in nine semesters, I joined Amazon as an SDE-I. Internal transfers were seamless there, and within 7 to 8 months, I transitioned to the Amazon Web Services (AWS) team due to its growing global popularity.
Almost every field in computer science is expanding rapidly. However, it is always advisable to explore different fields before making any definitive decisions. Based on my professional experience, if I were to suggest a career in computer science domains, I would recommend the following:
I want to give the overall message that “Never hesitate to take the roads less traveled by.”
Enjoy Learning! Enjoy Daring! Enjoy Algorithms!
Subscribe to get well designed content on data structure and algorithms, machine learning, system design, object orientd programming and math.
©2023 Code Algorithms Pvt. Ltd.
All rights reserved.