System programmer

  • Full-time

Company Description

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

Job Description

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

In particular, you will:

  • Participate in the design of the system architecture of embedded software used in MindMaze products;
  • Provide expertise to engineering teams regarding system architecture and optimization;
  • Develop and implement the low level code infrastructure to support the work of MindMaze engineering teams;
  • Develop and debug driver code to interact with third-party or MindMaze's 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 (ISO C99 or ISO C11);
  • Knowledge of POSIX API relative to interprocess synchronization (socket, memory shared...);
  • Multithreaded programming
  • At ease with development on Linux platforms;
  • Min 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;

Additional Information

.

Privacy Policy