Photo by Christin Hume on Unsplash
From a 50+ year old software org to a 5+ year old Indian Unicorn ๐ฆ
This is my first blog post, and is about my journey from working in a 50+ year old industrial software organization Aveva, to joining just a 5+ year old, but India's fastest growing unicorn, Swiggy!
Hello peeps of Hashnode and visitors of blog.devkrishna.in! So I recently joined Swiggy, the best platform in India for delivery of food, groceries and anything we can think of to alleviate our convenience. And I decided I will use this opportunity of starting a new phase of my career, to also start something I have been thinking for some time now, that is to share my thoughts and words with the world.
And I thought this will be a great start to my blogging expedition: to share my journey and recruitment experience which can potentially inspire my fellow developers!
So let's get going!
I joined the company called Aveva, which is a global industrial software organization and is helping the businesses in sectors which are not much digitized, with software products and solutions to grow their business. It caters to the sectors of Chemicals, Energy, Manufacturing, and Mining to name a few. It is based out of Cambridge, UK and has it's largest R&D center in Hyderabad, India. This is where I came to in mid-2019. I was very excited then, because it was my first job, the start of my professional life and wanted to excel at it right from the beginning. After the induction processes where we came to know about the major products and various business units, we had to undergo a mandatory training of C# and .NET technologies.
At the end of our training, we were to present our learnings to a panel of Team Leads & Development Managers. I found this to be an opportunity in disguise. I knew that the organization is working on AR/VR tech and I was very much interested in that, having created an AR mobile app for landscape visualization as part of my final year project in undergraduate studies. So I created a sample web app that can visualize 3D models of equipment's, when we scan a plant diagram, in real-time. I tried my best to link this with the existing products of the company, which I had very little knowledge of at that time and presented a real world use-case. I like to think the panel was impressed ๐, and fortunately I got picked to the team which was working on 3D visualization products and were venturing into XR technologies as well.
That's about my first role, which although, was a brief stint of 1.5 years, but which lay the foundation of my professional life and I built some strong work ethics from my stay there. I met some amazing people from different parts of the country as well and overall it was a good experience.
But then, being in a constant state of learning and curiosity, my mind used to wander in directions of growth opportunities and someplace, where I can use my skills to the best abilities. And then I found this role, which I saw was aligned to my development interests, and in a company whose one of the major vision is
Always be Curious, Always be Learning
Swiggy!
So I applied for a frontend role at Swiggy, which needed React and Javascript experience. However, I didn't have any professional experience in those, although having worked on creating and building websites and web apps with those since college. So I tried building my resume so that I can highlight those skills from my side projects, as well as my professional skills from my last work.
I got an email, some days after applying, in which I was informed that I have been shortlisted for the recruitment, and given an assignment. The assignment was to create a Task Tracking application, using React and a GraphQL API they had created for this purpose. The app should be able to create tasks with tags and date time, and should be editable. The API was to post and get these tasks from. Seemed fairly easy, but it was a bit difficult for me, since I had never worked with GraphQL before.
Assignment
The assignment was to be submitted the next day, before 5pm, and since It was a weekday, and I had work too, so I took a leave on that day ๐ I worked on it all night, and the next day, firstly learning how to post and get from a GraphQL api, and then designing the UI of the app. I first designed and created the barebones of the app with some dummy data, since I knew if I spend too much time on things I didn't know, I might end up with nothing to show for. So I made the entire UI of the app, and then went on to create the push-pull features from the api.
I was finally able to create new tasks in the app, after much tinkering but still wasn't able to edit/delete them. Time was running out, so I thought I will send the app as is, with whatever I was able to make. Something is better than nothing, after all!
I was told that upon completing this assignment, if selected, I will have an interview on the morning of next day. But after I sent the assignment, I didn't get any reply on that day. I figured, I should be a bit prepared for the potential interview, in case I am shortlisted. So I went on the internet and started finding interview experiences of other people who applied for developer roles in Swiggy or other such companies. I found one by Akshay Saini, who had made a youtube video on his interview experience for Frontend role at Swiggy. Watching it, I got an idea of the different rounds of interview and then started brushing up on basics of JS and React and web development technologies in general.
Come next morning, I get a call at about 9, saying there will be a machine coding round and got a meeting invite for around 9:30 am. I waited, nervous and anxious because it was going to be my first machine coding round I will have ever appeared for. I tried calming my nerves, telling myself I can do it, and I will do it well. A few minutes later, I got a call from the recruiter again, saying that the machine coding round will not be held since you have already completed the assignment and that it is almost similar. Since your assignment was good enough, you will be appearing for the next round of interview which will be to gauge my skills in React and JS in general.
React & JS interview
So I don't remember anything specific from this round, because it was very smooth going and the interviewer made me feel at ease. He was friendly, and whenever I wasn't able to answer anything, he would let me know about it in a very good way, so as to not make it feel like I have made a mistake at a test and I'll be losing out on it. He asked me questions on the lifecycle methods of React, and how we can implement them using hooks in function based components. There were some questions about ES6 functions like map, filter etc. All in all, it was a good experience, and a learning one as well. It ended with him asking me if I had any questions and him answering about a typical day in a developers life at Swiggy.
After this got over, immediately I received a call from the recruiter saying there's another interview in about 5 mins and it will be one about Data Structures and Algorithms and problem solving in general. I was heavily underprepared for a DS & Algo round as I had only got some time the day before to brush up on some basics, so I was outright nervous for this round.
DS, Algo & Problem Solving
So this round too, like the earlier, started with an introduction of both myself, and the interviewer. He was pretty cool too, setting a comfortable tone for the rest of the interview. Firstly, he asked me to solve a problem about finding the least number of coins from a given denomination of coins, to have a given amount. It was fairly easy and I was able to solve it in a couple of minutes. The interviewer made it a point to have me speak out my thoughts on how I am approaching to solve the problem, and put in anywhere I seemed to be stuck. Next, I was given the problem to reverse a linked list. I had to write out the code for it, which I was able to solve as well. Next he asked me how can we find out the least common ancestor of two nodes, in a given binary tree. It was not there right out the top of my head, so I had to deliberate and try to solve it. The interviewer helped me explain some ways to find the solution and I was finally able to find out the solution. After this he asked if I had any questions for him, and I asked about his team and the work he does. He was from Trust and Safety team which used analytics and machine learning to check for frauds and issue resolution.
It got over and I finally took a deep breath at having finished it fairly good! I got a call shortly after from the recruiter saying that the next interview will be a Hiring Manager round after lunch hours. I went and had lunch, and then spent the rest of the time till the interview calming myself, listening to music. I found it later on, that being calm, believing in yourself and not beating yourself up too much goes a long way in building your confidence and to face anything. It was going to be over now, just one more round of interview, and I'll know if I'll get the role!
Hiring Manager Round
So I joined the meeting for the interview, and was greeted by a very jolly guy who, eventually after I joined became my reporting manager. The first few seconds made me feel, it was going to be good, and it really did. It started off with introductions and questions about my interests, after which I was asked to write a piece of code to implement a simple progress bar in HTML & CSS. Fairly easy. Built it. After this I was asked to make a bunch of those and make them start on a click of a button. Classes in CSS comes handy for this exact purpose and I wrote some js to handle the click event to start the progress bar. I was allowed to search in Google, given I am speaking out about what I am looking at and where. The interviewer was pretty honest in that, when he said even he forgets about these small events and selectors in web pages and so it's never too bad to go for a quick google search ๐!
Next he asked me to implement the progress bars in such a way, such as to have them run synchronously, that is the next one will start after the previous one ends. I had to think of this for a couple of minutes before I thought of using animation end events for triggering the next progress bars animation. Took some time, and finally was able to solve it.
It ended with me asking him about the teams and the immediate responsibilities one can expect after joining. And that's it! I had finished 3 rounds of interviews within a span of hours on a single day! ๐
I was not expecting all this to happen so very fast, from applying, to finishing an assignment, sending it off, and then 3 rounds of interviews on a single day!! It was surely an experience to behold.
I was told I would receive communication from HR after few days, and I received the offer as the horrendous year of 2020, came to an end. Even though we all went through unprecedented times, for me it ended on a sweet note and also gave me something to start off the new year with something to look forward to.
Coming from, not an IIT, or NIT, I found myself already in a sort of a disadvantage because campus placements were a mess at the University I completed my B.Tech from. However, amidst having to manage 90% attendance, boatload of assignments and labs, I learnt one thing there. To be resilient and dogged in our pursuit . I used to take out time in college to build websites for local businesses because I loved building them, and it also brought me some pocket money! I made it a point to work on stuff that intrigues me and brings me joy from the monotony and rough schedules of work, whenever I had some free time. This helped me especially during last year to maintain sanity and sense of being.
Regarding the compensation, it is top notch! No really, they really pay a top tier salary to their employees apart from the many benefits and perks you get ( a quick google search will get you that information ๐). A couple of days after my interviews were over, the recruiter got in touch with me and asked about my current CTC and what I expected to get here. I gave them a figure of about a 100% hike over my pay then. The recruiter said he had noted it and would get back to me with the offer in a couple of days. I wasn't much expecting it to be what I had asked for, but it would have been good to get that figure. So, come the day when I got the offer letter, and I was blown off by the pay mentioned. It was even more than what I had asked for, even more than a 200% hike over my current pay. This made me realize 2 things. First, I was underpaid at my last employer (even though pay hikes and appraisals were frozen due to Covid, I have a fairly good idea what I would have got, definitely not this much!!) and secondly, that Swiggy as an organization didn't undercut me based on my last CTC. I mean how often do you go into a negotiation thinking that you would get a figure more than what you had expected! This really increased my respect for the company even more โ
It has been a week with Swiggy now, and I have been amazed at the values, vision and the plans of the company and its young founders, as we move from delivering food in urban India, to delivering convenience to the billion strong India!
Ending my first blog post, with some sweets ๐ฎ from, you guessed it right, Swiggy !