
15 Nov Senior Software Engineer

Senior Software Engineer
Brown University and Massachusetts General Hospital
The BrainGate research team is developing an intracortical brain-computer interface (iBCI) designed to enable individuals with paralysis to control computers and assistive devices with their thoughts.
Our team is part of a research consortium spanning academic and clinical institutions that brings together experts in engineering, neuroscience, and neurology to create a high-performance brain- computer interface for use in the home.
Job Description
The Senior Software Engineer plays a pivotal role in the development and implementation of cutting- edge neurotechnology software using a variety of languages and technologies. This position, based primarily with our research group on the campus of Brown University (with the option of a one or two days per week in our Boston office at Massachusetts General Hospital), will be responsible for extending the feature set of the BrainGate iBCI system to promote at-home, independent use by nontechnical end users and their caregivers. Specifically, you will help design and develop full stack software for data processing, user interfaces, and configuration management across the BrainGate system network of computers. You will lead engineering efforts and apply best practices to adapt the current and highly complex BrainGate research platform software and hardware for remote deployment in the home environment requiring minimal technical support in the field. You will have a lead role in designing, writing, testing, and integrating software into the iBCI system, deploying it for independent use in the home, and managing effective responses to issues that arise after deployment.
Responsibilities
- Develop, validate and maintain sophisticated real-time applications using Python, MATLAB and C.
- Develop and refactor web / mobile software in JavaScript, React and similar technologies.
- Implement low-latency inter-process and inter-machine communication using a variety of appropriate software methods and technologies including UDP, WebSockets, Redis, and C.
- Support and extend Simulink models implementing real-time digital signal processing and network data streaming.
- Consistently discover and integrate the most effective and up-to-date software libraries, technologies, and open-source solutions for optimal development efficiency and functionality.
- Integrate the OS, drivers, and hardware interfaces necessary to enable low-latency communication with various robotic and peripheral devices, home automation, trackers, etc.
- Apply a user-focused mindset to own software and system development from design through development to successful deployment in the home.
- Lead timely response and resolution of issues arising in the iBCI system in the field.
- Develop accurate, sustainable, and well-documented software, adhering to effective coding standards and best practices.
- Champion GitHub and Docker/ Conda best practices for code revision, management, and distribution.
- Identify and perform other tasks as assigned or as required by the situation and circumstances.
Required Skills
- Proficiency programming in JavaScript, React/Redux, Electron/Capacitor or other similar web / mobile / front-end coding is required.
- In-depth experience designing and programming for low-latency inter-process and inter-machine data communication using UDP, WebSockets, shared memory and mutex methods in C.
- Familiarity integrating hardware interfaces and drivers for low-latency data streaming and communication with various devices (peripherals, robotics, home automation, eye trackers).
- Experience with SIMULINK, Verilog, or VHDL model design and simulation.
- Expert in Agile processes and team project management tools (Jira, Asana, or similar).
- Expertise in GitHub version control and pull requests in a team-based project environment.
- Demonstrated ability to develop sustainable and well-documented software while adhering to effective coding standards and best practices.
- Demonstrated ability to discover, evaluate, and apply the most effective and current software technologies, libraries, and open-source solutions.
- Demonstrated capability resolving software and system bugs efficiently and effectively.
- Proven ability to take initiative working both independently and as a critical member of a high- performance cross-functional team.
- Demonstrated capability as highly organized and creative problem-solver.
- Ability to align priorities and decisions with project objectives in a rapidly-changing, high-demand environment.
- Strong skills in leadership, verbal and written communication, and technical documentation.
Qualifications
- A Bachelor’s degree in Computer Science, Electrical Engineering, or related field is required. Master’s degree preferred.
- Minimum of 4+ years of in-depth experience with Python, C and at least one more programming language (MATLAB, JavaScript) required. Experience with SIMULINK is a plus.
- Minimum of 4+ years of experience designing, developing, and implementing software in a team environment.
- Strong consideration for candidates with:
- Experience in iOS application development and deployment.
- Working knowledge of multivariate data processing and matrix manipulation including dimensionality reduction (PCA, FA, LDA), discriminant analysis, and Markov models.
- Experience programming real-time games in Unity (C#) or similar engine.
- Hands-on experience with AWS (EC2, S3) or Azure or other cloud providers.
Work Environment
- Work is based in our BrainGate lab on the Brown University campus (Providence, RI) at least 3 days per week.
- There is the option of working in our MGH office (Boston, MA) or remotely 1-2 days per week.
- May be required to travel to various external participating sites.
Join Our Team
If you are a passionate engineer with a substantial experience developing software spanning a variety of frameworks and languages with skills to integrate software in a complex state-of-the-art processing system, we encourage you to apply now and join our high-performance team leading the field of brain-computer interface technology.
Apply on the Mass General Brigham website here: Senior Software Engineer (click “Sign In” to create an applicant account)
To learn more about the research, see BrainGate.org.
For questions, contact or Ronnie_Gross@brown.edu or John_Simeral@brown.edu.
Sorry, the comment form is closed at this time.