Developer

Summary

A developer delivers software components that form part of a product.

At this role level, you will:

  • develop software to meet user needs

  • follow best practice guidelines and help to improve those guidelines

  • write clean, secure and well-tested code

  • coach and mentor more junior colleagues

  • operate the services you build and identify issues in production

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

Policy, standards and guidelines

Applies agreed standards and tools as required, to achieve a well-engineered result.

Documentation and version control

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

Reviews and monitoring

Collaborates in reviews of work with others as appropriate. May be involved in peer review activities such as pair programming. Monitors and reports on progress.

Knowledge/Skills

Knowledge/Skills Components

Title Depth Details Type

Analytical Thinking

Acquiring a proper understanding of a problem or situation by breaking it down systematically into its component parts and identifying the relationships between these parts. Selecting the appropriate method/tool to resolve the problem and reflecting critically on the result, so that what is learnt is identified and assimilated.

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

Verbal Expression

Communicating effectively using the spoken word.

Behavioural

Written Expression

Communicating effectively in writing, such as reports and via emails.

Behavioural

Teamwork

Working collaboratively with others to achieve a common goal.

Behavioural

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

Aware of

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

Familiar with

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

Aware of

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

Aware of

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

Familiar with

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

Time Management Techniques

Proficient in

Methods and techniques for making effective use of own time.

Other Knowledge and Skills

Coaching Techniques

Aware of

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

Training Activities

Training Components

Title Details

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

Participation in Group Activities

Participating in group activities inside or outside of the working environment that can assist with the development of interpersonal skills.

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.

Gaining Knowledge of Employing Organisation

Gaining basic knowledge of the employing organisation, its business, structure, culture, policies, products/services, operations and terminology.

Gaining Knowledge of Surrounding Technical Areas

Gaining knowledge of IT activities in employing organisation external to own function.

Research Assignments

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

Involvement in Professional Body Activities

Attending meetings, seminars and workshops organised by professional body and reading published material, such as journals and web content.

Team Working

Undertaking learning and practice in the techniques of team and collaborative working. Gaining an understanding of the underlying concepts.

Communications

Undertaking learning and practice in oral and written communications, including report writing and presentation.

Qualifications

Qualification Components

Title Awarding Body

Registered IT Technician (RITTech)

BCS – The Chartered Institute for IT

FEDIP Practitioner

FEDIP

Organisation Skills

Framework » Organisation
Category » Subcategory
Skill Name and Description Level

DDaT » Software Development

Software Development – 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 Development

Software Development – 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).

1 – Awareness

You can explain the importance of developing process efficiency and the common ways in which processes are optimised. You can support specific activities to improve development processes. You can spot or identify obvious deficiencies.

DDaT » Software Development

Software Development – 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 Development

Software Development – 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 Development

Software Development – 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 Development

Software Development – 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 Development

Software Development – Service support

You can maintain and support services.

2 – Working

You can help fix faults following agreed procedures. You can carry out agreed maintenance tasks on infrastructure.

DDaT » Software Development

Software Development – 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.

2 – Working

You can translate logical designs into physical designs. You can produce detailed designs. You can effectively document all work using required standards, methods and tools, including prototyping tools where appropriate. You can design systems characterised by managed levels of risk, manageable business and technical complexity, and meaningful impact. You can work with well-understood technology and identify appropriate patterns.

DDaT » Software Development

Software Development – 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.

2 – Working

You can build and test simple interfaces between systems. You can work on more complex integration as part of a wider team.

DDaT » Software Development

Software Development – 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