BrainGate Providence RI, USA company Logo on NeurotechX Services

Software Engineer – Back End Developer

GENERAL SUMMARY

The BrainGate Neural Interface System research team is seeking a versatile and highly skilled Backend Software Engineer to contribute to a fast-paced engineering project that will define the future of brain-implantable neural interface technology to improve communication and independence for people with severe motor disabilities. Experience across a range of backend software technologies and approaches is required. This is a regular, benefited MGH position funded for 1 year and embedded on site with our collaborating team in the School of Engineering at Brown University in Providence, RI.

The successful candidate will have demonstrable professional experience in the design, implementation, integration, testing and deployment of backend software and systems, including software development in both team-based and independent projects. Academic software training should be complemented by exploration of, and fluency with, a diversity of relevant backend tools.

 

PRINCIPAL DUTIES AND RESPONSIBILITIES

Relevant activities include, but are not limited to the following:

    • Design and implement software to integrate information flow among multiple devices and data streams throughout the brain-computer interface platform
    • Define and implement client-side and server-side software components with low-latency, real-time data flow capabilities
    • Collaborate with team engineers, clinicians and neuroscientists to help architect device communication protocols and system integration approaches to provide management and control of the entire multi-device real-time system
    • Work closely with front-end UI/UX developer to
      • develop data structures, database approaches, and software to manage, store, and update system status and configuration information and communicate these across system devices, and
      • enable low-latency browser-based graphing of high-bandwidth streaming data
    • Develop and deploy backend components in multiple OS/architectures Windows, *nix, ARM, iOS, and Android
    • Design, implement and execute verification tests for software modules and systems
    • Clearly and effectively communicate design processes, ideas and solutions to all stakeholders
    • Introduce and implement best practices & processes for coding & design
    • Write exceptional, well-documented modular code supportable and extensible by both experts and support staff
    • Support and integrate a small body of existing in-house real-time C/C++ software

 

Qualifications

  • SKILLS AND COMPETENCIES
  • Required Skills / competencies:
    • BS or MS degree in Computer Science, Computer/Electrical Engineering or related field with 3-5 years of experience
    • Demonstrated professional programming experience and portfolio across a variety of platforms with high proficiency in relevant languages and technologies
    • Proficiency in several candidate languages such as C/C++, Python, C#, Go, high performance communication and graphics libraries
    • Solid programming experience with low-latency communication of high-bandwidth data traffic across wired and/or wireless interfaces (UDP, Bluetooth, USB) for visualization, disk storage or streaming inter-device communication
    • Experience with a variety of database architectures including NoSQL and time series
    • Experience with web technologies such as Web Sockets, HTML5, ZeroMQ, JavaScript (ES6 syntax), Node.js
    • Experience in agile or agile-like development in small, high performance teams
    • Proficiency with code versioning and collaborative development tools
    • Skill in creating test suites and performing code verification and validation
    • Outstanding communication and presentation skills
  • Preferred Skills:
    • Programming for real-time low-latency, high-frequency web-based graphing using efficient and reliable packages
    • Hands-on familiarity programming in Matlab and/or Simulink
    • Experience with embedded systems, Zynq SoC, Zynq Ultrascale
    • Experience enabling remote access/support solutions
    • Software development for medical device or health care applications
    • Working knowledge of digital signals, digital sampling, bandpass filters
    • Experience in both industry and research settings
    • Experience programming in one or more game engines / environments such as JS, Phaser, Lua3D, Matter.js or Unity3D, including physics features and communication of game control /status over UDP I/O
    • Demonstrated interest in neuroscience, brain-computer interfaces and/or assistive technologies for people with disability
    • Familiarity with neuroscience and electrical brain signals (action potentials, local field potentials)

 

EEO Statement

Massachusetts General Hospital is an Equal Opportunity Employer. By embracing diverse skills, perspectives and ideas, we choose to lead. Applications from protected veterans and individuals with disabilities are strongly encouraged.

 

Please click here to apply.

 

No Comments

Sorry, the comment form is closed at this time.