Software Engineer, Front End
We're transforming the grocery industry
Instacart is the North American leader in online grocery and one of the fastest-growing companies in e-commerce. Since 2012, we’ve been working towards creating a world where everyone has access to the food they love and more time to enjoy it together.
Groceries delivered to your door in as little as an hour. It seems simple, right? Well, it’s more complex than that. From re-routing deliveries during snowstorms, to connecting customers with coupons and deals for their favorite brands, to updating over half a billion grocery data lines every night...our efforts bring Instacart closer to being the operating system for the grocery industry.
Solving these problems is what helps our customers get back time in their day, so they can do more of what they love.
Introducing Our Hybrid Working Model
As the future of work evolves, so do we. We have a hybrid model where our roles are open to in-office, flex, or remote work. Learn more about our flexible approach to where we work.
OVERVIEW
Our web products are used by millions of people every year and the largest retailers in the US now trust us to run their grocery delivery websites. In order to meet and exceed these expectations, we're rapidly improving and modernizing our front end code base, raising our expectations for product quality on web, and opening up our internal libraries to the open source community for feedback. We hope to accelerate these efforts by growing the number of strong front end engineers on our teams.
Our applications run primarily on React and Redux. They're written in ES6+ and TypeScript, are built with Webpack, and use JS styles. We aim to use JavaScript throughout the entire development process - build systems, components, styling, and rendering. Our Snacks component library is a good example of this in action. There's still a ton of work left to do here, and we'd like to start leading the industry with our front end tooling and libraries.
Some of the more interesting front end focused projects we’re focused on now:
- Node server side rendering all of Instacart.com
- Total refresh of the storefront design and the code driving it
- Converting our codebase to TypeScript from ES6
- Latency improvement projects focused on edge serving from CDNs and caching item data on clients
- Design system and component library refresh
- Entirely new products like prescription delivery, order ahead meals, and alcohol delivery
- Growth projects focused on polishing sign up flows and our checkout experience
Our biggest challenge in front end right now is keeping up with our scale. We have a lot to do to be the world leader in online groceries, and we don’t have nearly enough front end people. This means there’s a lot of opportunity to own core systems and have a meaningful impact on how our front end is shaped in the future
ABOUT THE JOB
- You will be part of a small team, with a large amount of ownership and responsibility for setting best practices and raising the front end bar for your team.
- You will work with other Front End engineers in the organization to raise the bar for product and code quality within the web product.
- You will work closely with product managers, designers, other teams, and both internal and external stakeholders, owning a large part of the process from problem understanding to shipping the solution.
- You will maintain our high engineering standards and bring consistency to our codebase.
- You will ship high quality, scalable and robust solutions with a sense of urgency.
- You will have the freedom to suggest and drive organization-wide initiatives.
ABOUT YOU
- Bachelor’s degree in Computer Science, computer engineering, electrical engineering OR equivalent work experience
- Self-motivation and an enjoyment for a startup environment
- A strong sense of ownership
- Strong knowledge of and experience with at least one modern Javascript framework (React, Vue, Angular2, etc)
- Strong knowledge of modern front-end build systems and languages (Webpack, ES6, Babel, etc)
- Strong knowledge of and experience with front-end testing frameworks (Jest, Mocha, Enzyme, etc)
- A willingness to learn back-end frameworks and technologies, primarily Ruby on Rails and SQL/ActiveRecord
- An ability to balance a sense of urgency with shipping high quality and pragmatic solutions
- Experience working with a large codebase on a cross functional team
- Interest or experience in building large scalable front-end systems
- Experience building or maintaining a production node.js application
- Strong analytical and debugging skills