Principal Software Engineer

Principal Software Engineer

Full-Time 48000 - 72000 £ / year (est.) No home office possible
STR Group Limited

At a Glance

  • Tasks: Lead the development of cutting-edge autonomy software for unmanned vehicles.
  • Company: Innovative tech company focused on autonomous systems and R&D.
  • Benefits: Competitive salary, flexible working hours, and opportunities for professional growth.
  • Why this job: Join a pioneering team and shape the future of autonomous technology.
  • Qualifications: Expertise in C++, Python, and experience with ROS/ROS2 required.
  • Other info: Dynamic work environment with a focus on collaboration and innovation.

The predicted salary is between 48000 - 72000 £ per year.

Location: Fareham, Hampshire

Responsible to: Autonomy & Control Director

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

Role overview: To lead the software development of a high-level autonomy capability to be deployed to 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 SPECIFICATION

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.

Principal Software Engineer employer: STR Group Limited

As a Principal Software Engineer at our Fareham location, you will join a dynamic and innovative team dedicated to advancing autonomy in unmanned vehicles. We pride ourselves on fostering a collaborative work culture that encourages professional growth through mentorship and hands-on experience with cutting-edge technologies. Our commitment to employee well-being is reflected in our supportive environment, competitive benefits, and opportunities for continuous learning, making us an exceptional employer for those seeking meaningful and impactful work.
STR Group Limited

Contact Detail:

STR Group Limited Recruiting Team

StudySmarter Expert Advice 🤫

We think this is how you could land Principal Software Engineer

✨Tip Number 1

Network like a pro! Get out there and connect with folks in the industry. Attend meetups, conferences, or even online webinars. You never know who might have the inside scoop on job openings or can put in a good word for you.

✨Tip Number 2

Show off your skills! Create a portfolio or GitHub repository showcasing your projects, especially those involving C++, Python, and ROS/ROS2. This gives potential employers a taste of what you can do and sets you apart from the crowd.

✨Tip Number 3

Prepare for interviews by brushing up on your technical knowledge and problem-solving skills. Practice coding challenges and be ready to discuss your past projects in detail. Remember, they want to see how you think and approach complex problems!

✨Tip Number 4

Don’t forget to apply through our website! It’s the best way to ensure your application gets seen. Plus, we love seeing candidates who are proactive about their job search. So, get that application in and let’s make it happen!

We think you need these skills to ace Principal Software Engineer

C++
Python
ROS2
DDS
Embedded Linux
Autonomous System Design
Motion Planning
State Estimation
Behaviour-Based Control
Real-Time Systems
Distributed Computing
Middleware Communication Frameworks
Sensor Fusion Techniques
Deep Learning-Based Perception
Simulation Tools

Some tips for your application 🫡

Tailor Your CV: Make sure your CV highlights your experience with C++, Python, and ROS/ROS2. We want to see how your skills align with the role of Principal Software Engineer, so don’t be shy about showcasing relevant projects or achievements!

Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you’re passionate about autonomy and how your background makes you a perfect fit for our team. We love hearing about your problem-solving skills and innovative ideas.

Showcase Your Projects: If you've worked on any cool projects related to autonomous systems, make sure to mention them! We’re keen to see examples of your work, especially those involving obstacle avoidance or path planning algorithms.

Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you don’t miss out on any important updates from our team. Let’s get started on this journey together!

How to prepare for a job interview at STR Group Limited

✨Know Your Tech Inside Out

Make sure you brush up on your C++, Python, and ROS/ROS2 skills. Be ready to discuss specific projects where you've implemented algorithms for autonomy or obstacle avoidance. The more detailed examples you can provide, the better!

✨Showcase Your Problem-Solving Skills

Prepare to talk about complex challenges you've faced in previous roles, especially in R&D or production environments. Highlight how you approached these problems and the innovative solutions you developed. This will demonstrate your critical thinking and adaptability.

✨Collaboration is Key

Since this role involves working with cross-functional teams, think of examples where you've successfully collaborated with engineers from different disciplines. Emphasise your communication skills and how you ensure everyone is on the same page during projects.

✨Be Ready for Technical Questions

Expect some technical questions or even coding challenges during the interview. Practice explaining your thought process clearly while solving problems. This will show your depth of knowledge and ability to articulate complex ideas effectively.

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

>