Senior Software Engineer – Firmware and Instrumentation
Location: Pleasanton, CA & San Francisco, CA
10x Genomics is building tools for scientific discovery that reveal and address the true complexities of biology and disease. Through a combination of novel microfluidics, chemistry and bioinformatics, our award-winning Chromium™ System is enabling researchers around the world to more fully understand the fundamentals of biology at unprecedented resolution and scale. Learn more at 10xGenomics.com.
Software Engineer (Firmware / Instrumentation)
Are you a software engineer who likes to play with oscilloscopes? Do you think motors and sensors are awesome? Do you think about complexity theory in the morning and thermal conductivity in the evening? Then you're probably a good fit for our firmware role! We're hiring a software engineer who is comfortable at the bits-and-bytes level to develop firmware for our next-generation DNA and RNA processing instruments. You should have great software fundamentals, a strong knowledge of C (or even assembly language) and a strong desire to learn more about embedded systems and sequencing. We do not require any prior background in biology or hardware.
You will have the opportunity to work on several exciting green field projects that will add another generation of powerful tools to every molecular biology lab. You will also be responsible for developing, testing, and releasing firmware upgrades for existing products.
- Develop stand-alone software to run on custom ARM-based instrumentation hardware
- Develop Linux device drivers for custom hardware
- Contribute to across-the-board software features including: closed-loop-control algorithms, industrial control, user interfaces, failure analysis and recovery
- Assist with low-level device bringup and debugging of new hardware
- Contribute to the entire software lifecycle from requirements gathering to validation
- Work closely with diverse groups including Software, Electrical engineering, Mechanical engineering, and marketing
- B.S. in Computer Science, Electrical Engineering, Mechanical Engineering, Mathematics, Physics, or a related field and 5 years of experience
- M.S. in Computer Science, Electrical Engineering, Mechanical Engineering, Mathematics, Physics, or a related field and 3 years of experience
- Mastery of the C programming language
- Strong low-level software skills
- Extensive Linux, embedded-systems, or microcontroller experience
- Familiarity with low-level debug and communications technologies such as JTAG, CAN, I2C, SPI, RS232, USB
- Real-time Linux experience is a big plus
- Experience writing software for electromechanical devices
- Experience with bare-metal ARM or PIC programming
- Experience working with contractors
All qualified applicants will receive consideration for employment without regard to race, sex, color, religion, sexual orientation, gender identity, national origin, protected veteran status, or on the basis of disability.