Responsibilities:
- Design, develop and maintain embedded code, written in C/C++.
- Guide junior developer. Perform code review.
- Integrate software with hardware and optics.
- Software integration of solutions, including fault finding. Ensure all legacy software is supported.
- Collaboration with internal design disciplines and external suppliers to develop successful design solutions.
- Compliance with all health and safety requirements and safe practices and procedures.
- Preparation of high-quality documentation and drawings associated with the development lifecycle and configuration.
- Assistance and liaison with project teams on software aspects of products and systems.
Requirements:
- Degree in Electrical / Electronics / Computer Engineering / Computer Science or a relevant discipline.
- At least 6 years’ experience in object-oriented software development in C++ on Embedded platforms (e.g. QNX, Vxworks, Embedded Linux).
- Developed software in at least four full Software Development Lifecycle.
- Highly proficient in coding with multi-threading, socket programming and serial/USB communication.
- Expertise in writing Requirements Specification, Use Cases, Design Documentation, and designing software using object oriented software design and UML modelling
- Strong analytical and problem-solving skills
- Good written and verbal communication skills
- Self-motivated, independent and a good team player
Prior experience in following areas Scrum AGILE methodology process:
- Scrum AGILE methodology process
- Develop and integrate embedded devices with cloud platforms
- Develop and integrate vehicle side Information Technology for Public Transport (ITxPT) services, like GNSS and AVMS services.