We're interviewing Rahil Sondhi, currently a Senior Software Engineer at Instacart. Rahil has previously worked at InternMatch and Tunezy as a software engineer and developer. Rahil has also run his own freelance web marketing and development business.
Hey Rahil. Your title is Senior Software Engineer at Instacart. What do you do, both generally and day-to-day?
- I write code for new features.
- I fix bugs that are found by a user of the site or a member of our internal operations team using the “admin panel.” This is a pretty big part of our application since we are a services company.
- I refactor existing code to be easier to understand, more performant, and/or less error prone.
- I write automated tests for all the above.
- I meet with stakeholders (tech leads, product managers, other engineers) to discuss product requirements and to plan projects.
- I review code written by other engineers to provide feedback and to learn from them.
You spent most of your time at university working as a freelance marketer/developer part-time. How did that help you get to where you are now?
I got interested in programming at age 10 when I built my first website on Geocities. Then I started building websites for Counter-Strike teams/clans, which led me to start a Counter-Strike game server company at age 13. In high school, all my summer jobs were programming jobs.
In university, I chose to study business because I knew I loved being at the intersection of business and technology. I figured I could study business during the day and and then code after class, and that’s exactly what I did. I had two positions in student organizations as a programmer, I did paid consulting for one of the departments because they needed help with their website, and I did a project for two professors who wanted to build a website for their side business. I also had summer jobs as a programmer where they wanted me to continue building things for them even when I went back to school.
Building things is the best way to become a good engineer, so every project I’ve ever done was necessary to be where I’m at today.
Along the way, you've tested a lot of your own business and app ideas. How has this entrepreneurial spirit driven your career?
If I hadn’t tried building my own businesses, I wouldn’t have the level of critical thinking that I have at work today. At my first job, since I had experience spending a ton of time building things no one wanted, I was able to have a mindset where I built new product features fast, tested them with users, and then iterated.
How important is business savvy to being a good software engineer?
If you just want to write good code, you probably don’t need business savvy.
But if you want to make product decisions, business savvy is really important. And you learn this first hand when you try to build your own product. What set of features should you build first? How will you bring users into your app? Shoot, no users are coming, now what do you do? Are you spending too much time building X? Should you be building Y instead?
What factors do you use to judge the quality of junior engineers?
- They should be able to show me things they’ve built.
- If everything was for a client and cannot be shown, that’s fine, but they should be able to talk extensively about the projects. What was challenging to build? Why was it challenging? Why did you choose solution A over solution B for your problem?
- I want to hear some of their opinions about things that they’re passionate about. If they’re passionate about CSS, talk to me about good vs bad CSS. If they’re passionate about tests, talk to me about good vs bad tests.
What tips would you give to those looking to break into startups or software engineering?
- Show your passion towards the business. Don’t send a generic email to someone with your resume. Be personal and demonstrate your interest in the company. I’ve built demo applications for companies that I’ve applied to. When my friend applied to his dream company, he wrote a blog series on growth topics and tailored them specifically to the company.
- Build build build! The best way to get into this industry is to build - it’s the only way to get better at your craft. When talking to potential employers, be prepared to either show some code or at least talk about a few apps you’ve made or challenges you’ve solved.
Thanks, Rahil!
Instacart is a same-day grocery delivery service. They're all about making it as easy and delightful to shop for groceries from the comfort of your phone or computer. They've raised over $270 million from investors like Sequoia Capital, Khosla Ventures, Kleiner Perkins, Y Combinator, Andreessen Horowitz, and more. They're hiring for engineering, design, customer service, finance, and a ton more, so check out their open positions!