Software Engineer We seek a software engineer to contribute to the next generation of physical and edge AI platforms on Arm. Your work will focus on building foundational software for AI tasks such as vision, robotics, speech, and intelligence based on sensor input. This software enables AI workloads to be deployed, managed, and used optimally on the device, independent of cloud services.
You will focus on building platform-level services, developer tooling, and runtime infrastructure that boost developer efficiency and make advanced AI capabilities accessible through clean, stable abstractions. This is a high-impact role working on systems that sit at the intersection of distributed systems, edge computing, and AI infrastructure.
Key Responsibilities Platform & Systems Development
Build and implement reliable, scalable system services for edge and physical AI workloads.
Develop runtime infrastructure that enables deployment, lifecycle management, and updates of AI-powered components on-device.
Develop abstractions that decouple applications from underlying AI frameworks, models, and hardware accelerators.
Developer Experience & Tooling
Build APIs, SDKs, and developer tooling that streamline how engineers build and integrate AI-powered features.
Improve end-to-end developer workflows, from local development to on-device deployment and updates.
Build observability and diagnostics capabilities to help developers understand performance, failures, and system behavior.
Performance, Reliability, and Scale
Build software that performs reliably under edge constraints such as limited resources, real-time requirements, and heterogeneous hardware.
Contribute to system-level performance optimization across CPUs and AI accelerators.
Ensure systems are maintainable, testable, and robust in production environments.
Multi-Functional Collaboration
Work closely with architects, product managers, and AI engineers to build platform capabilities and developer-facing abstractions.
Collaborate across teams to build clean APIs, service boundaries, and integration points.
Contribute to reference implementations, documentation, and example workflows.
Vital Skills and Experience
Strong experience crafting and building systems software, platform services, or distributed systems in production.
Proficiency in C/C++, Rust, Go, or Python (language choice depends on component).
Solid understanding of Linux-based systems, process isolation, IPC, and service lifecycles, API build and versioning, experience building developer platforms, SDKs, or internal tooling, strong fundamentals in algorithms, data structures, and performance optimization, ability to work across multiple layers of the stack, from APIs down to system behavior, excellent problem-solving, communication, and collaboration skills.
Preferred Skills and Experience
Experience with container technologies and modern packaging/deployment approaches.
Familiarity with edge computing, embedded Linux, or real-time systems.
Exposure to AI/ML inference systems, even from a platform or infrastructure perspective.
Experience with heterogeneous computing (CPUs, GPUs, NPUs, DSPs).
Background in robotics, vision systems, or physical AI applications.
Contributions to open-source systems or developer tooling projects.
Familiarity with security concepts such as secure boot, isolation, or attestation.
Why This Role Matters
Edge and physical AI systems impose outstanding requirements on software platforms. These platforms need to be secure, reliable, updatable, and easy for developers to use. They must also function within real-world limits not found in the cloud.
This role involves guiding the development and deployment of AI on Arm-powered devices used in real-world scenarios. You will help build platforms that unlock new application categories in robotics, industrial systems, and consumer technology. It offers a chance to create a strong impact on the future of AI!