Software Engineer
Role details
Job location
Tech stack
Job description
- Design, develop, test, and maintain software features for Sonardyne's products.
- Work independently or collaboratively within project teams to deliver high-quality software.
- Write clean, well-structured, and maintainable code using modern software engineering practices.
- Produce and maintain clear technical documentation and software specifications.
Innovation & Continuous Improvement
- Identify opportunities to improve efficiency through code reuse across multiple products and projects.
- Stay up to date with new tools, technologies, and best practices within your technical domain.
Collaboration & Engineering Integration
- Work closely with engineers across the wider Engineering department to integrate software and hardware into complete systems.
- Contribute to software design and architectural discussions with technical leaders.
- Share knowledge, best practices, and emerging technologies with the team.
- Support estimation and planning activities by contributing to accurate timescale assessments.
Support
- Provide software support for internal teams and, where required, customers.
- Occasionally travel to Plymouth for system integration and testing activities.
Requirements
You are a motivated and adaptable Software Engineer who enjoys solving complex technical problems and working as part of a collaborative engineering team. You take pride in producing high-quality code and thrive in environments where attention to detail and reliability are essential., * Proficient in C / C++, with experience developing object-oriented software in team environments.
-
Experience developing and debugging software for Linux-based embedded systems.
-
Familiarity with build systems, cross-compiling for different hardware architectures, and concepts such as virtualisation and Docker.
-
Strong understanding of software engineering best practices, including:
-
Design documentation
-
Coding standards
-
Unit and system testing
-
Source control and peer code reviews
-
Strong communication skills and the ability to work effectively with multidisciplinary teams.
-
Degree in Software Engineering, Computer Science, Electronic Engineering, Physics, or a related discipline or
-
relevant professional software engineering experience with equivalent on-the-job training.
It would be a bonus if you had:
- Experience mentoring or coaching other engineers.
- A customer-focused mindset with experience supporting deployed systems.
- An interest in or exposure to navigation, positioning, or acoustic systems.
- Strong grounding in Mathematics and Physics.
- Conceptual understanding of GPS, inertial navigation, or underwater acoustics.