Lumi is transforming the manufacturing and packaging industries by building tools that help brands find and work with suppliers more easily than ever before. Our goal is to enable seamless collaboration between brands and suppliers to deliver sustainable, memorable and cost-effective packaging.
By joining Lumi you will have a front row seat to the rapidly changing way people buy things, and the supply chain behind everything that gets shipped to your doorstep. Learn more →
About the role
As a Full-Stack Engineer at Lumi, you will be an important part of our small and dynamic team, working to develop various aspects of Lumi’s two-sided B2B marketplace. We strive to write elegant code to solve real-world problems. This job is open to remote applicants.
We use Haskell and Postgres on the backend and PureScript/React on the front-end. On the Haskell side, we primarily use Servant and Esqueleto. We get an enormous amount of utility from all aspects of Haskell’s type system, from the most basic features like newtypes and sum types, to type families and GADTs. On the PureScript side, we use our own purescript-react-basic bindings, purescript-lumi-components, and Spago.
Among many other projects, your work could include adding new features to the Lumi web application, building internal integrations, contributing to our library of reusable UI components, creating public APIs, or designing tools that enhance developer productivity. Whatever you do, your work will have a direct impact on Lumi’s growth.
What you’ll do
- Build, ship, and iterate on new and existing features.
- Work with Product and Design to help define what problems we solve and how to solve them.
- Collaborate with a talented and passionate team of engineers to get things done.
- Fully own your work - whether creating some architectural improvements to increase our codebase’s efficiency; leading a project to deliver a new feature; collaborating with designers to create the best UX; or fixing a serious bug, you take ownership of your work, providing transparency, cooperating with stakeholders, advocating for your needs, and delivering results.
All candidates should possess these qualifications:
- You are comfortable working remotely and with minimal supervision.
- You are able to manage your development projects from start to finish, from planning and time estimation, through development and testing, to documentation and deployment.
- You can work with non-technical members of staff to gather and distill project requirements.
- You’re a learner and a teacher; you constantly strive to expand your knowledge and skill set, while helping others to do the same.
- You have demonstrated experience using functional programming languages to solve problems that deliver real business value.
We don’t require that candidates have all of the following, but we are primarily seeking engineers who can bring experience in one or more of these:
- Shipping production code on a fast but reliable cadence.
- Developing applications with Haskell or PureScript.
- Working with SQL, particularly Postgres. Experience with data modeling is especially useful.
- Working on a SaaS platform. Developing, maintaining and supporting public APIs is a big plus.
- Contributing or maintaining open source projects.
- Optimizing development and delivery efficiency through DevOps.
- Analyzing and applying security best practices.
What we offer
- Competitive salary
- Stock options
- Paid time off
- Comprehensive medical, dental, and vision benefits
- SIMPLE IRA retirement plan
- Top of the line computer equipment
What we look for
Our team is made up of people from diverse backgrounds, often working remotely across the world. We believe cross-pollination is one of the best ways to foster community and new ideas. For that reason we encourage people from all backgrounds to apply to any of our positions.
Creating a great environment for everyone on the team is something we care deeply about. There are a few qualities we look for in anyone joining Lumi. Here are some of the questions we’ll be asking ourselves when reviewing your application:
- Curiosity: Your role will evolve as time goes on. Do you have an eagerness to learn new skills, adapt to new situations and get out of your comfort zone?
- Communication: Whether it is in written or spoken form, are you able to communicate clearly and concisely with others?
- Empathy: Do you collaborate well with others? How do you deal with disagreements? Do you relate to the challenges we seek to solve for our customers?
- Work ethic: Do you have a can-do attitude? In the ever-moving world of supply chain, will you do your best to not keep others waiting? Can we rely on you to bring rigor and enthusiasm necessary to your work?
- Good taste: Are you attentive to details? Do you care about creating an elegant, pleasant experience for customers and those around you?
Note that due to the volume of applications we are not able to reply to everyone. Rest assured, we do read every application. Thanks for considering us!