Software Engineer (C++)
- Design, develop and maintain high-quality software primarily in C++.
- Build software used across our drone and unmanned-systems platform.
- Develop reliable communication and data flows between different software and hardware components.
- Work on performance-sensitive and potentially real-time or near-real-time applications.
- Integrate software with APIs, networking components, sensors and wider system infrastructure.
- Debug complex issues across interconnected software systems and identify root causes.
- Contribute to software architecture and technical design decisions.
- Write maintainable, testable and well-structured production code.
- Participate in code reviews, testing, documentation and continuous improvement of our engineering practices.
- Collaborate closely with computer vision, embedded, autonomy and hardware engineers.
- Support integration and testing on real systems and drone platforms..
- You have developed a strong understanding of Robotto’s software architecture and how the different parts of our platform work together.
- You are contributing production-quality C++ code to our products.
- You have taken ownership of features or components from development through integration and testing.
- You are successfully debugging and solving issues across interconnected systems.
- You are contributing to improved reliability, maintainability and performance of our software.
- You have become a trusted technical partner within the engineering team.
What we are looking forWe are looking for a strong software engineer who enjoys solving complex problems and building software that interacts with real systems.
- Strong professional experience developing production-quality software in C++, with a solid understanding of modern software engineering practices.
- Solid understanding of software architecture, data structures, algorithms and object-oriented design.
- Experience developing multi-component or distributed software systems.
- Experience with networking, inter-process communication, APIs or communication protocols is highly relevant.
- Good understanding of concurrency, multithreading and performance considerations in C++.
- Experience with debugging, testing, version control and modern software development practices.
- Experience with Linux-based development environments is an advantage.
- Experience with robotics, drones, autonomous systems, defence technology or other complex technical products is an advantage, but not a requirement.
- Experience working with software that interfaces with hardware or real-world systems is an advantage.
- Professional fluency in English.
- A degree in computer science, software engineering, robotics or a related field is preferred; equivalent practical experience is equally welcome.
- Are curious and enjoy solving complex problems.
- Take ownership and follow things through.
- Communicate openly about progress, challenges and risks.
- Are comfortable in a growing company where priorities can evolve.
- Enjoy collaborating with people across different disciplines.
- Value testing, learning and continuous improvement.
- Want to contribute rather than simply execute a predefined set of tasks.
Our teams work across software, computer vision, control, electronics, hardware and real-world testing. This means you will work closely with people from different technical disciplines and see how your work contributes to the wider product.
We are an ambitious and collaborative team, and we value people who take ownership, challenge ideas constructively and want to help build both great technology and a great company.This is not a role where everything is already defined. You will have the opportunity to:
- Work on challenging technology with real-world applications.
- Have meaningful ownership and influence over your area.
- Work closely with talented colleagues across multiple disciplines.
- See your work move from an idea or prototype into real-world use.
- Help shape how we work as the company continues to grow.
A chance for us to learn more about you and for you to learn more about Robotto, the role and what we are looking for.2. Meeting with the Hiring Manager
A deeper conversation about your experience, skills and approach to the role.3. Technical / Role-specific discussion
Depending on the position, this may include a technical discussion, practical exercise, case or live scenario relevant to the work you would be doing at Robotto.4. Leadership meeting
A conversation with a member of our leadership team to explore mutual fit and give you another opportunity to learn about Robotto and where we are going.5. Offer
If there is a strong mutual fit, we will move forward with an offer.The exact process may vary slightly depending on the role.Interested?If this sounds like an opportunity you would like to explore, we would love to hear from you.Apply through our careers page and tell us a little about yourself, your experience and why Robotto interests you.Equal opportunityAt Robotto, we want to build a team where different experiences, backgrounds and perspectives are valued.We welcome applications from qualified candidates regardless of gender, age, nationality, ethnicity, religion, disability, sexual orientation, gender identity or other characteristics protected by applicable law.