Software Engineer
Role details
Job location
Tech stack
Job description
The engineering team is based in Zurich and is responsible for maintaining and evolving a distributed system operating at significant scale. The primary focus of this role is a background migration initiative, driven by a strategic change in the tooling and infrastructure used by the platform. This includes migrating existing functionality, ensuring system continuity, and improving long-term maintainability and reliability.
As a Software Engineer, you will make larger, mostly independent technical contributions with a strong focus on system and tooling migration. You will own end-to-end migration tasks, from analysis and implementation to validation and rollout, while collaborating closely with other engineers.
You will also:
- Develop and maintain production-quality C++ code to support system and tooling migration
- Migrate existing functionality to new frameworks, tools, or infrastructure while minimizing risk
- Contribute to qualification, deployment, monitoring, documentation, and operational support during and after migration
- Design and improve test, monitoring, and automation infrastructure to validate migration success
- Perform testing beyond unit tests (integration, performance, stress, load, security, fuzz testing)
- Review code written by peers and provide feedback to ensure best practices and migration quality
- Identify, prioritize, and reduce technical debt, particularly uncovered during migration activities
- Triage and resolve system or production issues arising from migration changes
Requirements
We are currently looking for an experienced Software Engineer (m/w/d) with strong C++ expertise to support a large-scale migration project within a high-performance content matching and identification platform., * Bachelor's degree in Computer Science or equivalent practical experience
- Minimum of 4 years of Software Engineer hands-on backend development experience with C++
- Proven experience in:
- C++ programming
- Data structures and algorithms
- Debugging, diagnosis, and issue resolution in complex systems
- Systems thinking and software/system migration work
- Test engineering and testability
- Software architecture fundamentals
- Code health, readability, and long-term maintainability
- Data analysis and technical problem synthesis
- Working with large-scale and distributed systems
- Excellent communication skills in English (verbal and written) at C1+ level