Welcome to our new series #GrowWithMeesho, where we’ll present inspiring stories about personal and professional growth from across departments and experience levels at Meesho. To kick off the series, this first instalment is dedicated to all growing (and aspiring) software engineers.

The path to success is not always rosy — there are choices to make and hurdles to overcome. To illustrate this, today we bring you one of our Tech Leads, Karthik K’s story of persevering in the face of failures, rejections, and mistakes. We hope his story will inspire you and help you through your own professional journey.

Can you give a brief intro about yourself and your position at Meesho?

Hi, I’m Karthik K. I’m working as an SDE IV in the Discovery Platform. I joined Meesho as SDE II in 2019 and was promoted to SDE III in 2020. I got promoted to SDE IV recently in 2022. Other than technical projects, I handle hiring and mentorship as well.

How did you start your journey?

I did my BTech in IT from PSG College of Technology, Coimbatore in 2015. It was an exciting time as I was the first person in my family to do graduation. However, I feel like I didn’t fully utilize the opportunity — I did decently in academics but didn’t acquire much in the way of skills required for being a good software engineer. I like to code and solve problems but didn’t do much.

The strong feeling of wanting to be a good engineer and to make a good impact pushed me and made me learn a lot on my own.

After college, I started my career as an L2 Support Engineer at an MNC where I did core dump analysis for storage server crashes. However, I wanted to develop scalable systems and software instead. So in 2016, I moved to an SDET I role at a mobility startup in their data platform team. This, too, wasn’t the work that I always wanted to do, but preferred it to doing support.

The strong feeling of wanting to be a good engineer and to make a good impact pushed me and made me learn a lot on my own. Further, to improve my development skills in a real-world setting, I picked small dev tasks whenever possible and contributed to building testing frameworks. I did a lot of problem-solving and learned DSA (data structures and algorithms) and LLD (low-level design) on my own after office hours.

In 2019, after a lot of struggle, I moved to an SDE II role in the same company but wanted to pursue something from scratch where I could learn and get mentorship from senior engineers. That’s when I came across Meesho and eventually, things started falling into place. It was a moment like this:

Looking back, it was a real roller coaster ride — I experienced failures and rejections and made mistakes, but learned to lift myself up, learn, and try again. I believe that there are three magic words behind any success story: Awareness, Perseverance, and Practice.

How was your interviewing experience at Meesho?

My interview experience with Meesho was very smooth. I liked all the questions I was asked and saw that all the interviewers were super pumped and passionate about building things. They saw and appreciated my knowledge and passion for software engineering, and after clearing all the interview rounds, I got the position of SDE II. I was initially a bit hesitant but after meeting with Sanjeev Barnwal (our Co-Founder and CTO), I was convinced by our unique business model and the new market which Meesho created with the vision of bringing small businesses online.

Can you describe your journey as an SDE at Meesho?

In the beginning, as an SDE II, my focus area was mostly coding. When I joined, I didn’t have any prior experience in backend development or technologies. My first project was to create the backend for the Logo Creator Tool. I learned a lot from this project about how backend works and technologies like Spring Boot, etc. Later on, I worked on a lot of interesting projects such as transitioning our authentication system from stateful to stateless and building deferred signups.

The constructive feedback which I got from my peers, managers, and tech leaders helped me grow, bridge gaps, and perform to my full potential.

After moving to SDE III, I worked on designing scalable systems such as Meesho Community. Later, I moved to the discovery team (which powers Meesho feeds) where I worked on systems to move from monolithic to microservices architecture without any downtime and worked on product-based ranking. As this was a completely new tech stack, I learned a lot while building and scaling different feed systems.

The constructive feedback which I got from my peers, managers, and tech leaders helped me grow, bridge gaps, and perform to my full potential.

What does your typical day at work look like?

My typical day starts with a team standup, followed by my focus hours for coding, doing LLD (low-level design), HLD (high-level design), and code reviews. If it’s an on-call week, I monitor production environments, debug issues (if any) and create plans or work on existing on-call issues. Other than that, I take interviews and mentor others as well.

Tell us more about your mentorship role. What motivated you to take it up and what’s your process like?

I’ve always liked to teach and mentor others. Even outside of work, I mentor other working people and college grads and help them through their journey to become good software engineers.

When a mentee is consistently able to find solutions on their own instead of depending on me for guidance, that’s when I know I’ve done a good job.

When I’m mentoring someone, I encourage my mentees to question things — why are we doing what we’re doing? Why are we doing it this way and not some other way? I avoid giving direct answers to their questions. Instead, I give them directions by asking related questions so that they do their own research and reach a conclusion that way rather than take someone else’s word as the definitive answer.

As they become more knowledgeable and self-dependent, I spend less and less time with each mentee. When they are consistently able to find solutions on their own instead of depending on me for guidance, that’s when I know I’ve done a good job.

To grow as an engineer, focusing only on technical prowess doesn’t cut it. What do you think are the “non-technical” habits that engineers need to adopt?

There are several, but I’ve found three to be essential for professional growth:

Learn to see problems through different lenses

When trying to solve a problem or design a solution, we tend to overlook other feasible solutions which could have different tradeoffs. But it's crucial to understand and find different ways of solving the problem through different lenses and learn different perspectives.

Think and plan before executing

In the urge to solve a problem, we often forget to decide what’s the right macro problem to solve and the right use of time to get the major impact. If the bigger picture is clear, prioritising tasks is much easier and puts us in a better position to handle ambiguities. This also helps in setting the right expectations of the ETA.

Learn to learn

Finally, work on the most important skill of all: Learning to learn. After a certain point in life, there is no hand-holding — you have to be on your own. After mastering this skill, you’ll be able to hold your own no matter what curveballs your professional life throws at you.

I often feel imposter syndrome — am I doing well? Am I a good engineer compared to my peers?

Along the same lines, be in a place where you are constantly being challenged as an engineer. I often feel imposter syndrome — am I doing well? Am I a good engineer compared to my peers? Later, I realised that I feel this way because I am constantly being challenged and this is precisely what learning looks like.

What are you looking forward to in the future? Is there a particular role or duty that you want to pick up?

I’d love to become a software architect as I love problem-solving and want to be an essential part of the technical journey.

Outside of work, what do you like to do in your free time? Also, Meesho has an annual, company-wide 11-day leave called “Reset and Recharge” coming up in October. How do you plan to use the off time?

I like watching movies and TV series. Also, like most Indians, I am a big fan of cricket — I follow it vividly and often play as well. Sometimes, I do pencil drawing.

I’ve never been abroad, so for Reset and Recharge, I plan to get my passport stamped for the first time. Fingers crossed 🤞🏼.

That’s it for Karthik K’s growth story. If you found it inspiring and know someone who might benefit from this journey, feel free to share this post and spread the word. Also, to make sure you don’t miss our upcoming stories, follow us on LinkedIn, Twitter, and Instagram!

BTW, did you know that Meesho is hiring? Come join us and work with talented techies like Karthik as we bring e-commerce to the next billion users in Bharat.

Interviewee: Karthik K

Interviewed by: Shivam Raj

Creatives 🧑🏻‍🎨Ved Sarkar (Portfolio, Linkedin)