Sr. Software Engineer
Core
Translate instrument and subsystem requirements into firmware architectures, designs, and testable criteria for electromechanical products.
Role type
Senior embedded firmware engineer (instrumentation)
Builds
Firmware for microcontrollers and embedded processors, device drivers, and instrument control sequences
Domain
Instrumentation, electromechanical systems, data acquisition
Required skills
Embedded C, C++, memory management, interrupts, timers, concurrency, resource-constrained implementation, device drivers, SPI, I2C, UART, CAN, USB, Ethernet, board bring-up, hardware debugging, Git, automated testing, continuous integration
Preferred skills
Python, embedded Linux, bootloaders, firmware update mechanisms, firmware security, hardware-in-the-loop systems, AI-assisted engineering tools
Technologies
Microcontrollers, embedded processors, real-time operating systems, oscilloscopes, logic analyzers, debuggers
Responsibilities
Develop embedded C and C++ firmware for microcontrollers and embedded processors; Implement device drivers and interfaces for sensors, detectors, ADCs, DACs, actuators, and motors; Develop timing, data acquisition, calibration, and control sequences; Bring up new PCBAs and diagnose hardware/firmware interactions; Develop unit, integration, regression, and hardware-in-the-loop tests; Support production programming, firmware updates, and root-cause investigations
Seniority
Senior, hands-on IC
