Software Engineer - C++ Developer
Role details
Job location
Tech stack
Job description
We are a technology-driven company working to modernize precision manufacturing. Our team builds intelligent software that speeds up the creation of CNC machining programs and supports operators in producing high-quality results more efficiently. Our main product applies advanced algorithms to streamline the most time-consuming programming steps, helping manufacturing teams increase productivity and consistency across their workflows. We are a growing engineering-led organisation with strong expertise across software development, applied mathematics, and real-world machining.
The Opportunity
We are expanding a core engineering group focused on machining strategy and automated toolpath reasoning. This role involves designing and implementing new computational methods that guide our system's decision-making for machining operations. You will work on problems such as toolpath optimization, cutting strategy selection, and the automation of complex CAM tasks. Collaboration with specialists across software engineering, manufacturing, data science, and research will be central to this work.
This position suits someone who enjoys experimental development, problem-solving, and building practical solutions from theoretical ideas. You should be comfortable exploring unfamiliar technical challenges, iterating quickly, and working closely with others to refine and improve concepts.
Requirements
-
Strong proficiency in C++, focusing on clear, efficient, and maintainable code.
-
Experience designing and implementing algorithms, ideally involving geometric or numerical computation.
-
Solid understanding of data structures, algorithmic performance, and runtime considerations.
-
Ability to collaborate effectively with a multidisciplinary engineering team.
-
Clear communication skills and the ability to explain complex technical topics.
-
Degree or equivalent background in Computer Science, Mathematics, Physics, Engineering, or a related technical discipline.
Helpful Additional Experience
-
Knowledge of computational geometry, CAD/CAM workflows, CNC machining, or manufacturing processes.
-
Familiarity with geometric modeling kernels, simulation frameworks, or CAD/CAM libraries.
-
Experience with parallel computing, GPU acceleration, or high-performance systems.
-
Exposure to continuous integration, automated testing, and modern development workflows.
-
Background in optimization, heuristic search, or machine learning-based decision systems