Developing software architectural design, implementing, maintaining and testing up to medium-scale embedded software components (e.g. complex device drivers, drivers that manage a small set of simple devices or other software systems of equivalent complexity);
Debugging and resolving complex issues in embedded systems, and performing root cause investigations for bugs utilizing tools such as oscilloscopes, logic analyzers, and hardware debuggers;
Planning software development activities for a small technical team (1 - 2 members), breaking larger work packages into tasks and estimating effort ensuring planned items are delivered on time and at the required quality;
Providing consultation on development strategy and assert related risks and technical gaps as early as possible;
Promoting best engineering practices and demonstrating sufficient knowledge and expertise in own developments and by providing feedback on fellow engineers’ work;
Designing and implementing verification platforms for all stages of product verification (IC verification, embedded software verification);
Developing requirements for embedded software components of all complexity levels;
Implementing and maintaining tests for embedded software (e.g. embedded test programs, scripts);
Collaborating with engineers of different disciplines in requirements and design activities of embedded software (e.g. application development, hardware development);
Proposing improvements on development processes and strategies;
Consulting less experienced engineers, providing coaching and training in selected areas of embedded software development.
MSc or BSc degree in electrical engineering, computer science or equivalent;
8+ years experience in Embedded Software development with the C programming language;
Experience in HIL testing for embedded targets with a hardware debugger or other tools;
Experience with formal architectural design techniques, tools and notations;
Experience with Continuous Integration platforms and test automation;
Good understanding of and basic development skill in assembly language for RISC architectures, especially RISCV;
Experience with working with Python;
Experience with Version Control Systems, especially Git and Gitlab;
Familiarity with Machine Learning concepts, Artificial Intelligence and Artificial Neural Networks;
Experience with Mixed-signal Integrated Circuit development processes;
Knowledge of analog and digital electrical circuits;
Knowledge of bootloaders, Boot ROM development, and secure boot processes.
Exceptional analytical skills and attention to detail;
Good organizational, planning, documentation and technical leadership abilities;
Strong communication skills, with the ability to collaborate effectively across teams;
Ability to manage multiple priorities and meet tight deadlines.
At Innatera, you'll be part of a team shaping the future of AI hardware. Your work will help create solutions that power intelligent devices, improving industries and empowering everyday life, from consumer electronics to healthcare.
Our culture of technical excellence, collaboration, and real-world impact provides a unique opportunity to work alongside disruptive innovators, talented engineers, researchers and specialists. As part of our team, we recognize that your expertise and dedication are invaluable. To ensure your success and well-being, we offer a comprehensive benefits package: