Software Engineer
Second Renaissance
About the role
About Forest Neurotech
At Forest Neurotech, we're building a deeper understanding and personalized treatment of the human brain through innovative neurotechnology. Our mission is to pioneer the next frontier in this field, and we seek passionate and experienced individuals to join us.
Forest Neurotech is developing ultrasound-based BCI and software platforms to advance understanding and personalized treatment of the human brain. Ultrasound can measure and stimulate brain activity minimally invasively, opening new research and therapy avenues. Forest has a partnership with Butterfly Network, accessing the only FDA-approved Ultrasound-on-Chip, and operates as a non-profit Focused Research Organization (FRO). Pioneered by Convergent Research, FROs focus on overcoming key scientific and technological bottlenecks for societal benefit. Forest has been featured in Wired and IEEE. Learn more at www.forestneurotech.org .
Responsibilities
- Define and implement the architecture for Forest's software systems, ensuring modularity, scalability, and security.
- Establish and maintain best software practices across the team.
- Manage digital and embedded software efforts, integrating device-level software with the broader framework and contributing to device control software.
- Design data pipelines, synchronization, and storage solutions for neural and metadata from Forest's BCI devices to the data science platform.
- Develop verification and validation tests for embedded and software systems to ensure reliability and performance in experimental and clinical settings.
- Collaborate with the Science team to integrate the data science platform into the software framework, ensuring seamless data flow and usability.
- Support hardware development and manufacturing testing software needs.
- Create and maintain software documentation, including architecture documents, technical specifications, and testing protocols.
- Lead and manage a small team of full-time employees and contractors.
Skills & Qualifications
- Experience: 5+ years in industry software development, working with large Python codebases (L4 or L5 level).
- Education: BS in Computer Science or related field required; PhD preferred.
- Languages: Expertise in Python required; experience with C+ or Rust is a plus. Familiarity with CUDA, OpenCL, Docker, Ansible is beneficial.
- Scientific Programming: Knowledge of machine learning, image processing, and signal processing, with experience in packages like JAX, CuPy, Dask, scikit-learn, PyTorch, TensorFlow, Xarray, Zarr, HDF5, NIfTI, Plotly, Seaborn, Bokeh, Altair, or Matplotlib.
- Realtime Systems: Experience developing low-latency software interfacing with hardware and GPUs for closed-loop data processing. Familiarity with inter-process streaming tools like Redis, LabStreamingLayer, ZMQ, and developing responsive applications with modern frameworks is preferred.
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free