Your mission
As a Software Engineer you will be responsible for the design and development of 1D/2D interactive user interfaces aimed at presenting real-time data from neural interfaces. Day-to-day activities include requirements gathering and communication with stakeholders, such as neurotechnology engineers and data scientists. Testing of user interfaces with live systems is a crucial aspect of the role, requiring collaboration with electronics and embedded software engineers responsible for developing the systems generating the data. It may also be involved in embedded software development activities.
Main responsibilities:
Real-Time Software Development:
- Design, develop, and optimize real-time systems interfacing with the physical world.
- Implement efficient algorithms for signal processing in real-time applications.
- Utilize C++ and C for robust real-time system development.
- Ensure code meets high-performance requirements through rigorous testing and optimization.
- Manage and visualize real-time data streams at high bit rates, ensuring data integrity and reliability.
- Leverage Python for scripting and other development tasks.
- Prior experience with brain signals or audio processing or similar is advantageous.
- Develop 2D plots and interactive GUIs for effective real-time data representation.
- Optimize visualization tools for enhanced performance.
- Apply knowledge of hardware and demonstrate proficiency in cross-system communication.
- Implement synchronization mechanisms for seamless integration across diverse platforms.
- Collaborate with cross-functional teams, including hardware engineers and software developers.
- Thoroughly document design specifications, code, and implementation details.