The Xenon team, which is an Image Acquisition & Detection (IA&D) Software team, based in our Thermo Fisher Scientific Eindhoven -branch, develops software targeted at platforms ranging from dedicated embedded Linux systems to Windows PCs. To do so, a wide variety of innovative, industry standard technologies, languages and tools are used. A couple of examples: C++20, CMake, Conan, Jenkins, gRPC. You will participate in continuous improvement initiatives of the team, software, and processes.
We are looking for a to strengthen our Xenon team. This large international software team (15 engineers), is committed to specify and develop software in an Agile environment for the of Electron Energy Loss Spectroscopy (EELS). You will work together with the team and the team's Architect to define, communicate, and improve the shared technological and architectural view of our solutions, validate technology assumptions, evaluate alternatives, and define higher-level functional and non-functional requirements and provide technical leadership in defining architectural enablers. In through Agile fashion, we strive to give software teams the authority to make local decisions.
Software responsibilities contain among others:
Acquisition server (Responsible for Image acquisition and processing)
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 required).
Image processing.
Setting up detector communication and data retrieval.
Developing server and client implementations using IPC or RPC technologies (like shared memory, gRPC …)
What we expect:
Familiar with software development close to hardware requirements.
Skilled programmer in C++ 14 and above.
Enthusiastic about Test Driven Development (gtest/boost-test).
Has strong analytical and problem-solving skills and shows understanding of software development principles and processes.
Should be able to work independently when provided a set of requirements.
Has experience with performance critical SW development.
Is familiar with tools like:Cross-platform compilation (Windows/Linux)Jenkins (pipeline) andGIT (version control)CMake
Ability to learn the domain quick!
Is an outstanding teammate who knows how to drive engagement and has knowledge of Agile practices (SAFe/Scrum)!
Overall responsibilities 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.
Minimal Education / Experience:
MSc or BSc degree in Software Engineering
5+ years as software engineer in high-tech software development.