Software Developer (C++/Python and Bazel)
Job Description:
About the Project
We are embarking on a strategic initiative to migrate existing build systems to a modern, scalable, and high‑performance solution based on Bazel. This project involves deep collaboration across teams, modernization of development workflows, and integration of Bazel into complex software environments. We are looking for engineers who are eager to innovate, solve challenging technical problems, and help shape the future of our build infrastructure.
Role Overview
As a Software Engineer, you will work closely with colleagues in Bulgaria and the Netherlands to define and refine software requirements, design and implement high‑quality solutions, and support the integration of new build processes. You will contribute to both the migration effort and the ongoing development of software for advanced lithography systems.
Key Responsibilities
- Collaborate with cross‑border teams to define and refine detailed software requirements;
- Create software designs and participate in design reviews with stakeholders;
- Implement software components in Python, including unit tests;
- Ensure code quality through static analysis and peer reviews;
- Work in Red Hat Linux (development) and Wind River Linux (execution) environments;
- Participate in the full development cycle: design, implementation, testing, and integration support;
- Debug and resolve issues in existing codebases;
- Deliver high‑quality, well‑documented solutions on time;
- Actively participate in Scrum ceremonies: Sprint Planning, Daily Stand‑ups, Refinement, Retrospectives;
- Provide guidance and support to junior team members.
Requirements:
- Strong experience reading and writing Python code;
- Proficiency in at least one scripting language and willingness to work with C/C++ code;
- Experience with version control systems (Git/GitHub);
- Knowledge of build and configuration management systems such as Bazel, Make, CMake, Git, Jira, Docker;
- Familiarity with agile software development practices;
- Strong analytical and problem‑solving skills;
- Excellent communication skills;
- Strategic mindset with the ability to plan ahead and anticipate challenges;
- Innovative approach and willingness to propose creative technical solutions;
- 3+ year of experience with Python and motivation to further develop these skills;
- 1+ years of hands‑on experience with C++/C in a professional environment;
- Experience with Unix/Linux programming;
- Experience working in a diverse, multicultural environment;
- Excellent command of English (written and spoken);
- Willingness to travel to the Netherlands.
Nice‑to‑Have Skills:
- Experience with Nix;
- Experience migrating from other build systems to Bazel;
- Additional Linux expertise;
- Experience with Rust;
- Familiarity with GTest/GMock;
- Previous experience with agile methodologies.
Required Skills:
C++ Software Python