Software Engineer C++ / C#
Hexagon · Spain
You apply off-site, with the employer or the job board. I never handle applications.
Summary
This role is suited to someone who enjoys finding robust, maintainable solutions, applying mathematics and geometry to software development, and working with modern tools and methodologies. It is an individual contributor position with no people management responsibilities.
You’ll join an international team developing ESPRIT, a CAM platform for Windows desktop applications. You’ll work on complex, varied technical problems and contribute to both the product’s backend and frontend using C++ and C#.
Job Responsibilities
- Design, develop, and maintain features for the ESPRIT platform using modern C++ and C#.
- Work on backend and frontend components in a Windows and Visual Studio environment.
- Solve problems involving planar geometry, algebra, transformations, curves, arcs, and meshes.
- Write high-quality, testable, and maintainable code, taking part in peer reviews, regression testing, and continuous integration processes.
- Collaborate remotely with developers, a Scrum Master, and a Product Owner based across Germany, India, Italy, and France.
- Participate in the team’s Scrum activities, using tools such as Jira and Git.
- Use AI tools to support development where appropriate, while maintaining full understanding of and responsibility for the code produced. Qualifications
- Around five years of software development experience.
- Hands-on experience with modern C++, ideally C++20, and the Standard Template Library (STL).
- Knowledge of C#, or a willingness to work with both languages.
- A solid foundation in mathematics, geometry, and algebra, sufficient to work with points, planes, matrices, rotations, and transformations.
- A degree or educational background in a STEM field, such as computer science, engineering, mathematics, or physics, or equivalent experience.
- Familiarity with development in Windows and Visual Studio environments.
- Experience working in Agile teams, preferably using Scrum.
- Familiarity with testing, code reviews, continuous integration, and modern software development practices.
- Good command of English, which is used daily within the international team.
- The ability to work independently, collaborate remotely, and communicate clearly.
Nice to have
- Experience in the CAD/CAM industry.
- Experience in related fields such as automotive, industrial automation, machinery, simulation, computer graphics, or gaming.
- Knowledge of computational geometry, triangular meshes, and geometric transformations.
- Familiarity with AI tools applied to coding.
The team and how we work
You’ll work in a distributed team currently made up of four developers, a Scrum Master, and a Product Owner. Collaboration takes place primarily remotely through online sessions, workshops, and pair coding. For team members based in Italy, meetings may be arranged at the Florence office when useful; travel is not a regular part of the role.
Why join us
You’ll have the opportunity to work with modern tools and methodologies in a stimulating technical domain where innovation, creativity, and software quality make a real difference. You’ll tackle challenging problems and broaden your expertise by collaborating with experienced product and software development professionals in an international environment.
#LI-MI1