Software engineer
Role details
Job location
Tech stack
Job description
You will work on complex software projects across one or more advanced products, developing robust, high-performance solutions within technically challenging environments. This role requires strong programming expertise and the ability to collaborate closely with multidisciplinary engineering teams to plan, develop, test and deliver high-quality software.
This is an opportunity to contribute to innovative systems where hardware and software integration is critical to product performance and customer value., * Develop and validate new software features, working independently or collaboratively within the team
- Design, implement and maintain clean, object-oriented C/C++ code
- Document software designs and update technical specifications
- Develop unit and system-level tests to ensure reliability and performance
Technical & Innovation
- Identify opportunities to improve efficiency through code reuse and shared frameworks across products
- Contribute to system architecture and high-level design discussions
- Stay current with emerging technologies and software development best practice
Collaboration & Support
- Work closely with hardware and systems engineers to integrate software and hardware solutions
- Participate in peer code reviews and structured development processes
- Use source control and build systems within a professional development environment
- Support mentoring within the team and help improve estimation accuracy
- Provide customer support input when required
Requirements
- Proficient in C/C++ with strong object-oriented programming skills
- Experience developing larger software systems within team environments
- Experience developing for and debugging Linux-based embedded systems
- Familiarity with cross-compilation for multiple hardware architectures
- Experience working within structured development environments including:
- Documented design processes
- Coding standards and guidelines
- Unit and system testing
- Source control systems and peer code reviews
- Strong problem-solving and analytical skills
- Excellent communication and teamwork abilities
- Degree in Software Engineering, Computer Science, Electronic Engineering, Physics or similar discipline or 5+ years of proven software engineering experience with equivalent on the job trainin, * Understanding of DevOps practices and build systems
- Strong mathematical and physics foundations
- Conceptual understanding of GPS, inertial navigation systems, or underwater acoustics