Principal Software Engineer

Job title: Principal Software Engineer - Autonomy

Location: Fareham, Hampshire

Responsible to: Autonomy & Control Director

Liaison with: All Kraken staff, sub-contractors, customers, and suppliers

Role overview: To lead the software development of a high-level autonomy capability to be deployed to all Kraken autonomous vehicles. This is a diverse R&D-led role covering vessel guidance, mission frameworks and behaviours, obstacle avoidance, and other high-level capabilities including modern AI techniques.

Most development will require strong expertise with C++, Python, ROS/ROS2, DDS, and embedded Linux environments. You will be responsible for designing, implementing, and optimising autonomy algorithms and systems in both experimental and production settings. You should be comfortable handling complex workloads across R&D, prototyping, and mission-critical production deployments.

Primary responsibilities include, but are not limited to:

  • Lead the development and implementation of high-level autonomous behaviours for unmanned vehicles.
  • Design and optimise algorithms for obstacle avoidance, path planning, and mission-level autonomy.
  • Work extensively with ROS2, DDS, and Linux-based systems to develop robust autonomy software.
  • Collaborate with cross-functional teams, including perception, navigation, and hardware engineers, to integrate autonomy solutions.
  • Develop and maintain high-quality, well-documented code using C++ and Python.
  • Conduct rigorous testing and validation of autonomy software in both simulated and real-world environments.
  • Provide technical leadership, mentoring, and guidance to junior engineers and researchers.
  • Balance R&D experimentation with production-level software deployment and optimisation.

PERSON SPECIFICIATION

Essential skills, knowledge and experience:

  • Extensive experience in C++, with a focus on software architecture and algorithms.
  • Strong understanding of autonomous system design, including motion planning, state estimation, and behaviour-based control.
  • Experience working with Linux, including system-level debugging and performance tuning.
  • Solid knowledge of real-time systems, distributed computing, and middleware communication frameworks.
  • Experience developing and deploying software in an R&D and production environment.
  • Excellent problem-solving skills with the ability to innovate and iterate on autonomy algorithms.
  • Strong verbal and written communication skills, capable of conveying complex technical ideas clearly.

Desirable skills, knowledge and experience:

  • Proven expertise in ROS or ROS2 and/or DDS based systems, Python.
  • Experience with sensor fusion techniques (LIDAR, RADAR, cameras, IMUs).
  • Knowledge of deep learning-based perception for autonomous systems.
  • Experience with simulation tools such as Gazebo, CARLA, or Unreal Engine.
  • Familiarity with real-time and embedded systems.
  • Familiarity with cloud-based robotics and containerization (Docker, Kubernetes).
  • Familiarity with PX4 and MAVLink based flight control systems.
  • Previous work in the defence, aerospace, or maritime autonomy sectors.

Key behaviours that align with our commitment to excellence, collaboration and efficiency within the workplace:

  • To be punctual and manage workload effectively to meet deadlines and priorities.
  • Clearly convey ideas and information while actively listening to others.
  • Work well with colleagues to achieve common goals and support team members as needed.
  • Identify issues and develop practical solutions in a timely manner.
  • Maintain a high standard of conduct, respecting confidentiality and addressing challenges respectfully.
  • Ensure work is accurate, thorough and free from errors through careful review.
  • Take ownership of tasks, following through on commitments.
  • Maintain professionalism in client interactions.

General accountabilities and responsibilities:

  • To use personal judgement and initiative to develop effective and constructive solutions to challenges and obstacles in day-to-day activities and procedures within the specified role
  • To maintain personal ability in, and appropriate use of, all relevant IT (Information and Technology) and other systems required to adequately perform the role
  • To act ethically, with integrity and in the best interest of the business at all times
  • To maintain a professional and supportive relationship with team members and other departments to deliver business objectives or deadlines
  • To carry out any other duties as detailed by a member of the senior management team or authorised representative
  • To keep good time management to minimise any wasted time and maximise productivity and effectiveness

Health & Safety responsibilities:

  • To ensure that the working area is a clean and a safe environment in compliance with the best practice and health and safety policies
  • To ensure any equipment used is safe, within electrical test date and all guards and interlocks are working and in place
  • To act safely and responsibly in line with company processes and Health and Safety procedures to ensure your safety and the safety of others
  • To report any potential Health and safety hazards or violations to your line manager or directly to the QHSE Manager
  • To ensure any PPE or work wear required or provided for the job is worn and checked regularly for wear and then reported when replacements required

Job Details

Company
Insignis
Location
Nationwide, United Kingdom
Employment Type
Permanent
Posted