Hi everyone! This is a personal blog about my journey towards securing an internship at Sprinklr for the summer of 2024 through IIT Kharagpur’s CDC Internship process.
The Beginning
Owing to Covid, our batch had to wait 2 months for college to begin and even when it did during December 2020, it was online! What a bummer for a starry-eyed fresher. Among the hubbub regarding various societies and their selections, I came across Business Club and was competent enough to clear their selection process. I was in! What followed was months of “Knowledge-Meets” which included interesting concepts from three verticals namely, Strategy (Porter’s 5 forces and so on), Finance (Stock Markets, Bonds and Candlestick Patterns) and finally, Analytics (Linear, Logistic Regression, Decision Trees, Neural Networks). This initial foray into analytics was the beginning of my longstanding relationship with Machine Learning and Deep Learning.
In order to better instill the concepts, there was a whitepaper presentation competition held within the club in which I, along with a fellow classmate from CSE, Vishal , presented a whitepaper on XGBoost and its mathematics (more accurately, what we understood it to be).
Apart from these K-Meets, we were also enrolled in the BClub Summer Program during the summer break after first year, during which we were free to explore one of the three verticals with me choosing Analytics. I covered the Andrew Ng Coursera courses on Machine Learning (the older Matlab version of the course. Yeah I know, not ideal!) and the Deep Learning Specialization (all 5 courses present in it). All of this theory was good and all, but one needs a little hands-on experience as well which I got through intra-club Kaggle competitions (where I performed miserably but it was an important experience xD).
On to Second Year
The end of Summer 2021 brought about with it a sudden change in the difficulty of coursework at college! I was suddenly subject to CSE curriculum which was significantly tougher than anything I had already done in first year. My department mates were also pretty competitive and tough to keep up with and hence I decided to part ways with Business Club. In hindsight, I believe I should have managed acads with club activities but hey, with 2 Inter IIT selections by fourth year, I’d say things turned out well enough for me :)
I was focusing more on academics during Autumn 2021 (read: solving Algorithms Lab assignments). These coding assignments introduced us to basic data-structures like stack, queue, priority queue and their implementation in C; algorithms like Kruskal’s and Dijkstra’s algorithm; and programming paradigms like Divide and Conquer. They served more as an introduction for me as I personally found the need for more time to digest these concepts but postponed it for later as my CDC interviews were supposed to be after 1.5 years. I probably would have benefited by tackling these concepts early on, and would recommend everyone to ideally also do the same.
During the winter break, many of my batchmates had applied to Foreign Training projects offered by International Relations Cell and I realized the need to upskill myself and started actively creating a resume to apply for these programs and other internships. I learnt a bit of Latex during this time. By attempting to create my resume, I realized the need to do internships and resolved to spend the next summer break working and learning and gaining experience.
Then came the Spring semester during which we had courses like Switching Circuits, Formal Language & Automata Theory and finally, Software Engineering which was the most interesting course of them all. It had assignments that required us to solve a problem statement using a different programming language with a new deadline every week! Honestly, the curriculum is really rigorous. I spent the semester solving assignments (3 lab courses) and keeping up with theory classes. The Switching Circuits Lab taught me how to use Latex, if nothing else ;)
The first draft of my resume which I used to apply for a remote internship at ISRO
Over the course of the semester, I had actively started looking for internships and finally my efforts bore fruit when a friend from IIT Delhi got me in touch with a senior scientist from ISRO, Dr. Debasish Chakraborty , with whom he was working on a project. I had a brief telephonic interview and after that I was selected! I finally had something worthwhile to mention on my resume. Around the same time, Prof. Partha Pratim Das from CSE, IITKgp was offering the chance to work on a project pertaining to the Development of Intelligent Programming Tutors. Since I had prior knowledge of deep learning and a bit of theoretical NLP knowledge, I, along with my friend, Kushaz was selected to work on this project (shoutout to Srijoni Majumdar ma’am for guiding us).
I spent the Summer of 2022 working on these two projects and gained a lot of knowledge about Tensorflow and the latest concepts regarding Convolutional Neural Networks (depth-wise separable convolutions, dilated convolutions and so on). By the start of the following Autumn semester, I had completed working on the NLP project and had made significant progress in the ISRO project (semantic segmentation of remote sensing images). We’d created a model which was able to beat U-Net on semantic segmentation and used a fraction of its parameters.
Third Year and Inter-IIT Tech Meet 11.0
The Autumn of 2022 brought with it some heavy courses namely Compilers, Computer Architecture and Algorithms-2. Apart from that I had taken up Linear Algebra and Machine Learning as electives so I had a lot on my plate that semester! Around this time, I had started giving Codeforces contests as well and was solving ladders to gain an idea of the kind of questions asked. The semester started off well with a lot of treats due to my B.Tech batchmates receiving internship offers from some amazing companies. In the meantime, we had tough assignments to complete in Compilers Lab and COA Lab and most of my time was spent doing these (you might start to notice a pattern here :P).
My gang! LBS boys.
However, around the 11th of September, I broke my right hand doing something stupid and as a result had to miss Mid Sems. The repercussions of this mistake was that I had to give make up exams less than a week before End Sems (considering the mid sem syllabus was not a part of the End Sem syllabus, it meant that I had to cover loads of content for no use at all). That semester I really had to dig deep and manage my academic load.
The following December (my fracture had healed by then) brought with it the selections for Inter IIT Tech Meet 11.0, a chance to represent IIT Kharagpur while competing against fellow IITs! I’d started applying to every ML/DL related event hoping to earn a selection and finally the interview call came and I was selected for the ISRO Mid-Prep event led by Abhinav Japesh and Debarpita Jyoti . Apart from Inter IIT selections, I was also working on a research paper based on my work with Debasish sir however that remains incomplete to this day. I was also really interested in doing a foreign internship and so when the FT Portal opened in December, I applied to a project offered by Stanford University on Maternal and Child Health Monitoring using Satellite Imagery. I had a direct selection for this project based on my resume and the actual internship was to be held during the summer break of 2023.
From January 2023 to February 2023, I spent all my time pulling all nighters and working with amazing seniors to create an image super-resolution model for lunar images, ultimately aiming to create a high-resolution (30 cm) map of the moon’s surface.
Our team!
Our final model was based on a research paper by Prof. Debdoot Sheet which we had dubbed Lunar T-GAN. The hard work and consistent efforts bore fruit and finally our team won Solo Gold, while the overall IIT Kharagpur contingent won Gold as well. What followed the rest of the semester was all a blur to me; treats, parties, celebrations, hall days and finally: time to say goodbye to our beloved seniors. This was the tough part as it was a signal to me to finally start working for CDC internships which were only 3 months away.
Sidenote: This semester was one of our toughest ones to date as it had Computer Networks, Operating Systems and Database Management Systems… all tough and important courses from a job perspective. Naturally all 3 courses also had lab components and I was busy doing assignments in my free time. However due to the fact that these courses were covered just before CDC, the concepts were fresh in my mind and helped during the preparation phase in Summer 2023.
The Final Stretch
Algozenith. That’s all that one needs to practice in order to be competent enough for CDC Internship tests. I started out in late April and consistently made notes for all the videos uploaded, solved all questions and tried not to look at solutions until and unless necessary. I was covering 2 weeks of content (sometimes even more) in one week. Simultaneously, along with AZ, I also had to work on the Stanford Internship which was held as a Kaggle competition among different teams. I was fortunate enough to have an amazing senior, Debajyoti Dasgupta on my team!
A typical day during the month of May/June would go like this: wake up => have breakfast and cover AZ lectures until lunch => take a break => study some more AZ / solve problems => work on Stanford project in the evening => discuss tough questions with friends => sleep. I am indebted to Jay for discussing important questions with me. In walking him through my thought process I gained important skills necessary for interviews. One needs to be clear in communicating their thoughts and make it easy for the interviewer to understand your approach to tackling the problem. This is best done by discussing tough questions with friends.
Towards the end of June, I realized that I needed to brush up on Computer Network and OS as well as looking into interview specific concepts like Linked Lists. This is why I bought the AZ Interview Bootcamp which covers these topics beautifully. By this point our team was at the top of the leaderboard in the Stanford Internship and I had started to focus more on prep. I was solving AZ questions during the day and doing interview bootcamp in the evening.
July brought with it a surprise! We were expecting the resume creation portal to open in late July, however the soft deadline for submission was the end of the first week of July. I had to pause my AZ prep for a while and focus completely on creating a stellar resume. I enlisted the help of various batchies, seniors from Inter IIT and other friends as well. I am deeply grateful to Tanushri Tawari for helping me out with my resume creation. I must have sent her some 6–7 iterations of my resume which she proceeded to inspect with a fine-tooth comb xD!
My final resume, inspired by Kushaz’s template and vetted by Tanushri!
Towards the end of July, I was done with AZ (except Tree DP) and had mostly completed Interview Bootcamp. Note that since the middle of July a lot of companies had already concluded their tests and I was feeling confident about 2–3 companies. I was content with my performance and after reaching campus on the 28th of July, I proceeded to revise Computer Networks, OS, DBMS with Kushaz and Jay.
The shortlists came by 3rd August and I had shortlists in Nomura and Sprinklr. In order to prepare, I had given mock interviews with my friend Aniket and an amazing senior, Nithish Kannen . The mock interview with Nithish in particular had made me realize the need to brush up on Transformer architecture basics and in general ML concepts as well.
Interview Experience
By the midnight of 5th August, I was ready for interviews when I got a surprise extended shortlist in QuantBox. I was immediately called up for the interview at 12:30 AM, 5th August and I quickly changed into formals and cycled all the way to Nalanda. The interview was supposed to be online but nevertheless in order to prevent cheating it was to be held at Nalanda.
QuantBox grilled me on concepts from Computer Architecture. They began with asking simple questions on topics like spatial locality (what happens when you read an array containing 20 integers one by one when cache line is 64 bytes only) and then proceeded to complicated topics like Smart Pointers. I had only had a brief introduction to what Smart Pointers were and hence when I was asked to write the code for one, I couldn’t do so. The interview lasted for around 1.5 hours as they also asked me concepts from Computer Networks, however I didn’t a call for subsequent rounds.
The next interview was for Sprinklr. I was geared up and prepared for this. We were called up at 2 AM and had to wait for our turn. There were around 120 shortlisted candidates and only 3–4 panels. It was taking forever for the interviews to be conducted.
I ended up waiting until 12 PM the next day.
10 hours.
10 hours of anticipation where I was considering myself out of the selection process because the panelists might have found other suitable candidates already. It was horrible. But finally when my interview was scheduled, I was determined to make the most of it. The interviewer grilled me on my resumé beginning with the Stanford project and then proceeding to Transformer architecture. He questioned me on the problem of hallucination in transformers. This lasted for around 50 mins after which we were running out of time, so he asked me a Dynamic Programming question and allowed me around 5–10 mins to think. I answered as best as I could and he seemed satisfied with my answer.
The next round wasn’t guaranteed and I was doubting if I was even going to receive one more interview call as I had been asked to go back to my hall at that point. However, the call did come at 3 PM. This round was again resumé grilling. He went into the depth of each project and was satisfied with my answers in general. The interview lasted around 30–40 minutes. I was more confident this time around that I had done well. Soon after the next and final round was scheduled and this was an HR round. So I knew that I was almost there! The HR was very easygoing and asked me simple questions and within 20 minutes, this round had also concluded. I received a call from a placecomm that I had been offered an internship!! I was overjoyed! I called up my parents, told my friends and was jumping about everywhere :)
Finally, Sprinklr it is!
Beyond the Interview / Next steps
As I’m writing its the 5th of March, 2024 and its been almost 7 months and a lot has happened.
I won the Stanford Internship Kaggle competition and our team received 3000 dollars!
In December, I participated in Inter IIT Tech Meet 12.0 as captain of the DevRev High Prep Event and secured Gold there as well. IIT Kharagpur contingent again secured overall Gold!
I also went on trips to Meghalaya, Goa and Kasol with close friends :)
All in all, I believe this sums up my journey to receiving an Internship Offer at Sprinklr and the various challenges I faced along the way. I am grateful to my family and friends for always supporting me and being there for me in every stage of my life.