Know Your Carrots Episode 3 starring Udi

Viktor Evdokimov
tech-at-instacart
Published in
4 min readJun 26, 2018

--

Subscribe in iTunes, Stitcher or Tunein

Last time I promised interview with Gordon, but we are keeping Gordon for next week. This week I present Udi Nir.

Udi helped build our culture for more than three years and watched our team grow from fewer than 50 to over 150 engineers, so it is no surprise that he mostly dealt with hiring, high level technical decisions, and coaching the team, even though he is also an accomplished engineer.

A few quotes from our guest:

What do you do right now at Instacart?

The people aspect is trying to understand what is going on, which has a lot of listening involved, trying to talk to as many people as possible on theengineering side, trying to understand what is working, what is not working and how or where we can make the change…

… another things is process — trying to get our team to be more efficient and more effective... how we set goals, do roadmap reviews and performance management, compensation, leveling and other things…

…the technological aspect … big decisions that impact the entire org. I like to be involved and also get other people who are even more relevant [to be involved too] … and I want us to make those decisions jointly … I generally definitely believe in decentralized systems and team ownership, but we need to make some decisions cross-team … if we decide to add new languages to our toolkit we need to discuss it as engineering, because otherwise it is very hard to share and move quickly … we have to discuss it and do it consciously, instead of just let it happen…

Is it fair to say that your focus moved from technology to people over time?

…it really depends on the size of the company … if the company is large I am probably not the best coder compared to anybody else, on the other hand, I will have much larger impact while dealing with people and processes, and higher-level technical decisions … in a smaller company I would be hands-on coding, as it will add more impact … it is understanding where the leverage is.

What are some technologies that you are excited about? I know that many people at Instacart are really excited about Snowflake.

I think Snowflake is great, it brings the simplicity and ubiquity of SQL with the scale of distributed systems, it is definitely something that I like, I like the concept, we don’t yet have a lot of “mileage” on it, so we can’t say it is as great as advertised, but we are getting there.

I have very strong preference to being pragmatic, that is why I fully support the SQL path, if SQL works, why do some crazy *** as Hadoop. And Snowflake still brings benefits that other distributed systems have. For the same reason we are still on Ruby On Rails, it allows developer productivity, which is the most crucial and scarce resource that we have , and yes it is not fully optimized, we could run on way fewer servers if we change everything to Go, but it does not matter to our business models.

What we some other pragmatic decisions?

… Adopting React was one more [pragmatic decision] … a lot of engineers like it …

we had similar discussions when we introduced Cassandra and then Druid… it is not that we don’t want new technologies, its just that it must make sense for us on a broad set of criteria, not just “the most efficient” or “the most advanced in terms of technology” …

Any example of not so great decisions we’ve made?

might be debatable — but we have two message buses, Kinesis and Hub (RabbitMQ) not sure that’s wise… I am not sure I would make the same decision, but it was not a huge mistake, it is working for us pretty nicely…

… the way we split the monolith probably could have been done better… we started really quickly with Catalog DB, and …. now that’s what matters most for development productivity… we did not do lots of technical decisions, that Ican think I want to reverse, we’ve been pretty pragmatic and evaluation was right for that time.

Big thanks to Udi, Jon, Muffy, Dominic, and Bill for their help with this project. If you have any feedback about the format or the content of the podcast, please send it to Viktor at instacart dot com.

Also, stay tuned for our next episode starring Gordon, which was promised last time. We are going to discuss infrastructure, catalog, tooling, distributed systems and Gordon’s personal projects. Til next time!

--

--