Search Sonardyne

Follow us

Join Sonardyne

Embedded Software Engineer

Competitive Permanent Blackbushe, Yateley, Hampshire Closing date: 31/5/24

From the Mariana Trench, the deepest point on earth, to surging shorelines and anywhere in-between, we make the impossible possible through our continuous passion for innovation. That innovation comes from our greatest asset: our people.

Our people design, engineer and manufacture technologies that are enabling our customers to discover, navigate, measure, detect and communicate in the toughest environment on earth: Our oceans.

We’ve been actively developing the technology to make the oceans accessible for nearly 50 years and we’re only just getting started…

Our people design, engineer and manufacture technologies that are enabling our customers to discover, navigate, measure, detect and communicate in the toughest environment on earth: Our oceans.

We’ve been actively developing the technology to make the oceans accessible for nearly 50 years and we’re only just getting started…

Who are we looking for?

We need an Embedded Software Engineer to work on complex software projects for one or more products or technology areas. They will closely partner with other team members and technical leads across engineering to plan, develop, test, and deliver software modules that are deployable to the embedded platforms used for Sonardyne’s products. The development workflow includes tightly integrating with in-house simulation tools as part of a software in the loop (SIL) development cycle that extends through to deploying on target hardware and testing on at our in-water test facilities located at Blackbushe and Plymouth.

Your responsibilities:

Software Development

  • Work either individually or collaboratively to develop and validate new features for Sonardyne’s core technologies.
  • Document software and update specifications as required.

Innovation

  • Identify opportunities for software efficiency improvements through code re-use across a varied range of products and projects
  • Keep up to date on technical changes in their area(s) of technical speciality.

Simulation and Validation

  • Develop simulation and validation tools to support the development and testing of data / signal processing algorithms.
  • Validate the performance of software modules on target hardware and assist post-processing of data to improve algorithms and functionality.

Real-time Software

  • Support the deployment of software modules to the real-time codebase.

Collaboration

  • Contribute to architecture concepts, navigation tasks, and development projects as part of a cross-functional engineering team.
  • Deliver software to defined best practices and communicate with the team through presentations, documentation, and reports as required.

The ideal candidate will have the following skills, knowledge and experience:

The role requires the use of C++ to develop software for running on either windows based PCs or Linux based embedded processors

C++

  • Proficient in developing in C++. Understands programming larger software systems in teams of engineers and writing clean and modular code.

Embedded Systems (DevOps/Build Systems)

  • Experience of developing for and debugging on Linux based embedded devices, including cross-compiling for different hardware architectures, virtualisation and docker concepts.

Software Best Practice

Can work in a structured development environment that includes:

  • Documenting designs
  • follow coding guidelines
  • Developing unit and system tests

Use source control systems and engage in peer code reviews.

Communication & Team Working

  • Can communicate and work effectively with other team members, and members of other teams throughout the business to achieve project deliverables

Qualifications

  • A degree in Software Engineering, Electronic engineering, Physics or similar.
Ready to join our energetic, forward thinking team…?
Apply
Share