Staff Software EngineerWe are rapidly growing startup building the first all-in-one restaurant management software platform. Our Android tablet-based system helps restaurants operate more efficiently and connect with their customer base in new and innovative ways.We are looking for a Staff Software Engineer to play a critical role on the team responsible for our Core Orders and Pricing workflows. Our system currently accepts orders from a number of different sources including our Android tablets (keyed by waitstaff), consumers (online orders) and partners (via our APIs).
This code is executed multiple times by every single order that enters the system. We are dealing with problems of scale and representing billions of dollars in value to our customers. As we continue to grow, we expect the demands for orders and entry points into our system to increase rapidly.
In order (pardon the pun) to meet these demands, we will need to build a system that is both increasingly extensible, robust, scalable and deliverable continuously. We need your help to improve our platform and add the next generation of features to this absolutely mission critical part of our product.Some projects we've been working on recently include:Creating a unified Pricing Module to be shared across all clients powered by our systemPluggable, modular, configurable Taxation Module to support a much wider variety of different tax codes (at the local / state level)Re-architect how we deal with historical orders using immutable data; allowing archival of historical data to separate analytics data storeTooling which allows for the running of millions of historical checks against new Pricing algorithms to compare differencesExpanding functionality of our APIs to support more and more clientsAs a staff software engineer on the orders team, you will be:Designing, building and maintaining high performance, flexible and highly scalable web and mobile applicationsParticipating in designing, estimating effort, implementing, testing, debugging, configuring, integrating and documenting database, middle-tier and front-end codeDiagnosing performance bottlenecks and implementing optimizationsThinking in terms of the end-user and designing accordinglySurveying and evaluating available technology optionsActively contributing to product design and feature selection discussionsParticipating in code reviews to ensure technical implementations meet functional requirementsMentoring other team membersIf you're someone that is:Proficient in JavaWell-versed in tiered web application architecture and databasesPassionate about building great softwareA lifelong learnerKnown for having a get unblocked attitudeBonus Points (but not necessary):Android experienceMicroservices knowledgePrevious exposure to a SaaS product