Senior Developer

Summary

A senior developer delivers and integrates software to form a complete service.

At this role level, you will:

  • plan and lead development on sets of related stories

  • have an understanding of the whole system and take responsibility for teaching this to others

  • work with other disciplines to understand what needs to be built

  • coach and mentor more junior colleagues

  • operate the production services you build

  • find ways to improve system robustness, resilience and stability

Background

Background Components

Description Background

Takes a logical, analytical approach to problem solving and pays close attention to detail.

Prior Knowledge and Skills

Work Activity Components

Title Details

Documentation and version control

Documents work in accordance with agreed standards. Applies version control in accordance with agreed procedures.

Reviews and monitoring

Participates in reviews of own work and leads reviews of colleagues’ work.

Policies, standards and guidelines

Applies agreed standards and tools, to achieve well-engineered outcomes. Identifies issues related to software development activities. Proposes practical solutions to resolve issues.

Knowledge/Skills

Knowledge/Skills Components

Title Depth Details Type

Conceptual Thinking

Acquiring understanding and insights regarding the underlying issues in complex problems or situations through the development of abstract representations, the identification of patterns and the analysis of hypotheses.

Behavioural Skills

Creativity

Taking innovative approaches to problem solving and/or devising inventive and creative solutions.

Behavioural Skills

Attention to Detail

Applying specific quality standards to all tasks undertaken to ensure that deliverables are accurate and complete.

Behavioural Skills

Cross-Functional and Inter-Disciplinary Awareness

Understanding the needs, objectives and constraints of those in other disciplines and functions.

Behavioural Skills

Teamwork

Working collaboratively with others to achieve a common goal.

Behavioural Skills

Application Systems

Familiar with

Technical or functional understanding of Commercial Off-the-Shelf (COTS) applications and/or other bespoke software deployed within the organisation in order to provide system configuration, audit, technical, and/or functional support.

Technical Knowledge and Skills

Application Development Tools

Proficient in

Software tools which automate or assist part of the development process.

Technical Knowledge and Skills

Configuration Management

Familiar with

The discipline that gives precise control over IT assets and components by recording and maintaining information about the ‘configuration items’, including hardware devices, computer programs, software licences, documentation, network devices, and data centre facilities (virtualised and static).

Technical Knowledge and Skills

Programming Languages

Proficient in

A set of codes and syntax (supported by software tools) that enables the unambiguous translation of specified functionality into source code for the creation of computer programs.

Technical Knowledge and Skills

Operational/Service Architecture

Familiar with

Knowledge of the IT/IS infrastructure and the IT applications and service processes used within own organisation, including those associated with sustainability and efficiency.

Technical Knowledge and Skills

Structured Reviews

Proficient in

Methods and techniques for structured reviews, including reviews of technical work products, test plans, business cases, architectures and any other key deliverables.

Technical Knowledge and Skills

Software Testing Tools

Familiar with

Software tools which automate or assist any part of the testing process across all or part of the testing lifecycle.

Technical Knowledge and Skills

Middleware

Familiar with

Software which forms part of the operating platform infrastructure.

Technical Knowledge and Skills

DevOps

Familiar with

The collaborative approach consisting of agile practices, processes, and procedures designed to facilitate rapid IT service and product delivery. DevOps emphasizes people (and culture) and seeks to improve collaboration between development (Dev) and operations (Ops) teams with the aim of shortening the systems development life cycle to provide continuous release of high-quality software.

Technical Knowledge and Skills

Agile

Proficient in

A collection of methods, practises, tools and techniques, underpinned by the Agile Manifesto, that enable teams to deliver high value products and services in small, workable, increments. An Agile culture typically encompasses concepts such as Servant-Leaders; ceremonies, Stand-Ups, Sprints and Retrospectives; and the deployment of tools and techniques such as Backlogs and A/B Testing.

Technical Knowledge and Skills

Techniques for Effective Meetings

Aware of

Methods and techniques for running effective meetings and for understanding and influencing the roles played by participants.

Other Knowledge and Skills

Coaching Techniques

Familiar with

Methods and techniques for coaching individuals or groups by a balanced combination of support and direction, including use of virtual learning environments plus add-ons to augment feedback specific to work items, workflow or career plans.

Other Knowledge and Skills

Standards Writing Techniques

Aware of

Principles, methods and techniques for establishing, documenting, and maintaining standards.

Other Knowledge and Skills

Project Planning and Control Techniques

Aware of

Methods and techniques associated with planning and monitoring progress of projects.

Other Knowledge and Skills

Training Activities

Training Components

Title Details

Corporate Policies, Standards, Procedures, Guidelines and Tools

Policies, standards, procedures, guidelines, software tools and operating system facilities used in everyday work.

Systems Development

Systems development, including development life cycles and methods, organisation interfaces, typical corporate application architectures, project and programme management, risk management and change control.

Advanced Programming Methods and Techniques

Complex methods and techniques for the creation of program code. Typically for use in scientific calculation, for improving operational efficiency of programs or for enhancing the productivity of experienced programmers.

System Testing

Methods and procedures for planning, specifying and executing tests, including levels of testing, e.g. Unit Testing, Integration Testing, System Testing, User Acceptance Testing, Regression Testing, Live User Testing, etc.

