Software Engineer- Functional Programming
Remote within the US
KeyMe is revolutionizing lockout solutions for homes, cars and businesses. Via artificial intelligence and robotics, KeyMe allows users to store, share, and duplicate their physical keys and RFID cards. Fully automated self-service key duplicating kiosks can be found in over 4,000+ locations across the country in major retailers such as Bed Bath & Beyond, Kroger, Rite Aid, 7-Eleven, Menards, AutoZone, and many others.
Additionally, KeyMe offers customers a one-stop solution for all their locksmith needs ranging from lockouts and re-keys to complex installations and custom jobs. All KeyMe locksmiths have extensive experience and are fully vetted to ensure our customers receive the utmost quality experience. With upfront set pricing, customers know they will never be confronted with last minute charges. KeyMe’s smart routing gives customers the ability to monitor their Locksmith’s arrival, job progress, and receive instant receipts. KeyMe is providing unrivaled service quality, prices, and customer experience into the $12B/yr locksmith industry.
KeyMe is an exciting, well-funded (over $150M raised to date), tech company that is solving real consumer pain points. KeyMe is proud to have an open, collaborative and relaxed atmosphere where bright professionals work hard and enjoy what they do. With the added benefit of a friendly, flexible and creative working culture, you’ll be joining a forward-thinking, expanding team to continue opening doors for our customers.
We’re committed to providing a diverse, equitable and inclusive workplace where team members from all backgrounds, ethnicities, cultures, and experiences feel welcome and thrive. We do not discriminate on the basis of race, color, ancestry, religion, national origin, sexual orientation, age, citizenship, marital or family status, disability, gender identity or expression, veteran status, or any other legally protected status.
About the Role
KeyMe sits at the intersection of machine learning, computer vision, software, and mechanical design. Our self-service kiosks scan and duplicate thousands of keys per day, and are effectively an autonomous self-calibrating machine shop in a box.
The Control Systems team is looking to add an experienced engineer to our team. We build systems to scale out our fleet of robotic key copying kiosks as we expand our operations throughout the US. We are responsible for a broad range of KeyMe’s technology development such as our core libraries, backend integration software, USB device management, and robotics control software. As a core member of our team, you will maintain existing services written in Python 3 and develop new features in Haskell. We offer an extremely broad range of engineering activities that ensure you’ll never be bored in your career.
What You'll Be Doing
- Build out new features and new product offerings at our kiosks
- Improve upon our existing systems with an emphasis on scalability and durability
- Work collaboratively across engineering teams to improve the user experience
- Create tools for internal teams to manage our fleet of kiosks
- Assist DevOps with the deployment and maintenance of kiosk software
How We Know You Can Do It
- 2+ years of software design experience
- Professional experience working in a Linux environment
- Experience with at least 1 functional programming language (Haskell / OCaml / Scala / Erlang / Elixir / Clojure). We use Haskell, but the transition will be easier if you’re familiar with FP concepts.
- A desire to work with Haskell
- Strong understanding of any imperative language (we use Python 3)
- Experience with Git or other distributed version control systems
- An interest in working on:
- Microservice architectures
- A message passing / queueing technology (RabbitMQ / MQTT / Redis)
- The Linux networking stack
Let Us Know If You Have
- Experience with USB devices on Linux
- Mechatronics / Robotics experience
- Familiarity with C
- Experience writing firmware
What You’ll Get
- Compensation package that includes salary and stock options
- Health, dental, and vision insurance
- Remote budget to set up your home office
- 401K plan with match
- Flexible PTO Policy
- Flexible Spending Account (FSA)
- Health Savings Account (HSA)
- 10% Hack Time