Taro Logo

Software Engineer (Ruby/Rails) Interview Experience - San Francisco, California

March 1, 2015
Positive ExperienceGot Offer

Process

I felt the interview process was extremely pragmatic and realistic, moving fairly quickly. The senior recruiter I worked with tried hard to ensure a smooth process and mitigate any hiccups. There was one significant rescheduling hiccup due to an all-hands meeting, which was swiftly handled. Fortunately, there were no random data structure and algorithm questions, nor any silly whiteboarding or architecture questions.

I started by reaching out to a recruiter/sourcer. Instacart is actively interviewing, so you likely already have an email from them. We spoke by phone about the role, followed by a quick 10-minute EventBus coding challenge via HackerRank. Try to finish this challenge quickly, as elapsed time is a significant evaluation factor. It requires only a few lines of code, and it's best to use Ruby, as Instacart is a significant Ruby shop. To prepare, read up on event buses and the Pub/Sub pattern.

After the EventBus challenge, I spoke with an engineer to determine cultural and engineering fit. On this call, present yourself as smart, pragmatic, and fast. Once you pass this, the sourcer transfers you to a senior "close-this-candidate" type internal recruiter. This recruiter provides more role details and then sends a larger app-building coding challenge, again in Ruby/Rails via HackerRank. Fortunately, it had a good README, so read that thoroughly beforehand. I opted to do Part B before Part A, as Part A has a substantial front-end component that could take an indefinite amount of time.

The coding app is the core of the interview process. Take it seriously and do your best. Failing this challenge will prevent you from reaching the onsite. Ensure your implementation isn't needlessly naive (e.g., no SQL queries inside loops). Use Ruby/Rails idioms where possible. Make sure your app looks reasonably good. The app includes Bootstrap, so use it to enhance its appearance. The recruiter suggested 3.5-4 hours for the challenge, but I spent nearly 6-7 hours to ensure it looked and worked great, even submitting screenshots with my app's zip file.

After passing the coding challenge, I was invited for a 2.5-3 hour onsite interview.

  • The first session was a 30-minute pair programming interview with an engineer. Remember to write unit tests, ideally using TDD.
  • The second session was with the VP of Engineering. He was a pleasure to chat with and very pragmatic.
  • The third session was the most enjoyable, involving free lunch while chatting with a product and design person. Instacart.com's consumer-facing website is a beautifully designed single-page app, making it a pleasure to meet the designer. I discussed competition with the product person, focusing on Google Shopping Express.
  • The fourth and final session was with Brandon, the technical co-founder. He is exceptionally smart, humble, and easygoing. We talked extensively, including non-Instacart topics like skydiving. He showed me some operational dashboards, which were impressive. The logistics side of this business is incredibly complex. Since Brandon is a co-founder and likely the ultimate decision-maker, use this opportunity to genuinely demonstrate your passion for the grocery space. Faking it won't suffice.

Questions

This was a pair programming session with a Ruby engineer. They allowed you to use your own laptop, which was great, but you only had 30 minutes to finish the problem with working unit tests.

I think they re-use this pair programming problem, so I'm not going to divulge details here. It wasn't a particularly hard problem; they just wanted to see how you code and test. Do not forget to write unit tests! Ideally, you would develop it in a TDD fashion.

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Instacart Software Engineer (Ruby/Rails) role in San Francisco, California.

Success Rate

100%
Pass Rate

Instacart's interview process for their Software Engineer (Ruby/Rails) roles in San Francisco, California is incredibly easy as the vast majority of engineers get an offer after going through it.

Experience Rating

Positive100%
Neutral0%
Negative0%

Candidates reported having very good feelings for Instacart's Software Engineer (Ruby/Rails) interview process in San Francisco, California.

Instacart Work Experiences