Overview
The Senior Software Engineer will be responsible for the development of complex firmware software solutions for vehicle diagnostic applications communicating with vehicle ECUs via CAN bus and forwarding data using Bluetooth® and WLAN protocols. Ideally the candidate should be very familiar with CAN bus protocols using the appropriate ISO standards. Ideally the candidate will also have experience developing solutions using Bluetooth® version v4.2 and above.
The candidate will have experience working at a senior level within an embedded software development team and being experienced with all aspects of software development including software architecture and design,developing solutions in an Agile environment, development QA process and development testing techniques.Familiarisation with build servers and continuous integration would be an advantage.
Experience
The candidate should be educated to bachelor degree level or have the relevant professional knowledge and have more than 5 years’ experience in software development including a similar amount of time working in a software support environment. Working in an Automotive environment is desirable but not essential.
The candidate should also have experience working in multidisciplinary teams at a senior level promoting best practice and good design and have experience in mentoring junior staff. Working in or with international teams is desirable.
Areas of Responsibility / Tasks
• Responsible to analyse and/ or create software specifications for assigned high complexity modules/ components based on the information received from technical responsible (e.g. Software Project Manager, Project Manager).
• Provides effort estimations for allocated modules/ components.
• Agrees with technical responsible the technical content and terms of delivery.
• Responsible to define software architecture or contributes to the software architecture with specific information from his area of responsibility.
• Responsible for defining software design for allocated high complexity modules/ components/ functionalities and documents this step, according to established processes and methods.
• Responsible for implementing high complexity modules/ components according to established software specifications & design.
• Responsible for software integration activities for assigned project/s, based on software architecture and software specifications.
• Responsible for creating test specifications and executing tests for allocated high complexity modules/components, according to the development process.
• Responsible for creating integration test specifications at software system-level and executing integration tests.
• Responsible for organizing reviews after each development phase, for all his work products, according to the development process.
• Implements agreed on updates and documents the result.
• Responsible for performing reviews for others' work products.
• Responsible to plan his work and report regularly to Project Responsible the status of his activities.
• Responsible for software project management activities when necessary. Plan and track own and other's work packages.
• Responsible for following required processes and methodologies.
• Responsible to share process related knowledge with inexperienced colleagues.
• Actively participates in audits.
• Responsible for mentoring and coaching other Software Developers.
• Provides technical support for team members.
• Responsible to share the know-how from his/ her area of expertise.
• Provides technical/ project specific/ on-the-job trainings to team members.
• Responsible to propose solutions for improvement in his area of expertise, process, procedures
Knowledge :
Personal :
OPENLANE
SoftDesign
HERE Technologies
David Kennedy Recruitment Ltd.
Home Care Pulse