OVERVIEW OF ROLE
Advanced Navigation enters a new phase of Growth and International expansion. The Software Platforms team is on a mission to develop software to ensure that our products are the most reliable, high performance navigation products in the world. As a Software Engineer you will be instrumental in realising this ambition, developing software to solve real world problems with real world impact.
ROLES & RESPONSIBILITIES
- Working closely with a passionate team of engineers to develop web based frontend applications in Typescript using React framework interfacing with embedded C/C++ running on realtime microcontroller and embedded Linux architectures
- Work closely with the Product Owner and Product Manager to ensure project requirements are being met, timelines are realistic, being adhered to and that the engineering designs meet requirements
- Work in tandem with embedded software engineers to ensure seamless integration between user interface and navigation hardware solutions.
- Develop jigs and self test capabilities to test and automate production of products
- Take ownership and responsibility for a component of a project and manage deadlines and reporting for the component.
- Deliver quality software solutions to agreed schedules and deadlines
QUALIFICATIONS, EXPERIENCE & SKILLS
- Degree qualified Engineer with specialisation in computer systems or software
- Be comfortable deep diving into technical topics and learning new skills to solve new problems
- A track record of turning high level discussions into detailed, personal work plans and reporting progress to management
- A proactive self-starting approach with a track record of initiative, personal responsibility, ownership of work and reputation for making things happen
- Be highly motivated with an energetic, responsive and decisive disposition;
- Proven high standard of attention to detail, time management and “follow-through”.
- Have 5+ years of engineering experience with a proven record of handling both frontend and backend development tasks.
- Proficiency with modern C++ for embedded software products
- Experience with Node.js for backend development displaying an understanding of its asynchronous, event-driven architecture.
- Proficiency in TypeScript, demonstrating a clear understanding of static types and interfaces, and the ability to utilise these to write more robust code.
- Hands-on experience with React for frontend development, showing a capability in crafting efficient and reusable components and managing application state using hooks or state management libraries.
- Have experience releasing production quality software
- Experience with FreeRTOS real-time operating system
- Eye for UX and an ability to work closely with a UX designer to