10X Genomics
Senior Software Engineer, Instrument Software
10X Genomics, Pleasanton, California, 94566
About the role 10x Genomics was founded to deliver powerful and reliable tools that fuel key scientific discoveries and drive exponential progress in our mastery of biology to advance human health. Our talented team has a distinguished record of creating innovative instruments, reagents, and software that analyze biological systems at a resolution that matches the complexity of biology. We are looking for a Senior Software Engineer to join our Instrument Software team. You have expert-level knowledge of creating advanced instrument control software & firmware with C, C++, Python and/or Rust. You can handle threading, multiprocessing, and interfacing with low-level drivers, firmware & hardware with ease. You are a stickler for testing and thrive on creating a clean and maintainable codebase. You are the engineer that other engineers can count on; you are technically excellent, you attack every problem with enthusiasm, you care deeply about what it takes to build high-quality software. You are a self-starter, team player, have the hunger to venture quickly into unknown areas, code, and make the system work. You will be working closely with fluidics, electrical, mechanical, optical, and fellow embedded software engineers (and the occasional biologist) to put together functioning prototypes that allow us to quickly test new designs and theories, as well as contributing to production systems. Ideal candidates will be independent operators that enjoy working in a lab with physical components and have a deep understanding of real-time asynchronous systems. Applicants must love tinkering and have a true hacker mindset. What you will be doing Designing and developing embedded control software and firmware for cutting-edge biological instrumentation platforms Working with electrical engineers to develop functional drivers and appropriate control schemes and interfaces Negotiating/determining prototype requirements with design engineers from partner teams (e.g. Mechanical Engineering, Optical Engineering, Electrical Engineering) Designing and implementing automated test scripts built on top of your control software Contributing to the entire software lifecycle from requirements gathering to validation Writing well-structured, testable, efficient, and maintainable software Writing software to control hardware prototypes Writing drivers and low-level hardware control software Developing application-level business logic (e.g. dispense, measure, aspirate) Developing small but interactive engineering GUIs For example: given hardware you have never used, quickly write a python interface to control it Minimum requirements Bachelor's degree in computer science, engineering, math, or scientific discipline with 5 years of experience; OR Master’s degree with 3 years of experience in software development Embedded/Firmware Development Modern C++ Python3 Linux Preferred skills and experience Grasp of the basics of classical control theory and experience implementing control algorithms (e.g. PID, lead-lag, MPC) Exposure to digital signals processing (DSP) such as simple signal conditioning (e.g. IIR/FIR low pass filtering) Confident usage of Python scientific and numerical computing and visualization packages (e.g. numpy, pandas, matplotlib) EE knowledge (Digital & Analog Design) and familiarity with laboratory test equipment (e.g. digital multimeter, oscilloscope, signal analyzer, etc.) Rapid software prototyping & validation with attention to detail and engineering diligence Strong analytical and problem-solving skills Strong verbal and written communication skills Formal approach to design & architecture of complex instruments/systems Background in biology and DNA sequencing is not required. Interest in the field is. J-18808-Ljbffr