Software Engineer - Over-the-Air Updates
Develops scalable OTA update platforms for deploying firmware and software to large connected device fleets using C++ and Go. Requires 4+ years in distributed systems, cloud-native apps, and secure deployment practices.
About the job
Responsibilities
- Design and develop scalable OTA update platforms that process and distribute software packages, firmware updates, and configuration changes to large fleets of connected devices using modern cloud-native architecture in C++ and Go
- Architect and implement secure update delivery pipelines using technologies like cryptographic signing, encrypted communication channels, and authentication systems to ensure update integrity and prevent unauthorized modifications
- Build and maintain cloud-based OTA infrastructure leveraging distributed systems, containerization with Docker, and orchestration frameworks to support high-volume, low-latency package distribution
- Develop versatile package management systems for handling versioning, dependencies, and distribution of software components across diverse device ecosystems
- Create efficient content delivery networks (CDNs) optimized specifically for package distribution to ensure fast and reliable updates even in bandwidth-constrained environments
- Work on advanced monitoring and analytics systems that track update success rates, performance metrics, and provide real-time visibility into OTA campaign status across global device deployments
Requirements
- 4+ years of experience in distributed systems development with strong proficiency in C++ and Go, and experience building scalable cloud-native applications
- Experience with cloud platforms and DevOps practices including AWS, Azure, or GCP services, along with CI/CD pipelines, infrastructure as code, and containerization technologies
- Knowledge of secure software deployment including cryptographic signing, certificate management, encrypted communication protocols, and understanding of security best practices for remote updates
- Manage packages for various types of devices running embedded Linux and real-time operating systems, implementing efficient deployment strategies for diverse hardware platforms
- Proficiency in cloud-native development with microservices architecture patterns, API design, and service mesh technologies for building resilient distributed systems
- Understanding of CDNs and package delivery networks (PDNs) for efficient global distribution of software updates
Nice to Have
- Experience with OTA frameworks and tools such as Mender, RAUC, SWUpdate, or similar platforms for managing firmware and software updates
- Experience with Go's cloud development ecosystem including Go Cloud, gRPC, and other tools for building portable cloud applications
- Proficiency with distributed database systems for managing device inventories, update states, and telemetry data across large-scale deployments
- Understanding of fleet management systems and experience with device monitoring, remote diagnostics, and large-scale device lifecycle management
- Knowledge of security frameworks and compliance including experience with penetration testing, vulnerability assessment, and adherence to cybersecurity standards
- Experience with infrastructure as code (IaC) tools like Terraform or CloudFormation for automating cloud resource provisioning and management
- Collaborate with cross-functional teams including DevOps engineers, security specialists, product managers, and device firmware teams to deliver comprehensive OTA solutions
Compensation
Base salary range: $183,000 - $253,000 annually, plus equity and benefits.
Skills
C++, Go, Docker, AWS, GCP, Azure, CI/CD, Kubernetes, gRPC, Terraform, Embedded Linux, Mender, Rauc, Swupdate, Microservices
Similar jobs
DevOps / SRE jobsOwn Mercor’s internal identity and cloud platform infrastructure as code, automating provisioning, access management, secrets, and employee lifecycle workflows. The role requires production Terraform, Okta, SCIM, and multi-cloud IAM experience, plus strong automation, incident response, and documentation skills.
Build developer-experience tooling and release systems within Benchling’s Platform team, helping engineering teams develop, test, package, and ship high-quality software rapidly. The role requires 4+ years of software engineering experience, web framework expertise, strong problem-solving, and effective cross-functional communication.
Leads global GPU capacity management across acquisition, orchestration, infrastructure automation, and incident response. The role requires 5+ years of experience, deep Kubernetes expertise, production Go or Python skills, and the ability to balance reliability with unit economics.
Electrical Field Engineer supports on-site installation, testing, and commissioning of data center power systems like switchgear, transformers, UPS, and generators. Requires 5+ years experience, Bachelor's in Electrical Engineering, and 50%+ travel to sites.
Production Engineer responsible for building and operating scalable infrastructure, driving reliability and architecture initiatives, and enabling product teams through platform tooling. Requires software engineering experience, distributed-systems expertise, cloud experience, and cross-team technical leadership.