Senior Software Engineer
Senior Software Engineer required reporting to the Software Team Lead. The role spans the full software development life-cycle encompassing requirements derivation, architectural design analysis, implementation, integration and test.
Typical activities will include:
- Interpret functional and non-functional software requirements embodying them in detailed software designs that align with the broader software architecture.
- Develop and update software solutions, using the C++ programming language, validating fulfilment of requirements and adherence to detailed software designs.
- Effectively identify defect and failure root cause, then using the knowledge gained, identify appropriate design and implementation changes to effect resolution.
- Perform all software tasks in full adherence to the project's software development process, associated policies and guidelines.
- Ensure component regression tests are maintained and extended in-line with new development and defect resolutions.
The successful candidate will have the below skills/experience:
- Considerable experience across Software Requirements Capture, Architectural Design, Implementation and Test.
- Professional experience developing distributed, multi-threaded, real-time software systems.
- Professional experience implementing software applications and services using C++.
- Excellent analytical and problem solving skills.
- Proficient in design capture in UML using Object Orientated Design (OOD) methodologies.
- Familiarity with software configuration and change control best practice.
Candidates must be willing to undergo the security vetting procedure.