Work Schedule
Standard (Mon-Fri)
Environmental Conditions
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.
Join our collaborative team at Thermo Fisher Scientific and help develop innovative software solutions for scientific instruments. You'll work on advanced technologies that enable breakthrough research in fields like semiconductors, life sciences, and materials analysis. As a Software Engineer III, you'll design and implement sophisticated software applications that control our electron microscopes and analytical instruments, helping customers make discoveries that improve lives worldwide. Working in an agile environment with international teams, you'll contribute to technical innovation while collaborating with scientists, engineers, and domain experts across multiple disciplines.
About us
The Material Science Acquisition Software team, based in Thermo Fisher Scientific Eindhoven branch, develops software targeted at platforms ranging from dedicated embedded Linux systems to Windows PCs.
Our request
We are looking for a Senior Software Engineer to strengthen team who will work together with the rest of the SW team and the SW Architects to define, communicate, and improve the shared technological and architectural view of our solutions, validate technology assumptions, evaluate alternatives,define higher-level functional and non-functional requirements, and provide technical leadership in defining architectural enablers. To do so, a wide variety of innovative, industry standard technologies, languages and tools are used. A couple of examples are C++20, CMake, Conan, Jenkins, gRPC.The new colleague will participate in continuous improvement initiatives of the team, software, and processes. In through Agile fashion, we strive to give software teams the authority to make local decisions.
Minimal Education / Experience
- MSc or BSc degree in Software Engineering
- 5+ years as software engineer in high-tech software development
The ideal candidate should have the following technical background:
- A proficient programming level inC++ including modern standards like C++17 or newer.
- Knowledge and experience with Bash and Linux (Docker, CONAN, Artifactory, Debian, WIX, OS distribution)
- Experience with cross-compilation Windows/Linux
- Experience with Jenkins (pipeline) and GIT (version control)
- Experience with CMAKE, gRPC, python and C# is desirable
- Affinity with software development close to hardware requirements
- Experience or exposure with SW for embedded systems (FPGA, CLHS, GenICam) is a plus
- Knowledge of and/or exposure to Test Driven Development (TDD) (gtest/boost-test).
- Understanding of Window COM (Component Object Model is a nice to have
- Experience with Scrum and ideally with SAFe
We are looking for a person who
- Has strong analytical and problem-solving skills and shows understanding of software development principles and processes.
- Has experience with performance critical SW development.
- Has the ability to learn the domain quick!
- Is able to work independently when provided a set of requirements.
- Is not afraid to speak up, ask questions, and proactively find solutions.
- Is an outstanding teammate who knows how to drive engagement
The overall responsibilities of the role are
- Shared responsibility for the quality of the produced software together with the agile team (including test code).
- Designs, codes, documents, tests (automated), maintains and deploys software.
- Applies Continuous Integration and Continuous Delivery.
- Using technical solutions that conform to requirements with a strong focus on end-users, performance, safety, security, maintainability.
- Actively participates in sprint planning, daily stand-up meetings, sprint reviews, sprint retrospectives and backlog refinement.
The main activities/tasks of the role are
- Extend and maintain the image acquisition and processing code base (Acquisition Server)
- Design and implement new features which may not only impact Acquisition Server but also components outside of it.
- Improve the existing design with the introduction of new use cases (if and when required).
- Set up detector communication and data retrieval.
- Develop server and client implementations using IPC or RPC technologies (like shared memory, gRPC …)
- Extend and maintain image processing pipeline functionality (corrections/calibrations)

About Thermo Fisher Scientific
Thermo Fisher Scientific Inc. is the world leader in serving science, with annual revenue of approximately $40 billion. Our Mission is to enable our customers to make the world healthier, cleaner and safer. Whether our customers are accelerating life sciences research, solving complex analytical challenges, increasing productivity in their laboratories, improving patient health through diagnostics or the development and manufacture of life-changing therapies, we are here to support them. Our global team delivers an unrivaled combination of innovative technologies, purchasing convenience and pharmaceutical services through our industry-leading brands, including Thermo Scientific, Applied Biosystems, Invitrogen, Fisher Scientific, Unity Lab Services, Patheon and PPD.
For more information, please visit www.thermofisher.com.