Senior Software Engineer
Summary
Build embedded Linux software in C++/Python for bioprocessing instruments, integrating motors, sensors, and FPGA hardware.
Responsibilities
- Design, develop, and maintain software for embedded Linux systems.
- Configure and support BSPs, device trees, drivers, and hardware interfaces.
- Develop software in C++ and Python for device control, communications, and system services.
- Integrate software with motors, pumps, sensors, actuators, and other electromechanical hardware.
- Collaborate closely with electrical engineers on hardware bring-up, FPGA/CPLD integration, and system debugging.
- Support system verification, troubleshooting, and product release activities.
- Contribute to software architecture, documentation, and engineering best practices.
Qualifications
- BS/MS in Computer Engineering, Computer Science, Electrical Engineering, or related a technical field with experience in this domain
- 5+ years of embedded software development experience.
- Strong C++ and embedded Linux driver development skills.
- Experience with Linux BSPs, device trees, drivers, and common hardware interfaces (SPI, I²C, UART, USB, Ethernet, GPIO, etc.).
- Experience developing software for products that interact with physical hardware and electromechanical systems.
- Strong debugging and root-cause analysis skills spanning hardware and software domains.
Preferred Qualifications
- Experience in scientific instrumentation, life sciences, industrial automation, robotics, medical devices, or related fields.
- Experience with Yocto-based Linux distributions.
- Experience with Python and/or Qt development.
- Experience with microcontroller firmware development
- Experience interfacing with custom electronics, including FPGA or CPLD-based hardware.
- Familiarity with Toradex, Torizon OS, or similar embedded Linux platforms.
- Familiarity with containerization technology / Docker