C++ Lead Developer

Recruiter
BAE Systems.
Location
Gloucester
Salary
Competitive
Posted
02 Aug 2019
Closes
15 Sep 2019
Ref
72937
Sector
Consultancy
Job Type
Permanent
1. Role Details
Role
C++ Software Engineer
Practice
Software Engineering
Version
0.4

2. Role Purpose
The Software Engineer analyses requirements, designs, implements and unit tests software code and supporting artefacts using appropriate tools and following the disciplines and practices of BAE Systems.

3. Common Role Accountabilities
The Software Engineer:
    Produces or validates the schedule and effort estimate for each task they perform Demonstrates an understanding of the importance of schedule and will endeavour to estimate accurately and deliver according to those estimates Demonstrates skill and adeptness in team collaboration, technical discussion and negotiation. Continually increase personal understanding of the languages, frameworks, technical concepts, methods and measurements that underpin the Engineering disciplines and practices of BAE Systems. Demonstrates the ability to understand, challenge, contribute or construct software specification and is capable of building software in line with the specifications Exploits appropriate software development methods, languages, libraries and techniques and applies these to software engineering tasks to realise the most effective outcome Ensures that all work is consistent with defined standards where standards exist and to withstand professional scrutiny in any case Ensures that high quality and delivery standards are met and consistently delivers quality code on time and within estimate. Demonstrates the ability to reflect on and improve personal performance Works as a member of a development team, collaborates with other team members and participates in technical discussions and conversations with customers.

4. Level Specific Accountabilities

Depending on the particular job being performed, seniority and experience a software engineer may typically have a range of these specific accountabilities.

Core engineering- entry level accountabilities (interns, graduates and apprentices might receive training before being expected to meet these)
    Completes Software tasks as directed by the Software Development Team Leader Designs, codes, tests, corrects and documents simple programs, and assists in the implementation of software which forms part of a properly engineered information or communications system with limited supervision from more senior engineers Provides accurate estimates of development effort needed to design, code and test software from given specifications Logically analyses code defects and produces timely code fixes


Core engineering - mid-level accountabilities
    Designs, codes, tests, corrects, and documents moderately complex programs and program modifications from supplied specifications, using agreed standards and tools Conducts reviews of supplied specifications, with others as appropriate Overcomes development obstacles to deliver quality code on time Demonstrates high quality standards in the delivery of thorough unit testing of code Collaborates and negotiates with team members to produce a seamless integration of code into the solution

Core Engineering - top-level accountabilities
    Designs, codes, tests, correct and documents large and/or complex programs and program modifications from supplied specifications using agreed standards and tools, to achieve a well-engineered result. Takes part in reviews of own work and leads reviews of colleagues' work Works closely with other teams in the lifecycle (e.g. build, operations, testing) to ensure that the delivery of software is coherent within the overall pipeline


Expert Technologist accountabilities
    Demonstrates a high productivity of design, code and unit test Recognized as the expert and point of contact for at least one key software component or technology Defines and leads the direction of implementation technology in a complete technology area (for example Java or Microsoft)


Delivery/lifecycle management accountabilities
    Shepherds all development activity through the development lifecycle paying particular care to ensure that all quality processes, gates and controls are followed. Sets standards for programming tools and techniques, advises on their application and ensures compliance. Takes technical responsibility for all stages in the software development process. Prepares project and quality plans and advises systems development teams. Provides advice, guidance and assistance to less experienced colleagues as required.


Team leadership Accountabilities
    Nurtures and guides the technical ability of lower grade Software Engineers. Manages a team of software engineers in the production of software Provides input into the performance reviews of development staff Provides career guidance to development staff


Role-Specific Technologies:

Essential skills and knowledge:
Strong C++
Experience of modern libraries including STL
Good grasp of networking fundamentals.
Ability and desire to learn new programming languages and technologies quickly.
Proven problem-solving and fault-finding skills.
Evidence of innovation and initiative.
Linux development experience.
Experience of scripting languages
Attention to detail and accuracy
SC (minimum) clearance

Highly Desirable
Python
Java
Experience of modern libraries including Apache libraries (NiFi etc)
Docker
Knowledge of distributed version control systems
Experience with automated build and continuous integration suites
Understanding of low-level computing concepts
Defect Tracking software (JIRA preferred)
Excellent interpersonal skills
DV Clearance

Desirable competencies and experience
Windows development experience.
Scripting languages Ruby, Bash
Experience planning, estimating and designing system components
Customer facing skills
VoIP/VTC standards Other
Flexible working options (project dependent)

About BAE Systems Applied Intelligence
We use our intelligence-led insights to help defend Governments, Nations and Societies from cyber-attacks and financial crime. Our customers depend on our evolving capabilities to help them safely grow their organisations. Our unprecedented access to threat intelligence, world-leading analysts and market-leading technology means we can help them to adapt, evolve and stay ahead of the criminals.
Division overview: Capabilities
At BAE Systems Applied Intelligence, we pride ourselves in being a leader in the cyber defence industry, and Capabilities is the engine that keeps the business moving forward. It is the largest area of Applied Intelligence, containing our Engineering, Consulting and Project Management teams that design and implement the defence solutions and digital transformation projects that make us a globally recognised brand in both the public and private sector.
As a member of the Capabilities team, you will be creating and managing the solutions that earn us our place in an ever changing digital world. We all have a role to play in defending our clients, and this is yours.
 
Diversity and inclusion are integral to the success of BAE Systems Applied Intelligence. We are proud to have an organisational culture where employees with varying perspectives, skills, life experiences and backgrounds - the best and brightest minds - can work together to achieve excellence and realise individual and organisational potential. We also welcome discussions about flexible working.

Similar jobs

Similar jobs