Software developer – system programming
- 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 software developer, you will integrate a team dedicated to real-time bio-signal processing and you will develop the data processing architecture and toolkit for bio-signal processing and acquisition.
In particular, you will:
- Participate in the design of the bio-signal data processing infrastructure;
- Develop and implement the infrastructure for bio-signal data processing;
- Develop and debug driver code to interact with new acquisition hardware (whether it be developed by Mindmaze or third parties);
- Write design documentation.
Qualifications
- Initial Experience in system programming;
- Mastering C programming (ISO C99 or ISO C11);
- Knowledge of POSIX API relative to socket handling and shared memory;
- 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.);
- Knowledge of Windows environments;
- Experience with programming USB devices;
- Experience with programming Bluetooth devices;
- Good knowledge of C++.
Additional Information
To be successful, you can illustrate the fact that you have the following abilities:
- 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.