At Swiftlane, we are reimagining access control to buildings. With Swiftlane, you can open building doors with face recognition, or use your mobile device for access. We are replacing keys with face access and mobile access. We don’t carry paper maps anymore, but we are still carrying keys around. We want to change that.
Swiftlane has raised over $9M from seasoned investors. We are based out of San Francisco, but also have a huge remote-first team distributed globally. We are already present in hundreds of buildings providing cutting-edge face recognition access and other modern security amenities.
Job Description | Embedded Software Engineer
Swiftlane is looking for a lead embedded systems engineer to deliver our next generation of access control offerings, and redefine the next generation of access control experiences for every apartment building.
This is a technically challenging role that combines many complex aspects of embedded systems:
- Real-time systems
- Distributed Embedded Systems
- Machine learning on the edge
- Cloud-based + Offline first embedded access control system
- Multi-threaded communication
- Multi-device networking and communication inside a building
Roles and Responsibilities
- Develop application layer code for Swiftlane main line of access control products, performing face recognition access, mobile access, key fob access etc
- Develop the core architecture and lay out foundations of new embedded products
- Responsible for shipping Swiftlane’s core offerings end to end, working closely with the executive team, product management, software and hardware engineers
- Design end to end technical systems from ground up – driver integration, cloud real time connectivity, database layer, real time noSQL databases, ROS communications, message queues, networking, etc
- Experience writing C++ in a production environment (unit testing, code review, algorithm performance and tradeoffs, etc.)
- Ability to write clean, fast, reliable, testable, and highly scalable C++ code
- Develop, test, and reliable scale multi process and multi threaded distributed applications – similar to a car, or an airline system or an elevator system. Lots of distributed communication between nodes inside a building but for access control.
- Demonstrated ability to ship complex C++ based embedded software to production
- Thorough understanding of entire software development lifecycle, best practices, and how to build scalable codebases
- Knowledge of setting up continued integration, build process and deployment process
- Highly driven
- Effective team communication skills
- Ability to breakdown customer problems into internal requirements and customer solutions
- Shell-script based development using bash and/or python.
- Experience creating and enabling Python wrappers for user space access to functionality
- Experience with two or more of the following peripherals: UART, I2C, USB, SPI, CAN, GPIO, PCIe.
- Minimum 4 years industry experience developing and supporting embedded systems.
- Minimum Bachelors or Master’s degree in Computer Science, Computer Engineering, Electrical or related engineering discipline.
Nice to Haves
- Can understand and review board schematics.
- Experience packaging custom Linux distributions with Yocto
- Experience in ROS is a huge bonus
Who will you work with?
You will work with a small team of hardware, software engineers to deliver products in a high-impact environment. You will be part of a small company with less than 30 people but with a massive growth rate, real world product market fit, and a growing list of customers and end users. This role is preferred to be based out of San Francisco because testing of hardware in the loop is easier onsite, but we will consider a remote hire for the right fit. We are open to shipping hardware to your remote location for development.
How to Apply
To apply for this position, please send an email to firstname.lastname@example.org with the link to this job posting, your resume, and an introduction about yourself. We look forward to talking with you!