This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
Lead the productionalization of our IoT platform, with a primary emphasis on the software that runs on edge IoT devices. This edge software includes machine learning, optimization algorithms, and components that host these capabilities that must meet high standards of performance, security, reliability, and accuracy.
Job Responsibility:
Design, propose, plan, implement, and test resource-constrained, edge software in Python (and possibly lower-level languages, e.g., Rust) including the implementation of precision telemetry collection, real-time control interfaces, and robust system observability
Create and maintain CI/CD processes as necessary to support development and deployment with a focus on reproducibility, regression testing for embedded systems, and deployment in real-world, intermittently connected environments
Contribute to internal and external technical documentation
Collaborate with a cross-functional team of software, hardware, quality assurance (QA), and power systems engineers
data scientists
and leadership
Provide high-quality, in-depth code and architecture reviews, implement new features, and provide technical leadership while coordinating with project management, QA, and other internal teams
Continually advocate for and implement process improvement and automation
Foster a culture of open communication, innovation, and continual improvement
Mentor other engineers using paired programming, code review, and collaborative test scenario design
Requirements:
8+ years of professional experience including 5+ years of experience developing production software and systems, or a combination of educational and professional experience commensurate with this level of experience
Demonstrated ability to design and implement distributed systems utilizing microservices in a resource-constrained environment (edge devices with limited memory, CPUs, GPU capacity, etc.)
Extensive experience using Python, C/C++, Rust, and the Linux operating system
Experience with device layered security, i.e. encryption (PKI), disk partitioning, secure boot, os kernel libraries, device drivers, os processes/daemons
Data compression and schema management for device time series data
Experience implementing and maintaining CI/CD workflows (e.g., GitHub Actions or Jenkins)
Strong understanding of synchronous and asynchronous network communication, including REST APIs, gRPC, binary protocols, and distributed publish/subscribe messaging systems and protocols like MQTT and ZeroMQ
Strong written and oral communication skills, with a proven track record of working effectively both individually and as part of a team
Willingness to travel up to 10% of time
Nice to have:
Experience designing, building and deploying applications and reusable libraries based on the NVIDIA ML software stack on the Jetson Platform
Experience with system integration testing including HIL and SIL
Understanding of SQL/NoSQL Database implementations (SQLite, Redis, Postgres, etc)
Well-versed in Docker/containerization
Hands-on knowledge of cloud platforms and services focused on IoT device management, security and OTA updates (AWS, Azure) preferably in the scale of million devices including managing release/versioning strategies and monitoring fleet-wide performance metrics
Experience with control systems applications (e.g. industrial processes, manufacturing, commercial buildings, SCADA) and/or power systems
Experience working with software and systems deployed in modern data center environments, including telemetry ingestion, rack-level integration, and coordination with orchestration platforms
Experience with Shell scripting, helm charts, ansible, and prometheus tools