Our Client are looking for a Senior Embedded Software Engineer to be an integral team member in our Guidance, Navigation and Control (GN&C) of customer cutting edge marine (subsea) robotic vehicles .
The senior embedded software engineer works as the domain expert for one or more feature or function within a product. They are expected to have a deep knowledge of one or more technical stacks. They will closely partner with other team members and technical leads across engineering to plan, develop, test and deliver software for Sonardynes products.
Your responsibilities:
Software Development
* Plan, architect, develop and validate new features for the organisations products.
* Document software and update specifications as required.
Embedded Systems
* Understand the deployment of real-time operating systems for low latency sensing and communication.
* Design, develop, and debug complex embedded systems utilising a broad range of communication protocols and peripherals.
* Hardware in the loop testing, debugging, and validation.
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.
Collaboration
* Partner closely with other members across the engineering department to enable the fusion of hardware and software to add value to the customer.
* Work with technical leaders to contribute to design and architectural concepts.
* Able to explain complex technical concepts to non-technical team members to enable quick decision making within the business.
* Mentor and share best practices and latest technical developments with fellow team members.
* Help and coach others to form accurate timescale estimates within the team.
Candidates will have the following skills, knowledge and experience:
Expert knowledge :-
* Able to code at expert in their C & C++ targeted at Linux based embedded systems.
* Experience of developing for and debugging on Linux based embedded devices, including cross-compiling for different hardware architectures, virtualisation and docker concepts.
* Experienced working with Buildroot or Yocto based systems.
Proficient in :
* Can work in a structured software development environment that includes:
o Architecting & documenting designs.
o Following coding guidelines.
o Developing unit and system tests.
* Use source control systems and engage in peer code reviews.
* Proactively communicate and work effectively with other team members, and members of other teams throughout the business to achieve project deliverables.
It is essential that applicants must have a Degree in Electrical / Electronic Engineering, Physics, Maths, Software Engineering or Computer Science Or relevant 5+ years of proven software engineering job experience and on the job training equivalent to a degree.