Job title: SENIOR SOFTWARE ENGINEER
Responsible to: ENGINEERING MANAGER - SYSTEMS AND SOFTWARE
Salary: 44 to 48k
Location: Fareham
Overall Purpose/Objectives of Role
1.To develop and implement structured software solutions to meet programme requirements across the whole software development lifecycle in accordance with customer requirements, legislation, human factors and business needs
2.To be responsible for the control of own work and that of any allocated resource to meet agreed technical, quality, cost and schedule requirements.
Key duties:
1.To develop innovative software solutions to meet the requirements of the project to agreed schedule, quality and cost requirements across the whole software development lifecycle within the context of the MAv lifecycle management process
2.To work with customers, other engineering disciplines and other internal departments across the software development process and respond to their requests in a timely and professional manner
3.To compile software plans, estimates, task lists and risk management plans with estimated resource requirements (people and equipment) in support of programme objectives, estimates and bids
4.To track and control internal software project activities and external sub-contract organizations, whilst maintaining focus on achieving goals with a positive can-do attitude
5.To discover, document, and analyse software requirements in order to define the functions to be implemented in software
6.To define the basic structure of systems at the architectural and detailed levels, division into modules, definition of interfaces for modules, and choice of algorithms within modules
7.To construct and implement embedded software including detailed design, coding, debugging, unit testing, technical reviews, and performance optimisation
8.To define strategies in order to comprehensively execute software to detect defects and evaluate features
9.To generate/perform and approve test plans, test case design and other specific kinds of tests including development tests, unit tests, component tests, integration tests, system tests, regression tests, stress tests, and acceptance tests
10.To provide confidence that software work products conform to all aspects of technical and quality requirements through robust configuration control, review and change management processes
11.To understand and implement the requirements for certification of safety critical software in partnership with the appropriate development assurance level requirements and processes
12.To assist the Engineering Manager in the formulation of Software strategy and continual process improvement, in support of the company business and strategic objectives
13.To provide effective technical support, including customer liaison, to the Marketing department
14.To provide effective technical support to other departments as required.