GrAI Matter Labs (www.graimatterlabs.ai) is a growing fabless semiconductor company with offices in San Jose, Paris and Eindhoven offering its employees tremendous growth opportunities in some of today’s hottest silicon technologies: Neuromorphic compute, Machine learning, and Artificial intelligence.

We are looking for C/C++ Embedded Software Developers to join our Application team based in Paris.

You will develop the software stacks that will drive and exercise the revolutionary AI engines embedded in our product Systems on Chip (SoC). Your software will bring to life ultra-low-power devices in the remotest corners of the internet-of-things.

The Application team is involved throughout the development life cycle of the Neuromorphic Processor, from architectural concept to application deployment in the field. As a member of this team, you will work closely with our system architects, hardware designers, and tooling developers and product managers. As such, you will:

  • Contribute to the validation of our Neuromorphic processor architectures,
  • Support the HW design phase by providing test applications,
  • Contribute to the requirement definition of the SW development tools (compiler, IDE, …) for the Processor
  • Support our ecosystem with sample code and libraries.
  • Define and develop real world applications in selected business verticals.

Responsibilities

You will be responsible for run-time software development in the broadest sense, ranging from end-user applications to operating system kernels. You will cover drivers, neural networks, and neuromorphic processor firmware.
Your software and firmware will be applied in the development of end-to-end applications of artificial intelligence SoCs, in various high-growth markets. Our run-time environments will also be used by customer teams to develop end-to-end applications running on our artificial intelligence SoCs.

Requirements

  • M.Sc in Computer Science, Electrical Engineering or related field;
  • Excellent programming skills in C/C++ for embedded system
  • Experience with software architecture, design and development in a test-driven environment
  • Experience of parallel computing (eg., multithreading, hyper threading, GPU, …)
  • Kernel knowledge
  • Familiarity with Agile development methodologies
  • Ability to learn new languages and technologies
  • Excellent communication skills in English (both speaking and writing).
  • Excellent problem analysis skills, resourcefulness and troubleshooting aptitude
  • Attention to detail
  • Team player with good interpersonal skills

Nice to have

  • Experience with Board Support Package (like Yocto, buildroot, ...)
  • Experience with RTOS
  • Experience with FPGA