Senior Software Engineer

Fareham
4 days ago
Create job alert

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

Related Jobs

View all jobs

Senior Software Engineer

Senior Software Engineer

Senior Software Engineer

Senior Software Engineer (Betting/Trading)

Senior Software Engineer - C

Senior Software Engineer (C#, ASP.Net,.Net Core) - IOT

Subscribe to Future Tech Insights for the latest jobs & insights, direct to your inbox.

By subscribing, you agree to our privacy policy and terms of service.

Industry Insights

Discover insightful articles, industry insights, expert tips, and curated resources.

How Many Edge Computing Tools Do You Need to Know to Get an Edge Computing Job?

If you’re trying to start or grow a career in edge computing, it can feel like you’re navigating a maze of tools, frameworks and platforms — Kubernetes, Docker, IoT frameworks, AWS Greengrass, Azure IoT Edge, OpenShift, TinyML toolkits, networking orchestration, real-time streaming frameworks, and on it goes. Scroll job boards and community forums and it’s easy to conclude that unless you master every buzzword imaginable, you’ll never get a job. Here’s the honest truth most edge computing hiring managers won’t necessarily say out loud: 👉 They don’t hire you because you know every edge computing tool — they hire you because you can solve real system problems using the tools you know. Tools matter, yes — but only when they support clear outcomes: reliable systems, performance at scale, secure edge deployments and real business value. So how many edge computing tools do you actually need to know to secure a job? For most edge computing roles, the answer is fewer than you think — and a lot clearer when sorted by fundamentals and roles. This guide shows you what matters, what doesn’t, and how to focus your time wisely so you come across as capable, confident and employable.

What Hiring Managers Look for First in Edge Computing Job Applications (UK Guide)

In today’s fast-evolving tech landscape, edge computing is one of the most sought-after fields — blending distributed systems, embedded systems, networking, cloud, IoT, data and real-time processing. But that also means hiring managers are highly selective. They scan applications fast and look for signals of relevance, impact, technical depth and real-world delivery long before they read every line. This guide demystifies what hiring managers in edge computing look for first in your application — so you can tailor your CV, portfolio and cover letter to jump out of the stack. Whether you’re targeting edge systems roles, embedded IoT edge jobs, edge-native data roles, edge platform engineering or edge-AI positions, this checklist will help you position your experience in a way hiring managers can trust immediately.

The Skills Gap in Edge Computing Jobs: What Universities Aren’t Teaching

Edge computing is rapidly moving from niche concept to critical infrastructure. As organisations deploy connected devices, sensors, autonomous systems and real-time analytics, processing data closer to where it is generated has become essential. From smart cities and manufacturing to healthcare, transport, defence and telecommunications, edge computing underpins systems where latency, reliability and resilience matter. Demand for edge computing skills across the UK is rising steadily — yet employers consistently report difficulty finding candidates who are genuinely job-ready. Despite growing interest and academic coverage, universities are not fully preparing graduates for real edge computing jobs. This article explores the edge computing skills gap in depth: what universities teach well, what they consistently miss, why the gap exists, what employers actually want, and how jobseekers can bridge the divide to build sustainable careers in edge computing.