HDMMZ002
90
Mid-level / Full-time / On-site / HDMMZ002

System programmer

Job Summary

Our partner is the world’s leading Neurotechnology startup built on more than a decade of pioneering research at the intersection of virtual reality and neuroscience. Their breakthrough platform combines virtual & augmented reality, neuroscience and AI to build intuitive human machine interfaces. Their first products help patients suffering from severe disabilities following a neurological incident. Join their eclectic mix of scientists, physicists, engineers and clinicians to help change the world!

As a system programmer, you will integrate a team dedicated to the software architecture of the complete software stack used in our products.

In particular, you will:

  • Participate in the design of the system architecture of embedded software used in products;
  • Provide expertise to engineering teams regarding system architecture and optimization;
  • Develop and implement the low level code infrastructure to support the work of engineering teams;
  • Develop and debug driver code to interact with third-party or new acquisition hardware;
  • Write comprehensive design documentation.

To be successful, you can illustrate the fact that you have the following abilities:

  • Ability to reason and spot corner cases by reading source code;
  • Working autonomously: setting tasks and direction under limited supervision;
  • Oral and written communication: ability to write clearly and succinctly in a variety of communication settings and styles; ability to get messages across that have the desired effect;
  • Problem solving: Using rigorous logic and methods to solve difficult problems with effective solutions; having an excellent at honest analysis; looking beyond the obvious and not stop at the first answers;
  • Planning accurately: setting objectives and goals; breaking down work into the process steps; developing schedules and task/people assignments; anticipating and adjusting to problems and roadblocks.

Qualifications

  • Initial experience in system programming;
  • Ability to design efficient and maintainable API/ABI of shared libraries
  • Mastering C programming;
  • Knowledge of POSIX API relative to interprocess synchronization (socket, memory shared...);
  • Multithreaded programming
  • At ease with development on Linux platforms;
  • Minimum C1 level of English;

Icing on the cake:

  • Demonstrable interest for development outside the working environment (e.g. Personal projects, blogger, Open Source, papers, Stack Overflow, GitHub, etc.);
  • Good knowledge of C++.
  • General understanding of how modern common CPU architectures work and interact with memory and peripherals
  • Knowledge of Windows environments;
  • Experience with programming USB devices;
  • Experience with programming Bluetooth devices;
c API/ABI posix multithreading linux
Request more details

Once submitting the form, you will instantly access all the information we have on the job: project(s), salary, team, etc.