Here we are with yet another episode of PlaceKode by Uthaan, the Journalism and Recreational Club of ABV-Indian Institute of Information Technology and Management Gwalior. We have with us Sakshi Dhamija who is currently a SDE intern at Groww , a former UI developer at Aarav infotech and has been associated with GDSC WOW as a frontend developer. She has also been a Business development executive at Zubi infotech private limited.
Can you give a brief introduction about yourself?
I am Sakshi Dhamija, pursuing B.Tech from ABV-IIITM Gwalior in the CSE department, and I am in my final year of graduation. Apart from that, I am currently interning in Groww as an SDE intern Backend. My main work includes working on a new feature or product within our startup. Groww is a startup, and what we are working on is like a startup within a startup. We are starting a credit line to help get loans with our team GrowwCreditServ as a vendor to Groww.
Can you tell us about your open-source development experience and how it has affected your backend development methods?
I was most active in open source when I first applied for the Outreachy program two years back. Outreachy is an open-source program for women students, LGBT students, or the minority community. So I applied and cleared the first round, which was the basic essay application round. After that, the second round was the contributing period, so I contributed for a month to two repositories. That’s where I worked on things I had not worked on before. I learned new skills, just learning what was required to solve the problem at hand, and that’s where I started my open source journey. How did it help me in my Backend development? It helped me understand that it’s not difficult to learn the language but it’s important to grasp the concepts, and once you start understanding basic concepts it’ll be easier to work with multiple languages. Similarly, I was offered to do JAVA and Spring Boot in this internship, but my main tech stack then was the MERN Stack. But since I knew the concepts, it was easy for me to shift to Java and spring boot.
How did you develop the idea for the IoT-based sanitization system?
I did not come up with the idea, but a professor approached me from our institute because I have been interested in doing IoT and hardware stuff since my first year; I participated in a hackathon, Hacksagon, and I was in the top 20 among all the participants from India. So that’s why Dr. Somesh Kumar sir approached me through a senior regarding this Sanitization project they were building, so I worked under their guidance.
Can you tell us about a challenging project you worked on as a backend engineer?
The most challenging task is the one on which I am working right now, so in my internship when we started at Groww, the interns and the FTE’s are treated as equals, i.e. they are given equal opportunities to take up tasks that they deem right for themselves and so on. I requested my manager to give me a task of greater difficulty level, so I was assigned a task where I had to build a consent management micro-service from scratch, it included affecting five live microservices; apart from that, it included multiple changes for which required multiple discussions with frontend and product team. We have to alter and make modifications at the frontend side as well as the backend side. So that’s the project I’m currently working on, and it’s a big deal for me. A takeaway for everyone would be that in development 40 per cent is coding and 60 per cent is code reviews because you’ll do the best you can do yourself and then your senior developers will start the code reviews, and you’ll know that your best iis still far behind from their best. But slowly you’ll learn. One more thing if you don’t want to write a unit test like me, use ChatGpt.
How did you overcome any obstacles?
Very simple question which I discovered later; keep asking questions even if it’s the silliest question. You will have people in your circle, for example, your seniors in your college or seniors in any company, ask questions. My first and most significant error in the project I was making was, that somehow I couldn’t connect it to the web server, so I read all about web servers, and I can tell you many things about web servers that even people who joined a year ago couldn’t. Then finally, I asked somebody if this was the problem, and he said that I was running the wrong file, so it was a simple change that I needed to make. So do your groundwork first and ask questions; you’ll always find more and gain more if you take help.
How do you intend to continue honing your talents as a backend developer?
For around a year or so, I plan to work in the backend itself and learn new concepts, work on live codebase and gain experience. The features that I built during the internship are now live to 50k userscurrently. We are whitelisting people in different phases of testing, so the first stage is live to 50k users. So 50k users are using that functionality which I developed. Similarly, for around a year or so, I want see in practice and build the stuff that I read about in theory. I have a lot to learn yet, so after a year of gaining experience, I plan to opt for GRE and go for an MS outside.
What do you do as your Extracurricular activity?
I like exploring Bangalore. I have mostly explored places and food, quality places. If you ask me for an example, I can tell you which app will profit you most when you order food. I found some loopholes in Swiggy and Zomato, so I know when to order from which one, which will give me the maximum profit.
Similarly, in case of traveling in Bangalore, the price to book an uber/ola after 10pm at night increases multifold as compared to before 10 pm. At exactly 10 pm, apps increase their fees in name of late night fees.
So yeah, that’s it, apart from that I like dancing and painting. That’s something I do in my free time.
As you selected a startup. So, could you kindly explain to us why you chose to work for a wonderful startup rather than applying for any other MNCs?
Why did I choose to work for a startup? I learned about Groww from my seniors. I had excellent reviews, and I am glad I have joined Groww because the culture here is outstanding. For example, you do not have time limitations and can go to the office anytimeyou want. You can leave any time even if you go at noon you can leave at two. Basically, you have every flexibility you can have, and despite that, people don’t misuse this. They complete their work, and that’s something I like here. The second thing is that you take ownership; for example, a few of my friends, who are working in other companies, they are learning courses and working on defined tasks given by their managers. Whereas where I am, I have the opportunity to tell my manager that I want to implement this functionality, or to implement this method to optimze the existing functionality. You can have quality discussions regarding them with your team and reach a practical conclusion. So you get to take ownership which is a huge deal that helps you learn a lot and really see other’s POV, you think in every aspect; if you are implementing something, how much will it cost, what are the resources required, which all teams will it affect etc etc.
Mam following up on your answer, I want to ask a question. You mean you choose any work in a startup vs If you are working on MNC, you must do some selected work. You have to do a type of work daily in place of a startup. Can you do anything?
No, not anything, for example, in my startup, I’m working in the backend. I will be majorly working in my team on the problems related to our product. I can implement features in the backend itself, but they might end up effecting infra, product, app team, etc. and comparing startups and major companies, I feel that in startups like you mentioned,if you feel something is lacking or you can improve something, you can take the ownership that I want to do this so you can implement this. In contrast, in big companies, there is a lot of process to undergo, since they are already well established, you’ll get lesser chance for optimizing products or suggesting improvisations. What I feel is if you are starting your career, go with a startup. You will learn a lot, and then you can join big MNCs because, in big MNCs, you will find more work at the upper levels.
In contrast, in the startups, you can get more work at starting levels too, and in many of the MNCs, spoon-feeding is done; by this, I mean that you will be just given a few tasks, and you will be expected to just do it, that’s it. Few times, they offer you exposure and often they are just implementing things for which you can easily find the code out there. There is no interest. I like taking ownership; the startup provides you flexibility and keeps your options open. This thing is not found in big MNCs because they already have their great products out. So it will be challenging to change existing products which are affecting users at a large scale. When you start your career, I suggest you prefer startups, but the good ones with good work culture because many startups do not offer good work culture.
So startups help you increase your creativity towards your work? How is startup culture in our college, and whom can we approach regarding this?
Startups help us understand all the aspects of the product, yes. Many people have; for example, you must know about Guna Shekhar sir. He is our senior. He was offered a huge package from a company in Singapore, but he still joined a startup with the people he had worked with before in college. So I would say that people are leaning towards the startup culture, and it would be visible in a few years.
Talk to people who started their startups. They will tell you a lot. I did not start a startup; I became a part of the startup, and both are different. If you want to start a startup, you can contact Debaditya Pal from my batch and you can ask him. He had experience in this in college time.
How did you handle the stress of several interview rounds? And what errors do you believe you made during your placement period that you would advise your juniors not to repeat?
I had good people surrounding me. To be honest, I think the people around me, basically my seniors, helped me a lot to understand. There was one senior in particular who helped me a lot to go through all these rounds. When I was doing an interview, they saw how I was giving the interview; they helped me to understand where I am going wrong and then they gave me tips to rectify my mistakes, they gave me very harsh tips at that time, I felt like this is a bit too much, but those tips were excellent, and ended up helping me a lot in next rounds. So get help from your seniors. Go to them and eat their brain out.
I made many errors. It kept changing throughout the period. Somebody kept telling me I was making these errors, so I kept working on it. The fundamental mistakes that I made are, first of all, the primary fear that everyone has before starting this journey, maybe I am not ready for an internship or anything yet; perhaps I will work for two months, maybe I will do coding, or I will try after two months, so they will miss out on the opportunity available now because they will not feel they are ready. I will tell you one thing, you will never feel ready. Just start giving interviews. You will understand what an interview is even if you don’t have the proper skill set; even if you don’t know much, you’ll know how to crack the interview. Once you crack the interview and join the company where you will grow a lot.
One thing I did for myself was set a lower bar on companies and decided not to sit for companies that would offer below this. Some of my friends told me that I should not do this because very few companies are hiring, and recession is going on. But I knew I would land a good internship in my set standards, I believed myself and it came true.
How did you develop your skills in multiple things? And what advice would you give to your juniors?
I have always wanted to try new things, so I have tried a lot or explored a lot. I am not a master of anything, but I have explored a lot of AR VR, machine learning, blockchain etc. I chose backend after trying so many things, and nowadays it feels like I am just living my hobby, so basically, I am earning for my hobby. So explore a lot , try your hands on anything you want to do and then figure out what you want to choose. I chose backend development after working with frontend development; I worked for three and a half years. I chose backend development in my final year and that was one of the best decisions I made.
Which is better, working in a startup or an MNC? MNCs pay you high, so why can’t we go for that?
I agree, but if you ask me anytime, I will choose a better work culture and a better chance to learn than money. The money would follow anyway. In fact, people have many passive sources of income, so money should not be the concern that you really want. This is what matters; you should feel you are doing something you like and it’s adding value to people’s lives and other’s life; as I said, my feature is affecting many people. So focus on that from where you are getting this opportunity now, Exactly MNC vs startup difference, I can’t tell as I have not worked in an MNC. I prefer a startup, and the advice I have gotten from my seniors is to choose a promising startup, Learn a lot, and then you can switch to anywhere you want. So learning should be your primary aim always.
Can you provide a roadmap so that someone reading the interview who wants to start contributing to open source may begin his/her open source journey?
There is no roadmap in the open source journey; choose your tech stack on which you can work; if you want to learn, you can find repositories. Also, you can see previous contributions of your seniors who are active in open source and can see where they start. Apart from that, there are programs like GSoC and Outreachy; don’t fear them. Just contribute; if you don’t qualify, you will still have experience contributing, and this experience will help you increase your chances for the following year.
My journey started from Outreachy; you can try Outreachy; in September and October; there are also open source events, such as Hacktoberrfest.. Just start somewhere; setting up a repository is also a big task in open source; for setting up, you need to learn many things. You can make small changes in documentation, and then you can find the good-first PRs; after going to the repository, you need to search for minor bugs you can work on, do small tasks, and discussions will happen for even small PR’s that you create.
Interviewed by Abhinav Sharma, Indresh Patel and Kunal Vardani
Co-ordinated by Aneeka Mangal