Embedded Software Engineer

Context:

GreenWaves Technologies is a fabless semiconductor start-up with headquarters in Grenoble, France and offices in Bologna (Italy) and Shanghai (China). We design powerful, highly efficient and easy to program ultra-low-power  AI+DSP processors based on RISC-V. GreenWaves’ mission is to enable the sensing edge wherever it might get to. We started from AIoT, we are getting into hearables. We will move on to medical wearables and will move on to automotive.

Our first product GAP8 has been the first AI MCU in the market and among the very first openly programmable RISC-V processors. It enables battery powered devices for people counting, people detection, face identification, spoken language understanding, analogue meters reading and more.

Our second product GAP9  is leading the industry to deliver the best audio experience for hearables with features like clear voice, AI-driven ANC and 3D sound among others. Hearables is on its way to taking over smartphones in terms of innovation and volumes.

As a growing, talented and highly multicultural team with sharp personalities, we are proud of what we do and how we do it. Our non-hierarchical culture means living our core values: ownership, collaboration, agility, dedication to customers and engagement. We believe that work is more than just a to-do list. You are empowered to build a leading company and to share its success!

We are looking for talented, enthusiastic, and committed people to be a part of our GreenWaves family.

Responsibilities:

  • Development of embedded software on C/C++.
  • Development and optimization of low and middle-ware software layers for the GAP IoT Application Processor.
  • Contributions to SDK tools, in C/C++, Python and Perl, on Linux.
  • Active participation in the definition and architecture design of new products with joint driver/HW prototyping.
  • Conception of a test environment  for  SW on GAP boards.
  • Test plan development, with CI extension and maintenance, on boards and simulator.
  • Team Customer support.
  • Contributions to the SDK with documentation, examples and tests.
  • Implementation of software and training materials needed to promote our products at trade shows and customer visits.

This position requires numerous collaborations with all teams across the company (both on-site and remote): Hardware, Application, Systems Validation, Marketing …

Required skills:

  • Knowledge of microcontroller and microprocessor architectures
  • Firmware debugging on boards and simulator.
  • Basic IT admin (simple Fedora/Centos server setup)
  • Knowledge of container technologies (Podman or docker)
  • Perl or Python scripting
  • Experience with Gitlab CI or another CI environment
  • Mastery of C / C++ and assembler languages
  • Significant experience in microcontroller target development
  • Basic Linux application-level development, PC or Raspberry Pi
  • Ability to work autonomously and proactively, esp. in a Linux workstation environment
  • Strong team spirit and communication skills, eagerness to collaborate with teammates, on-site as well as remotely, share skills and advice, as well as learn new skills.
  • Ability to work comfortably in an international environment, exchanging by e-mail, telephone or conf-calls
  • Proficiency in English

Desired skills:

  • OpenOCD TCL scripting
  • RTOS Driver development
  • Notions in signal processing (Image or audio) and deep learning
  • Strong motivation and taste for code optimization (size and speed)
Job Type: Full time (CDI)
Job Category: Engineering
Job Location: Grenoble. France (Alsace-Lorraine near train/tram)
Remuneration: Competetive compensation and stock option plan

Apply for this position

Allowed Type(s): .pdf, .doc, .docx