Job Description
Work Schedule
Standard (Mon-Fri)
Environmental Conditions
Laboratory Setting, Office
As part of the Thermo Fisher Scientific team, you’ll discover meaningful work that makes a positive impact on a global scale. Join our colleagues in bringing our Mission to life every single day to enable our customers to make the world healthier, cleaner and safer. We provide our global teams with the resources needed to achieve individual career goals while helping to take science a step beyond by developing solutions for some of the world’s toughest challenges, like protecting the environment, making sure our food is safe or helping find cures for cancer.
How will you make an impact?
We are seeking a hands-on Staff FPGA and Embedded Software Engineer to own FPGA firmware and embedded software for flow cytometry instruments. The role prioritizes sustaining legacy FPGA code and developing reliable real-time acquisition and control. You will translate instrument requirements into maintainable architectures that acquire digitized photodetector signals, process cytometry events, control hardware, and deliver data to instrument software.
You will collaborate with systems, optics, electrical engineers, instrument software, manufacturing, service, and external board-design partners. The successful candidate combines deep FPGA implementation and verification expertise with hardware/software interface skills, and enough schematic literacy to guide requirements, reviews, bring-up, and troubleshooting.
What will you do?
- Sustain, debug, document, and extend production FPGA codebases written in Verilog/SystemVerilog, applying controlled changes that improve reliability, testability, and maintainability.
- Design and implement high-throughput FPGA data acquisition pipelines from ADC interfaces through digital filtering, trigger logic, buffering, and high-speed host interfaces.
- Integrate FPGA firmware with embedded processors and operating environments such as embedded Linux, an RTOS, or bare-metal systems, including low-level interfaces, drivers, and board-support components.
- Implement and troubleshoot common embedded protocols and interfaces, including I2C, SPI, UART, Ethernet.
- Develop verification strategies and automated testbenches
- Define FPGA and embedded-software requirements, data formats, and board-interface specifications; review schematics and layouts and work effectively with internal or third-party board designers.
- Support board bring-up and subsystem validation using oscilloscopes, logic analyzers, JTAG tools, and software diagnostics; isolate issues across FPGA, processor, board, operating system, application software, and instrument boundaries.
- Support manufacturing, service, and quality teams through root-cause investigations, corrective actions, component obsolescence response, and release of sustaining firmware or software changes.
- Own technical planning, estimates, risks, design tradeoffs, and progress communication while applying appropriate research-use-only requirements.
How will you get here?
Minimum Qualification/Experience:
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, Software Engineering, or a related field with 8+ years of relevant experience, or a master's degree with 6+ years of relevant experience.
- Demonstrated production FPGA firmware experience using Verilog/SystemVerilog across the full lifecycle from requirements and architecture through implementation, verification, release, and sustaining.
- Working knowledge of embedded operating-system concepts and development in embedded Linux, an RTOS, or bare-metal environments.
- Experience implementing and debugging hardware/software interfaces and common protocols such as I2C, SPI, UART, and Ethernet.
- Experience with ADC interfaces, high-throughput digital acquisition, real-time DSP, pulse or event processing, buffering, and reliable transfer of acquired data.
- Strong knowledge of digital logic design, clock-domain crossing, constraint development, functional and timing simulation, static timing analysis, and timing closure.
- Ability to understand complex legacy designs and codebases and to manage controlled code, code reviews, automated testing, documentation, and FPGA or software releases using modern version-control practices.
- Ability to read electrical schematics, define board-interface requirements, and support board bring-up and troubleshooting.
Preferred Experience:
- Experience sustaining and developing AMD/Xilinx FPGA designs using Vivado.
- Experience with Intel/Altera FPGA devices and the Quartus development environment.
- Experience reading, maintaining, or developing FPGA designs written in VHDL.
- Experience with System-on-Chip (SoC) or System-on-Module (SoM) architectures that combine embedded processors with FPGA fabric.
- Experience with flow cytometry, photodetector acquisition, optical instrumentation, or comparable scientific-instrument data paths.
- Experience with high-speed host interfaces such as PCIe, USB, or comparable data-transfer architectures.
- Experience with RUO life-science instrumentation.