Staff Software Engineer, Embedded
Location: Pleasanton, CA
Staff Software Engineer (Embedded)
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 embedded software role! We're hiring a software engineer who is comfortable at the bits-and-bytes level to develop embedded 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.
- Design and develop Embedded Linux based Management and Control software for instrumentation hardware
- Develop microcontroller based unit control logic with real-time performance characteristics.
- Write well structured, testable, efficient and maintainable software
- Assist with low-level device bring up and debugging of new hardware
- Contribute to the entire software lifecycle from requirements gathering to validation
- Work closely with diverse groups including Software, Hardware, Microfluidics, Manufacturing and Marketing teams
- S. in Computer Science, Electrical Engineering, or a related field and 5 years of experience
- S. in Computer Science, Electrical Engineering, or a related field and 3 years of experience
- Mastery of the C programming language
- Strong Linux system software experience
- Experience in board bring-up and HW-SW debugging skills
- Experience in building control system software
- Experience in building distributed control and management software sub-systems
- Deep understanding and/or experience in Linux based platform software infrastructure: Device Drivers, Chassis Management, Linux Platform SW
- Experience in graphical user interface experience in packages using QT, QML, C++ a bug plus
- Familiarity in Yocto, buildroot, CMake, git, gdb etc
- Experience in Python and C++
- Experience writing software for electromechanical devices