Principle Software Engineer

Northrop Grumman
£40,000 - £49,999, £50,000 - £59,999
29 Nov 2017
08 Jan 2018
Contract Type
Full Time
Job Description
Northrop Grumman is looking to appoint an experienced Principal Software Engineer that will provide technical and functional leadership of engineering teams. Reporting into the the Software Development Manager, we are looking for someone with the ability to work well with change, be a team-player, self-learner and self-starter.

As part of the project leadership team, the successful applicant will take responsibility for all technical aspects of a project. The role requires experience in both Agile and Waterfall Software Lifecycles and will join a team working in a dynamic environment, developing MicroServices written primarily in Go with some Java, deployed in Docker containers and managed by OpenShift/Kubernetes in a Linux environment.

Key Responsibilities
  • Take full responsibility for software development across the project
  • Take responsibility for Requirements Analysis and Definition
  • Identify gaps or ambiguities in the formal customer requirements, seeking customer clarification where necessary
  • Identify opportunities for development of new/additional capabilities or products to generate additional change proposals
  • Act as the Principal Design Authority for a project, providing technical guidance to engineers during all software production activities
  • Act as sign-off authority for formal, deliverable project documentation
  • Supervise multiple teams of engineers carrying out software production activities across a project
  • Take responsibility for development teams’ compliance with the published Quality System and Software Production processes
  • Take responsibility for the pursuit of best practice for software development across the company
  • Liaise with other projects to minimise duplication of effort and maximise knowledge transfer, keeping knowledge of product and project developments current
  • Provide technical management to multiple teams of software development engineers
  • Take responsibility for the estimation of software development and engineering management activities
  • Identify software-related risks and dependencies, provide mitigation strategies where appropriate
  • Take responsibility for software aspects of project planning and scheduling
  • Manage changes to software development activities
  • Take responsibility for ensuring project software development is completed on schedule and within budget
  • Identify training needs of engineers in order to meet project requirement

Person Specification:
Essential criteria;
  • Java and willing to learn Go
  • Detailed understanding of Object Oriented Programming Concepts
  • Ability to lead Engineering teams
  • Continuous Development/Integration processes
  • Linux operating systems as an end user

Preferred criteria;
  • Go
  • Kubernetes/OpenShift
  • Docker
  • Git
  • Jenkins
  • ActiveMQ
  • Python
  • REST
  • JMS.
  • Camel
  • Prometheus
  • Kibana
  • Ansibleo
Additional information:
  • Applicants must be able to hold and maintain UK Government clearances