Work Schedule
Standard (Mon-Fri)
Environmental Conditions
Office
Job Description
Position Summary
As a Senior C++ Developer , you will play a key technical role in developing high-performance software for our Desktop Scanning Electron Microscope (SEM) products, working at the intersection of modern C++, hardware control, and advanced scientific instrumentation .
You will design and deliver complex software solutions, solve challenging technical problems, and help shape the evolution of our software platforms. Combining hands-on development with technical leadership , you will guide engineering decisions, mentor colleagues, and contribute to software architecture and best practices.
This role is part of the expansion of our Brno Development Center , offering the opportunity to influence our technology and collaborate with specialists across our international R&D organization.
Our Technology
Our Desktop SEM business develops advanced scanning electron microscopes used worldwide in materials science, manufacturing, research, and quality assurance.
Our software brings together:
Modern C++ and Linux
Low-level hardware control and embedded systems
Microscope control and automation
Concurrency and high-performance computing
Imaging and data acquisition
Networking and inter-process communication
Software integration and automated testing
Key Responsibilities
Design, develop, and maintain high-performance C++ software for complex microscopy and hardware-control systems.
Lead technical solutions spanning software components, hardware interfaces, and external services.
Contribute to software architecture, component design, and integration strategies.
Solve complex challenges involving concurrency, memory management, performance, reliability, and hardware integration.
Make technical decisions balancing performance, maintainability, quality, security, and delivery priorities.
Drive modern C++ engineering practices, including code reviews, automated testing, profiling, and continuous integration.
Lead technical investigations, prototyping, and resolution of complex software issues.
Collaborate with Systems Engineering, Software Quality, Applications Development, Hardware, and Product Management.
Provide technical guidance, mentor engineers, and support cross-team initiatives.
Remain hands-on with the codebase and microscopes throughout development, testing, and integration.
Identify opportunities to improve software architecture, product quality, and engineering practices.
What We’re Looking For
Bachelor's or Master's degree in Computer Science, Software Engineering, Electrical Engineering, or a related technical field, or equivalent practical experience.
Extensive professional software development experience with expert-level modern C++ (C++17 or later).
Deep understanding of C++ fundamentals, including resource management, templates, concurrency, memory model, error handling, and performance.
Experience designing and delivering complex, reliable software systems.
Strong debugging, profiling, and performance optimization skills.
Experience with Linux and low-level hardware control or hardware/software integration .
Strong understanding of software architecture, design principles, automated testing, and CI/CD.
Experience with CMake or similar build systems.
Demonstrated ability to lead complex technical initiatives and mentor other engineers.
Strong analytical and structured problem-solving skills.
Excellent communication skills in English.
Nice to Have
Experience with one or more of the following would be an advantage:
Yocto and embedded Linux
Scientific instrumentation, microscopy, robotics, or other hardware-intensive products
Control systems and real-time or near-real-time software
gRPC, REST APIs, and distributed systems
Formal modelling tools such as Dezyne or Coco
Rust
JavaScript, Vue, or other frontend technologies
Why Join Us?
You will have the opportunity to lead the development of sophisticated software that directly controls…