The Department of Ophthalmology in the School of Medicine at Stanford University is launching an interdisciplinary Neuro-AI project dedicated to building a foundation model of the brain. This endeavor will involve multiple labs and faculty across the Stanford campus, including the Wu Tsai Neurosciences Institute, Stanford Bio-X, and the Human-Centered Artificial Intelligence Institute. Leveraging cutting-edge advances in electrophysiology and machine learning, this project aims to create a functional "digital twin" — a model that captures both the activity dynamics of the brain at cellular resolution and the intelligent behavior it generates, including perception, motor planning, learning, reasoning, and problem-solving.
This ambitious initiative promises to offer unprecedented insights into the brain's algorithms of perception and cognition while serving as a key resource for aligning artificial intelligence models with human-like neural representations. As part of this project, we are seeking talented software developers/engineers to support the whole team by developing and scaling the systems that allow our scientists to iterate quickly. In this role, you will play a critical role in ensuring the reproducibility and production-readiness of our codebase, as well as implementing Continuous Integration and Continuous Deployment (CI/CD) processes for all teams involved in the project. Your work will be essential in maintaining the highest standards of software quality, reliability, and efficiency.
This position promises a vibrant and cooperative atmosphere within the laboratories of Andreas Tolias (https://toliaslab.org), Tirin Moore (https://www.moorelabstanford.com) and other labs at Stanford University renowned for their expertise in perception, cognition, pioneering neural recording techniques, computational neuroscience, machine learning, and Neuro-AI research.
Duties include
- Assess user needs and requirements.
- Design and develop applications that may involve sophisticated data manipulation.
- Maintain and update existing programs.
- Troubleshoot and solve technical problems.
- Create programs to meet reporting and analysis needs.
- Design and implement user and operations training programs.
- Document changes in software for end users.
- Follow team software development methodology.
- Serve as technical resource with respect to applications.
- * - Other duties may also be assigned
Desired Qualifications
- 3+ years of experience in developing and maintaining production-grade codebases
- Strong programming skills in Python and system-level languages (e.g. C/C++, Rust)
- In-depth experience with version control systems like Git and collaborative development platforms like GitHub
- Experience setting up and maintaining CI/CD principles through tools such as GitHub Actions and Jenkins
- Strong understanding and experience in test-driven software development with knowledge of different testing methodologies such as unit testing, integration testing, and end-to-end testing
- Excellent problem-solving, communication, and collaboration skills
- Ability to work effectively in a fast-paced, multidisciplinary environment
- Experience with containerization technologies like Docker and orchestration platforms like Kubernetes and Slurm
- Experience with the challenges of scientific software development
- Knowledge of software design patterns and architectures
- Experience contributing to and/or maintaining open-source software projects or libraries
- Familiarity with machine learning frameworks such as TensorFlow or PyTorch
What we offer
- Work on a collaborative and uniquely positioned project spanning several disciplines, from neuroscience to artificial intelligence and engineering.
- Work jointly with a vibrant team of researchers and scientists in a project dedicated to one mission, rooted in academia but inspired by science in industry.
- Competitive salary and benefits.
- Strong mentoring in career development.
Core Duties
- Assess user needs and requirements.
- Design and develop applications that may involve sophisticated data manipulation.
- Maintain and update existing programs.
- Troubleshoot and solve technical problems.
- Create programs to meet reporting and analysis needs.
- Design and implement user and operations training programs.
- Document changes in software for end users.
- Follow team software development methodology.
- Serve as a technical resource with respect to applications.
Minimum Education and Experience
Bachelor's degree and three years of relevant experience or a combination of education and relevant experience.
Knowledge, Skills and Abilities
- Working knowledge of latest software and design standards.
- Ability to define and solve logical problems for technical applications.
- Knowledge of and ability to select, adapt, and effectively use a variety of programming methods.
- Ability to recognize and recommend needed changes in user and/or operations procedures.
- Basic knowledge of software engineering principles.
- Strong knowledge of at least one programming language.
Find Your Best Opportunity
Tell them AcademicJobs.com sent you!

