Junior Frontend Developer
Lustre is a product search engine that helps people be savvy shoppers. Our technology automates the intensive research process required to make smart purchasing decisions in today’s overwhelming shopping experience. We recently raised our series A from Index Ventures and have an ambitious vision to rewire commerce to empower consumers and direct the world’s purchasing intent.
As a Junior Frontend Developer for Lustre you will be working on client facing portions of our tech stack. The Lustre frontend is built on the Next.js framework employing React with Typescript. The Frontend team is also responsible for developing our desktop browser extensions, React native mobile apps, and our internal HTTP API client SDK, as well as any other Typescript projects as needed.
Due to the COVID pandemic we have transitioned to becoming a fully remote company and this is a remote work opportunity. While we strive to enable asynchronous work, some communication must be done live. We primarily operate on a US timezone schedule and some availability during US timezone working hours will be required.
We are looking for someone who is excited to learn and work in a codebase following best practices. The list below are not requirements, but rather a peek into how we work and what qualities we would like you to strive for. This is a junior role with mentorship and we want to find a candidate who is aligned with out technological vision and want to develop their skillset towards that.
Responsibilities of a Frontend Developer at Lustre
- Building React components and features by implementing design, interaction, and data specifications (Our website is built with React using the latest best practices and we value keeping up with changes in the React developer ecosystem)
- Building React Native components and features (Our React Native codebase is distinct from our React website and React Native apps have major differences in capabilities and how they are implemented)
- Building out desktop browser extension features such as store detection and displaying inline Lustre product recommendations to users (Our browser extension integrates with our users browsing experience and because browser extensions are deeply integrated with the code execution of web pages we must take very special care to ensure that we are respecting our users privacy and not degrading the performance of their system)
- Working with our design team to help make their dreams come true and also make their dreams be reasonable (In order to keep our design consistent and in sync with our implementation we must work closely with our design team to help them organize visual components within our shared design system and provide guidance on what kind of interactions are feasible to implement and help them make those interactions feel good)
- Working with our backend team to help them define API data dependencies needed to implement client side features and make sure they're actually building the right thing (It is the frontend team's responsibility to implement the design for our client applications and we must provide clear specifications to the backend to help them understand what data is deeded to power that, and work with them to figure out how to work around potential issues fulfilling that data)
- Working with strict Typescript and implementing tests (All our client projects are written in Typescript. We strongly value the safety and productivity benefits provided by the Typescript type system)
- Working with our client SDK and implementing data fetching features (We have our own internal API and our SDK is written in typescript. As the primary consumer of the SDK it is the frontend's responsibility to maintain that codebase)
- Optimizing content delivery to provide end users with a fast UI experience (We want to provide a fast and fun experience for our users and doing that requires strong knowledge of how data is delivered to the client and how the client executes code)
- Doing code reviews for pull requests from colleagues (At Lustre we strongly value writing high quality code, and code reviews help ensure that quality and helps us grow as we share tips and tricks with each other)
What we are looking for
- Strongly values writing well maintained type safe code with integrity checks (We value writing robust code with lots of CI checks to ensure that our code is safe, clean, and consistent)
- Has a good understanding of how to use git to organize their work and collaborate with others (We use github to manage all our projects and as a remote company having a strong understanding of git helps us collaborate clearly and efficiently)
- Are interested in keeping up with the latest frontend development best practices (We try to keep up with the latest best practices so we can take advantage of the newest features in the frontend ecosystem enabling us to provide a better user experience and write more robust and easier to maintain code)
- Are interested in learning how things work under the hood (We have commonly run into non obvious issues integrating external dependencies into our codebase, and sometimes resolving those issues require diving into open source github projects to understand what's going in under the hood. Sometimes reviewing the source code also assists in deciding which external libraries are high quality for use within our codebase)
- Are able to excel in a remote work environment by keeping up consistent communication and organizing their own projects clearly and communicating progress to the team (Remote work comes with a lot of flexibility, but to do well in a flexible environment it takes extra consideration to ensure good communication and self discipline to manage your own work hours)
Recipe for your success
- A strong learner (If you feel like you are a strong learner but don't meet all the attributes below, please still apply! We value curiosity and the ability to learn quickly above anything else. We like people who strive to understand things deeply and ask good questions)
- 0-2 Years software development experience or side projects (We expect Junior developers to still be learning and we would like to be able to discuss some projects or interships with you to help us understand what you've learned)
- A degree in CS or equivalent experience (We are looking for someone who has a good understanding of coding first principals. This can come from a CS degree or an equivalent amount of learning experience elsewhere)
- Prior knowledge of the Typescript type system (As all our client codebases are written using strict Typescript with strict linting settings it is beneficial to understand how the Typescript type system works and how to work with and define well structured types)
- Prior knowledge of web server technical pipelines (We value optimizing the speed of our user experience, and an understanding of how browsers interact with the network and execute code will help you to be able to deliver on those goals)
- Prior knowledge of optimizing and debugging issues in code (Our codebase has many moving parts and when things don't work as expected, having good debugging skills are important for understanding what is causing issues)
- Prior knowledge of working with HTTP APIs (We have an HTTP API and one of the responsibilities of the frontend team is to maintain our client SDK that interacts with it as well as helping the backend define new API endpoints)