Senior NPU SDK Software Engineer
Innatera NanosystemsJob Title
Senior NPU SDK Software Engineer
Role Summary
Join the SDK team to own the Python API, PyTorch integration, and compiler toolchain for Innatera’s energy-efficient neuromorphic NPU. You will develop simulator, compiler, runtime, and SDK infrastructure to enable end-to-end edge-AI applications and collaborate closely with hardware, firmware, and applications teams.
Experience Level
Senior. Years of experience: not specified.
Responsibilities
Primary responsibilities include delivering SDK components, ensuring quality, and supporting internal and external users.
- Own full lifecycle of SDK features in a component (simulator & compiler, or API & infrastructure).
- Develop and maintain the Python programming API and related tooling for the NPU.
- Customize and integrate PyTorch support for the target hardware, including low-level internals.
- Design and implement compiler passes and optimizations for end-to-end applications.
- Define and uphold code quality, testing, documentation, and release readiness.
- Conduct code reviews and improve engineering practices within the team.
- Translate algorithms and hardware specifications into efficient, testable software behavior.
- Provide technical support to internal teams and customers to accelerate application development and resolve issues.
- Identify and mitigate performance bottlenecks affecting power, latency, and resource usage.
Requirements
Must-have technical skills and behaviors:
- Strong Python development skills.
- Extensive experience with PyTorch and its customization, including knowledge of internal mechanics.
- Proven track record designing modular, maintainable, and testable software architectures.
- Experience with low-power, resource-constrained embedded programming.
- Familiarity with hardware/software co-design concepts and effective cross-functional collaboration.
- Excellent communication skills and a willingness to support customers and partner teams.
- Flexible, growth-oriented mindset with eagerness to learn new tools and technologies.
Nice-to-have:
- Modern C++ (C++17/20) experience or willingness to expand into C++.
- Exposure to bare-metal firmware development.
- Understanding of computer architecture (ARM or RISC-V) and basic digital design.
- Familiarity with ML compilers (MLIR, IREE, PyTorch compiler) or Edge/TinyML runtimes (TensorFlow Lite Micro, execuTorch).
- Knowledge of Spiking Neural Networks (SNN).
Education Requirements
Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
About the Company
Company: Innatera Nanosystems
Headquarters: Rijswijk, Netherlands
Dutch semiconductor company developing ultra-efficient neuromorphic processors and SDKs for edge AI. Their microprocessors mimic brain-like processing of sensor data to enable low-power, real-time analytics for IoT, wearable, embedded, and automotive applications.
