Job Purpose (Role Definition)
:
This is a hands-on role. The applicant will require a 'can do' approach focused on team orientated software development within an iterative agile environment. They will have a passion for learning new technologies whilst catering for legacy systems and have demonstrable experience of the full software development lifecycle (Requirements capture, analysis, design, development and test).
Main Duties And Responsibilities
* Coordination of all software product lifecycle activities leading to successful project implementation
* Creates, shares and documents code using appropriate methodologies
* Review and interpretation of product specifications
* Proposes and implements improvements to technology and process
* Collaborates on solutions for multiple projects
* Makes recommendations with Return on Investment in mind
* Preparation of technical specifications, test plans and operational documentation
* Software configuration management and version control
* Develop and maintain a high level of communication with the hardware engineers related to current projects and product design
* Assists with the support and development of software engineers by providing advice, mentoring and educational opportunities
Management Responsibilities
None
Required
Experience and Qualifications Required
* Embedded C++ GUI experience using GDI.
* Win32 APIs within an embedded time critical platform, preferably WEC 7
* Strong debugging experience within IDE environments, preferably Visual Studio
* Multithreaded/ multi-process development on RTOS's.
* Agile Development with SOLID Design Principles
* Verification preferably within a regulatory controlled environment, Design Review, Static Analysis, Code reviews, Unit Test, System Test.
* Software configuration management e.g., SVN/GIT
Desirable
* Exposure to UML.
* Working within a regulated software environment
* Risk management / Risk based design
* Multi-processor safety critical systems
* Unit Test tools e.g., xUnit, Tessy, Cantata, LDRA, Vectorcast
* SonarQube, CppDepend, Lint
* C#, Java
* Embedded web development e.g. React,, Javascript, Python
* Jenkins / MS Build
Key Skills And Competencies
* Good team Ethic
* Strong analytical and problem-solving skills
* Ability to communicate
* Customer focus