Research Software Engineer, Scientific Instrumentation
Summary
The Research Software Engineer will build and maintain software for scientific instrument control, data acquisition, and visualization to support brain-computer interface research. The role involves working with Python to integrate hardware, manage data pipelines, and collaborate directly with scientists in a laboratory setting.
The Opportunity
Subsense is looking for a Research Software Engineer, Scientific Instrumentation to build the software foundation that connects our experimental hardware, scientific instruments, and data. In this role, you’ll work directly with scientists and engineers to translate complex laboratory workflows into reliable, intuitive software for instrument control, data acquisition, real-time visualization, experimental monitoring, and data handling.
This is a highly hands-on role for an engineer who enjoys working at the intersection of software, hardware, and experimental science. You’ll help establish scalable patterns for how instruments are integrated, how multiple data streams are synchronized, and how experimental data moves from acquisition through storage and downstream analysis. You’ll have meaningful ownership over the tools researchers use every day and the opportunity to shape the scientific software infrastructure of a growing R&D organization.
Key Responsibilities
- Build and maintain Python interfaces for lab equipment and scientific instruments, using ScopeFoundry or similar instrument-control frameworks where appropriate.
- Develop applications for instrument control, data acquisition, real-time visualization, recording, and experimental monitoring.
- Design reliable software for synchronized, high-throughput acquisition from multiple instruments and data streams.
- Build data ingestion and conversion pipelines for large scientific datasets, maintaining consistency between acquired data, derived data, and experimental metadata.
- Work directly with scientists to turn experimental workflows into robust, usable software.
- Maintain and improve existing laboratory software, and establish common patterns for instrument interfaces, acquisition, logging, and data storage.
- Troubleshoot hardware/software integration issues in the lab in collaboration with scientists and hardware engineers.
- Help establish and maintain reliable data handling from acquisition through storage and downstream use, and ensure acquired data meets minimum data standardization requirements.
What You'll Bring
- 3+ years of relevant professional or equivalent experience. Degree in Computer Science, Computer Engineering, Electrical Engineering, a computational science, or a related field, or equivalent practical experience.
- Strong software engineering skills in Python and experience building maintainable production or research software.
- Experience building desktop applications or user interfaces for scientific or technical users (PyQt/PySide, Qt, or a comparable framework).
- Hands-on experience interfacing software with scientific instruments, DAQ hardware, cameras, sensors, controllers, or other physical devices.
- Experience designing parallel acquisition, processing, visualization, and/or instrument control software.
- Experience working with scientific datasets and chunked scientific data formats such as Zarr, HDF5, or similar
- Experience working closely with scientists or engineers and an understanding of experimental/scientific workflows.
- Flexibility and willingness to wear multiple hats as a part of a growing team of computational and data scientists.
Nice to Have
- C++ experience, particularly for performance-critical or hardware-interfacing/device code.
- Experience synchronizing acquisition or control across multiple instruments or multimodal data streams.
- Experience with instrument-control packages like ScopeFoundry and/or general Python instrumentation packages like PyVisa
- Experience with scientific visualization libraries such as pyqtgraph, Matplotlib, or Plotly
- Basic understanding of signal processing
- Data engineering experience, including schemas, pipelines, databases, or PostgreSQL.
- Background in neuroscience, biotechnology, or another experimental science.
As published by lever
Resume/CV, Full name, Email, Phone, Current location, Current company, LinkedIn URL
- This role is full-time and onsite in Palo Alto/Mountain View CA. Are you comfortable commuting to this location, or would you be able to relocate if needed? choose one
- Are you legally authorized to work in the United States? choose one
- Will you now, or in the future, require sponsorship for employment visa status (e.g. H-1B visa status)? choose one
- Are you available to start immediately (within 1-2 weeks of job offer)? choose one
- Do you have experience writing Python code for controlling or taking measurements with physical scientific instruments? choose one
- Do you have experience working with scientific data formats? choose one
- Describe a piece of software you've written that was used by others in a scientific/research setting, including what need(s) it addressed. written answer