Lead Software Engineer
Role details
Job location
Tech stack
Job description
You will play a key role in designing and delivering advanced software solutions for underwater robotic systems. This position focuses on developing innovative, high-quality software aligned with business and project requirements. As a Software Lead, you will take ownership of project delivery while leading multidisciplinary engineering teams to develop technically complex solutions for subsea vehicles and associated robotic systems. Key Responsibilities
- Lead the delivery of complex software projects for underwater robotic systems
- Develop and define software architectures for large-scale, integrated systems
- Translate high-level system requirements into detailed technical specifications
- Maintain a system-level perspective while overseeing detailed implementation
- Act as a technical authority and primary point of contact for stakeholders and customers
- Communicate complex technical concepts to both technical and non-technical audiences
- Plan, estimate, and manage work packages, resources, and budgets
- Ensure adherence to software quality standards and industry best practices
- Implement and improve development processes and methodologies
- Mentor and support the development of junior engineers
- Manage workload distribution across teams to ensure efficiency and balance
Requirements
-
Minimum 7 years' experience in a senior software engineering role
-
Degree in a relevant engineering or technical discipline
-
Strong understanding of software systems across embedded and application layers
-
Proven experience leading multidisciplinary software teams
-
Experience designing software architecture for complex systems
-
Solid understanding of modern software development methodologies
-
Experience with safety-critical systems and design principles
-
Ability to engage directly with customers and stakeholders
-
Strong estimation, planning, and organisational skills
-
Practical knowledge of software standards and compliance
-
Awareness of cybersecurity principles and their impact on system design Technical Expertise Experience with a selection of the following technologies (across Windows and Linux environments):
-
C++, Python, JavaScript
-
XML, JSON, HTML, CSS
-
Web frameworks and backend technologies (e.g. Angular, Django, Node.js, React, Apache)
-
WebSockets and real-time data systems
-
Docker and containerisation
-
Networking protocols (TCP/IP, UDP)
-
SQL and database technologies
-
Debugging and diagnostic tools (e.g. Wireshark, system logs)
-
Cybersecurity principles