Senior Software Engineer, Customers, Front End
Role summary
Instacart is seeking a Senior Software Engineer specializing in Front End development to join their team. This role involves modernizing the front-end codebase, improving product quality, and contributing to open-source libraries. The engineer will work with React and Redux, focusing on best practices, code quality, and shipping scalable solutions. Responsibilities include collaborating with product managers, designers, and other engineers, owning parts of the development process, and driving organizational initiatives. A Bachelor's degree in a related field or equivalent experience is required, along with strong knowledge of modern JavaScript frameworks, build systems, and testing frameworks. Familiarity with backend technologies like Ruby on Rails and SQL is a plus.
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+, 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.
### Responsibilities
* 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.
### Requirements
* 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
### Desirable
* Interest or experience in building large scalable front-end systems
* Experience building or maintaining a production node.js application
* Strong analytical and debugging skills
Sample Instacart interview questions
- 1
Design a system for real-time sentiment analysis of social media posts.
system designmedium - 2
How would you design a global search for products (frontend)?
system designdifficult - 3
Develop a secure distributed system for secrets storage and access.
system designmedium - 4
Develop a distributed data versioning management system.
system designmedium - 5
Design a distributed caching layer for high performance.
system designmedium
Sign up for a personalized interview prep pack tailored to this role.