Belfast, County Antrim
6 months ago
EMBEDDED SOFTWARE ENGINEER - 6 month contract, Belfast
PRIMARY PURPOSE OF THE ROLE:
The successful candidate will work as part of a team of Software Engineers in one of our client's multi-discipline programmes and will participate in all phases of the software development lifecycle. This will involve embedded software development, targeting off the shelf high-technology sub-systems or in-house processor-driven boards using a range of real-time operating systems.
Software assignments will be across product lines with a military focus, including (for instance) land vehicle platforms, missiles and training systems.
KEY RESPONSIBILITIES AND TASKS:
- Designing and developing real-time embedded software solutions.
- Integrating and debugging solutions on target hardware, addressing issues arising during hardware/software integration
- Targeting multiple real-time platforms (e.g. VxWorks and MicroC/OS) using C (and some C++)
- Developing to alternative software lifecycles with participation in all aspects of the software lifecycle
- Software requirements management and traceability using industry best practice, tools and techniques.
- Software test planning and execution (Unit, Integration and System Level)
- Developing software solutions with a view to reuse.
- Documenting all aspects of the software production process in accordance with company processes and standards
KEY SKILLS / PROVEN ABILITY
- Knowledge of embedded real-time software development.
- Knowledge of the hardware/software interface.
- Understanding of real-time operating system behaviour.
- Appreciation of software requirements analysis, specification & design
- Knowledge of procedural C language
- Understanding of data communications (e.g. 1553, RS422) and networking
- Understanding of the principles and levels of software testing
- Practical experience of integrating embedded solutions on target hardware.
- Debugging on a target hardware platform.
- Track record of developing C/C++ applications.
- Knowledge of UML
- Knowledge of Agile development methodologies
- Graphical User Interface design and development
- Understanding of software configuration control
- Knowledge of one or more of VxWorks, uC/OS or SYS/BIOS
- Knowledge of object-oriented languags (C++)
- Model-driven software development using UML.
- Graphical User Interface development.
- Using change management and version control systems.
- Developing under a range of software methodologies.