Software Configuration

Installation, configuration and tuning of applications or systems software.

Coaching

Concepts, methods and techniques for providing coaching in subject specialisms to individuals or groups (e.g. GROW model).

Mentoring

Methods and techniques for providing mentoring support to less experienced individuals.

Security Awareness

Tools and techniques to help users and employees understand the role they play in helping to combat information security breaches and for IT and security professionals to prevent and mitigate risk.

PDAs

PDA Components

Title Details

Deputising

Standing in for supervisor or manager on a temporary basis during periods of absence.

Job Shadowing and Special Assignments

Undertaking temporary periods or secondments in other roles, inside or outside IT, particularly those that offer a new perspective on own function or exposure to other environments and cultures.

Research Assignments

Exploring a topic which is not part of own normal responsibilities and presenting findings to colleagues and/or management

Gaining Knowledge of Activities of Employing Organisation

Developing an understanding of the potentially diverse range of activities (service, governance, administrative, regulatory, commercial, charitable, industrial, etc.) undertaken by the employing organisation.

Gaining Knowledge of IT Concepts and Techniques

Undertaking study, learning and, where possible, practice in IT concepts and techniques external to own function.

Participation in Professional Body Affairs

Taking an active part in professional body affairs at branch, specialist group, committee or board level.

Negotiating and Influencing

Undertaking learning and practice of negotiating with and influencing others.

Qualifications

Qualification Components

Title Awarding Body

Registered IT Technician (RITTech)

BCS – The Chartered Institute for IT

FEDIP Senior Practitioner

FEDIP

Organisation Skills

Framework » Organisation
Category » Subcategory
Skill Name and Description Level

DDaT » Software Developer

Software Developer – Availability and capacity management

You can define, analyse, plan, forecast, measure, maintain and improve all aspects of the availability of services, including power. You can control and manage service availability to meet business needs cost-effectively, including managing the capability, functionality and sustainability of service components (such as hardware, software, network resources, and software or infrastructure as a service).

2 – Working

You can manage service components to ensure they meet business needs and performance targets.

DDaT » Software Developer

Software Developer – Development process optimisation

You can identify opportunities for improving the development process, make these improvements and evaluate their success. You can work with others to select and implement tools and practices to build confidence and reduce risk in each stage of the software development life cycle (from planning and prioritisation through to build, test, deployment and monitoring).

2 – Working

You can identify process optimisation opportunities with guidance and contribute to the implementation of proposed solutions.

DDaT » Software Developer

Software Developer – Information security

You can maintain the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations. You can design, implement and operate controls and management strategies to allow this.

3 – Practitioner

You can understand information security. You can design solutions and services with security controls embedded, specifically engineered with mitigation of security threats as a core feature.

DDaT » Software Developer

Software Developer – Modern standards approach

You can apply a modern standards approach throughout automation and testing.

3 – Practitioner

You can competently apply a modern standards approach and guide others to do so.

DDaT » Software Developer

Software Developer – Programming and build (software engineering)

You can use agreed security standards and specifications to design, create, test and document new or amended software.

3 – Practitioner

You can collaborate with others when necessary to review specifications. You can use the agreed specifications to design, code, test and document programs or scripts of medium-to-high complexity, using the right standards and tools.

DDaT » Software Developer

Software Developer – Prototyping

You can apply technical knowledge and experience to create or design workable prototypes, both programs and physical outputs. You can understand parameters, restrictions and synergies.

3 – Practitioner

You can approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of prototyping methods and choose the most appropriate.

DDaT » Software Developer

Software Developer – Service support

You can maintain and support services.

3 – Practitioner

You can identify, locate and fix faults.

DDaT » Software Developer

Software Developer – Systems design

You can create the specification and design of systems to meet defined business needs. You can work with business and technology stakeholders to translate business problems into technical designs. You can visualise the ideal user service and come up with design ideas and possible design approaches. You can effectively explore different approaches to solving problems.

3 – Practitioner

You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You can select appropriate design standards, methods and tools, and ensure they are applied effectively. You can review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology.

DDaT » Software Developer

Software Developer – Systems integration

You can identify integration points between systems and processes, designing data contracts and communication between the components. You can make use of modern design patterns that reduce risk and complexity where possible. You can perform integration tests as part of the development process, drawing on suitable testing frameworks and methodologies.

3 – Practitioner

You can define the integration build. You can co-ordinate build activities across systems. You can understand how to undertake and support integration testing activities.

DDaT » Software Developer

Software Developer – User focus

You can understand users and identify who they are and what their needs are, based on evidence. You can translate user stories and propose design approaches or services to meet these needs. You can engage in meaningful interactions and relationships with users. You can show that you put users first and can manage competing priorities.

3 – Practitioner

You can collaborate with user researchers and can represent users internally. You can explain the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to use.

This job role profile was created in collaboration with BCS, using Role Model Plus. BCS is the professional body that has the responsibility of updating this job family.

Give Feedback

The Occupational Architecture Project is interative and dynamic


If you would like to provide feedback on this job role, or the job families, please click the button below.

Give Feedback