AirGarage is on a mission to bring real estate online, starting with parking. They are seeking an Embedded Software Engineer to build and maintain edge applications for their next-generation license plate recognition devices, ensuring reliable software delivery and system performance.
Responsibilities:
- Architect and evolve the embedded software stack (defining system boundaries, module interfaces, and communication flows) to ensure scalability, maintainability, and efficient integration with backend services
- Build and maintain edge applications on embedded Linux devices, including software for real-time video capture and processing
- Customize and extend Yocto-based Linux builds to support production hardware and future device features
- Implement and maintain software for computer vision, OCR, or other ML inference tasks at the edge
- Develop and maintain containerized environments using Docker to streamline testing, deployment, and reproducibility
- Contribute to OTA (over-the-air) update pipelines and automated testing frameworks to ensure reliable deployments across the fleet
- Integrate devices with backend systems using pub/sub messaging frameworks (ex. NATS JetStream, Kafka, Redis, or MQTT) to connect devices with backend infrastructure
- Collaborate closely with hardware engineers to optimize software for sensors, cameras, and other peripherals
- Troubleshoot and debug board and system level issues using logs, schematics, Linux tools, and protocol analysis
- Author clear documentation, best practices, and internal guides to support the team and streamline problem solving
Requirements:
- 5+ years of professional software engineering experience developing embedded Linux or edge applications
- Strong proficiency in Python and Bash, with experience shipping production-quality code
- Command-line comfort: you should live in the terminal
- Experience with Docker for creating consistent testing and deployment environments
- Hands-on experience with Yocto/bitbake to customize and build Linux images for production hardware
- Familiarity with OTA update frameworks and tools (ex. Mender) and managing software across a device fleet
- Hands-on experience with Linux systems (dmesg, journalctl, ip, systemd, etc.) and debugging distributed hardware/software environments
- Familiarity with observability and monitoring tools (e.g., DataDog, OpenTelemetry, Prometheus, Grafana) and building internal tooling for device health and alerting
- Excellent written and verbal communication skills; able to translate complex technical findings into clear reports and playbooks
- Self-starter who thrives in a fast-paced, ownership-driven environment
- Experience with computer vision, OCR, or running ML models at the edge for real-time video or sensor processing
- Background in RTOS or microcontroller development (Zephyr, FreeRTOS)
- Proficiency in C++ and SQL
- Low-level userland familiarity: memory pages, cache locality, POSIX commands
- Knowledge of hardware interfaces such as CAN, I2C, SPI, and RS485
- Exposure to automated testing, CI/CD pipelines, or Hardware-in-the-Loop validation setups
- Background in cellular (4G LTE, CAT 4, CAT 1bis, 5G RedCap), WiFi, WiFi HaLow, or other wireless connectivity
- Robotics or industrial controls background is a plus