Senior Software Engineer C++
Role details
Job location
Tech stack
Job description
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., * 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)
Requirements
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 in C++ 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
About the company
We help our customers accelerate life sciences research, solve complex analytical challenges, improve patient diagnostics and increase laboratory productivity. With $1.4 billion invested annually in R&D, our collaborative and diverse teams have the resources they need to drive new discoveries and do cutting-edge research and develop important applications and tools that help millions of lives around the world.
Thermo Fisher Scientific Inc. is the world leader in serving science, with an 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 of more than 100,000+ colleagues deliver 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.