Roche’s proprietary nanopore-based platform allows for single molecule, electrical, real-time analysis without the need for complicated optics or fluidics. Developing our unique platform requires expertise across a range of fields: software engineering, data science, biology, chemistry, protein engineering, circuit design, and electrochemistry, just to name a few. We develop a proprietary system that generates data at tremendous rates, a big challenge for existing technology for data processing. As we push the boundaries in DNA sequencing technology to make genetic information universally available through massively parallel DNA sequencing, we need you!
We're looking for a top-notch Principal GPU Software Engineer to develop embedded software aimed at real-time analysis for our cutting-edge technology platform. This role requires creative solutions for our unique needs. The ideal candidate will have strong technical leadership experience, comfortable working with a complex technology, to help us create cutting edge software while defining/implementing best practices related to GPU technology.
- Develop GPU-accelerated software targeted for real-time primary analysis on a DNA sequencing instrument.
- Work closely with research and algorithm experts, accelerating bioinformatics techniques using GPU hardware.
- Proficient in developing GPU-accelerated software in C/C++, with familiarity in Python for signal processing numerical analytics.
- Support software development lifecycle and Design Control process, working closely with team members to continuously improve quality and feature sets of the software products, based on technical design and requirements specifications.
- Produce well documented software along with test and validation to create high quality output.
- Establish best practices for software development methodologies and standards to ensure highest quality of the software product delivered to users.
- Proactively interface with engineering and research teams to ensure all technical aspects of software development are properly communicated to all stakeholders.
- Bachelor's degree in Computer Science, Computer Engineering or equivalent technical discipline with a minimum of 8 years of professional experience in software development. Or, a Master’s degree in Computer Science/Engineering or relevant technical discipline with 5 years of software development experience.
- A minimum of 5 years of work experience in GPU software development or equivalent experience in coursework.
- Advanced object-oriented programming in C++.
- Proven technical leadership skills to implement and integrate new technologies along with best practices.
- Ability to work with diverse cross-functional team to quickly understand system inter-connectivity issues and recommend appropriate technical solutions.
- Signal processing experience is preferred.
- Experience with algorithm development is a plus.
- Python is a big plus.