Software Engineer I- Neural Data Processing, Moore Lab
Howard Hughes Medical InstituteAbout the role
Current HHMI Employees, click here to apply via your Workday account.
The laboratory of Professor Tirin Moore at Stanford University is seeking a Software Engineer. The Moore lab seeks to understand the neural circuits underlying fundamental perceptual and cognitive functions. In addition, the team is committed to developing and implementing novel and innovative tools, technologies and approaches to fundamental problems in systems and circuit-level neuroscience. For more information about the lab check out: https://www.moorelabstanford.com/ .
About the role:
The role will be in-person with hybrid flexibility and is a perfect opportunity for someone looking for a 1-year, fixed-term project. We are looking for a software engineer to develop new features and extend the capabilities of a real-time neural data processing and decoding platform. This includes optimizing GPU-accelerated signal processing pipelines, improving system performance under strict latency constraints, and building robust interfaces for experimental workflows. The engineer will also help maintain the codebase by triaging and resolving GitHub issues, reviewing contributions, and addressing bugs that arise as the platform is used in active research settings. The platform is built in C++ with CUDA-based computation running on NVIDIA GPUs, and is being developed both for use within the Moore Lab and for broader adoption by the global neuroscience research community.
What we provide:
A team that believes in continuous learning and cultivates an environment where all members of the group help each other.
Opportunity for growth as a software developer in areas such as CUDA programming, analysis of neural data, machine learning model applications, and real-time applications
Opportunities to learn more about systems neuroscience and neuroengineering
One on one mentorship with graduate students and postdocs
Understanding of project management and system level design of an experimental computer application
Experimental experience with electrophysiological tools, and neurophysiological data such as neuronal spiking activity, local field potentials, and eye tracking
A team culture that champions a healthy work life balance
A competitive compensation package, with comprehensive health and welfare benefits
Opportunities for involvement in authoring research articles and development of scientific communication skills
What you’ll do:
Write good code, which means learning to make implementation decisions based on (a) understanding the software development lifecycle, spanning customer requirements, planning, design, prototyping, agile feedback, implementation, maintenance, testing, requirements staging, (b) technology selection, (c) implementation style (degree of object orientation, degree of performance optimization, framework leverage), (d) likelihood of reusability or service containerization, (e) documentation requirements.
Be responsive to scientists, labs, and projects. Attend meetings, brainstorm sessions, building working relationships with scientists, post-docs, and other software developers and project stakeholders. Active solicitation of feedback and prioritization is important, as is timely delivery of working software components.
Continuously improve and build software skillset, to increase their impact and project versatility. Additionally, new projects will often require becoming familiar with specific tools, frameworks, and techniques. Learning is expected to be a core job responsibility.
Will effectively communicate with both scientists and team members, including ad-hoc conversations, meetings, presentations, emails, and group collaboration tools as-needed.
Collaborate with other team members on technology decisions, coding style, and workflow prioritization. This will require the free give and take of ideas and sometimes require compromising individual preferences.
Support software packages for collaborators and the community.
What you bring:
Bachelor’s degree in an engineering or scientific discipline, or equivalent work experience
Minimum of one year of experience in software development
Experience with scientific programming and algorithms is desirable
Experience working in a research environment a plus
Ge
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s