Senior Software Engineer
Role details
Job location
Tech stack
Job description
Within a cross-functional team, you will contribute towards the entire software development lifecycle, including design, implementation, testing, and maintenance of our products. Working primarily in C++ and Python, you will employ high-quality software engineering principles and practices. You will be actively engaged in building quality solutions within an Agile process, including peer reviews, continuous improvement, and integration.
If you're passionate about robotics, love solving complex technical challenges, and want to mentor others while growing your own expertise, this role offers the perfect blend of technical depth, leadership opportunity, and meaningful impact., * Architect and develop new capabilities for autonomous robotics, subsea perception, and underwater structure inspection.
- Write and maintain high-quality, efficient, and scalable code using modern C++ and Python.
- Practice and advocate for high-quality engineering standards such as design patterns, SOLID principles, TDD, and CI/CD. Lead by example.
- Ensure software reliability and performance through rigorous quality standards, including comprehensive code reviews, unit testing, and continuous integration.
- Work across all phases of the product lifecycle, from concept and design through to deployment and maintenance.
- Stay abreast of the latest industry trends, tools, and technologies to keep our solutions competitive.
- Take part in continuous improvement initiatives to enhance development processes, tools, and product quality.
- Mentor and support junior engineers, fostering a collaborative, innovative, and growth-oriented environment.
- Work closely with product teams to define requirements, objectives, and deliverables.
- Coordinate with cross-functional teams (ML, Simulation, Robotics) to ensure seamless system integration.
- Engage with stakeholders to gather feedback and ensure solutions meet their needs.
Requirements
Do you have experience in Unit testing?, * Strong experience developing in C++ and Python using high-quality software engineering approaches.
- Experience with container-based architectures and tools (e.g., Docker, Podman) and how to use them to develop and deploy software.
- Fluency with developer tools such as GitHub and CI/CD tools.
- Demonstrable and significant industry experience, or relevant qualifications.
- Proven experience leading a project, feature, or work package.
- Excellent communication skills with both technical peers and business partners.
- Deep familiarity with software engineering practices such as TDD, CI/CD, pair programming, code reviews, and Agile methodologies (Scrum, Kanban)
- Ability to communicate technical concepts to both technical and non-technical stakeholders.
- High level of adaptability, flexibility, and resilience in ambiguous and dynamic environments.
- Keen attention to detail, ensuring quality, reliability, and robustness of solutions.
- Continuous learning mindset and passion for mentoring others.
Desirable Skills:
- Experience developing and deploying Robotic Algorithms (SLAM, navigation, sensor fusion, etc.)
- Experience working with Machine Learning techniques.
- Knowledge of ROS2 or other middleware frameworks for robotic applications.
- Experience working with 3D and video data, including mesh and point clouds.
- Background in mathematical and geometry libraries (Eigen, Numpy)
- Competence in ARM and embedded development.
Benefits & conditions
- Development opportunities and career opportunities in a global, innovative and long-term oriented group of companies with family character
- Funded career and learning development opportunities.
- Flexible, hybrid working.
- 30 days annual leave + bank holidays.
- Company pension scheme where all employees receive a standard 10% employer contribution, with no obligation for employee contributions.
- Company sponsored life insurance and private medical insurance.
- Cycle scheme provided by Green Cycle Initiative.
- Competitive remuneration package