Software Engineer (Over-the-Air Updates)
Posted Updated
- As a Software Engineer - Over-the-Air (OTA) Updates at Applied Intuition, you will be at the forefront of developing cutting-edge remote software update systems that enable seamless deployment of firmware, applications, and configuration updates to connected devices at scale
- You will work on sophisticated OTA platforms that combine secure delivery mechanisms, cloud infrastructure, and device management to ensure reliable, secure, and efficient software updates across distributed device fleets
- This role offers the opportunity to contribute to the rapidly growing OTA market, building scalable update systems that handle millions of devices and support mission-critical applications across various industries
- 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
- Experience with cloud platforms and DevOps practices including AWS, Azure, or GCP services, along with CI/CD pipelines, infrastructure as code, and containerization technologies
- Understanding of content delivery networks (CDNs) and package delivery networks (PDNs) for efficient global distribution of software updates
- 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
- 4+ years of experience in distributed systems development with strong proficiency in C++ and Go, and experience building scalable cloud-native applications
- Don’t meet every single requirement? If you’re excited about this role but your past experience doesn’t align perfectly with every qualification in the job description, we encourage you to apply anyway. You may be just the right candidate for this or other roles
- Experience with Go’s cloud development ecosystem including Go Cloud, gRPC, and other tools for building portable cloud applications
- Experience with OTA frameworks and tools such as Mender, RAUC, SWUpdate, or similar platforms for managing firmware and software updates
- Understanding of fleet management systems and experience with device monitoring, remote diagnostics, and large-scale device lifecycle management
- Proficiency with distributed database systems for managing device inventories, update states, and telemetry data across large-scale deployments
- 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