Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Role > Competencies > Software Engineering.md #743

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
335 changes: 335 additions & 0 deletions roles/competencies/software_engineering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,335 @@
# SFIA 1 Role Guidance: Academy Software Engineer

[SFIA Level 1: Follow](https://sfia-online.org/en/sfia-7/responsibilities/level-1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps the links should go to sfia-8 as that's what it currently is in the rest of the handbook now

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, agreed.


## Required competency for role

### Autonomy

Works with other engineers above their level to be effective, seeking help rather than staying blocked and takes responsibility for requesting and addressing feedback on independent contributions.

### Influence

Shares opinions on approach with team and plays an active part in workshops and group activities.

### Complexity

Combines existing knowledge, additional research and direction from colleagues to complete tasks.

### Knowledge

Demonstrates ability to self-learn new knowledge, skills and behaviours.

### Business Skills

Has sufficient communication skills for effective dialogue with others.

## Competency Checklist

- 1.1: Learning the basics of how technology can be delivered with a Made Tech spin
- 1.2: Needs to pair with other Engineers above their level to be effective, but is likely to be mentor-mentee relationship
- 1.3: Seeks feedback and guidance on contributions
- 1.4: For contributions delivered independently; there is typically a lot of constructive feedback and guidance illuminates new knowledge and skills
- 1.5: Influencing others around them by sharing opinions on approach
- 1.6: Able to talk through thought process in pairing situations
- 1.7: Involved in mob sessions
- 1.8: Involved and engaged in retrospectives
- 1.9: More often than not needs to seek advice to raise issues or provide feedback to others
- 1.10: Applies what they have been taught in Academy by following rules, often without full consideration of the tradeoffs made
- 1.11: Needs to seeks advice to understand what is possible, and needs assistance to adapt to delivery team specific needs
- 1.12: Is able to reason and strategise about tiny slices of a whole problem, and require assistance to consider wider impact of work
- 1.13: Is learning new knowledge, skills and behaviours
- 1.14: Needs regular advice and guidance
- 1.15: Is constantly re-defining internalised opinions based on new experiences and information
- 1.16: Can apply known concepts in new programming languages






# SFIA 2 Role Guidance: Associate Software Engineer

[SFIA Level 2: Assist](https://sfia-online.org/en/sfia-7/responsibilities/level-2)

## Required competency for role

### Autonomy

Can autonomously deliver features ensuring the quality of their work by proactively seeking and addressing feedback.

### Influence

Can form own opinions on how to iteratively develop a feature, validates these opinions with workstream team and contributes in workshops with customers.

### Complexity

Balances user needs with technical complexity to deliver all aspects of a feature including UI, API, DB and business logic components.

### Knowledge

Able to acquire new knowledge in order to deliver features within estimated time.

### Business Skills

Has sufficient communication skills for effective dialogue with customers, suppliers and partners.

## Competency Checklist

- 2.1: ith limited experience in modern technology consulting sector
- 2.2: Still learning how Made Tech delivers technology, and may need to pair on occasion to be effective
- 2.3: Is able to more often than not participate equally in a pair with others
- 2.4: For the majority of the time, is able to contribute independently without pairing
- 2.5: Seeks feedback and guidance where appropriate; typically receives some constructive feedback and occassionally guidance highlights gaps in knowledge and skills
- 2.6: Influencing immediate colleagues regularly by sharing opinions and ideas
- 2.7: Challenges other Made Tech colleagues ideas tactfully when in disagreement
- 2.8: Has been involved in workshops, retrospectives or other activities where ideas and opinions are shared between customers and Made Tech colleagues
- 2.9: Would typically gain the ability to provide ideas, opinions and advice on specific subset of a customer's domain
- 2.10: Beginning to understand tradeoffs and is learning to make adjustments to approach for the current context
- 2.11: Is able to reason about subsets of a domain, building up a good working knowledge of wider technological & user needs
- 2.12: Has a grounding in foundational knowledge, skills and behaviours
- 2.13: Able to mentor others in some skills
- 2.14: Navigates available workshops to learn skills necessary to be effective on Delivery Teams
- 2.15: Has a good working knowledge of the customer domain







# SFIA 3 Role Guidance: Software Engineer

[SFIA Level 3: Apply](https://sfia-online.org/en/sfia-7/responsibilities/level-3)

## Required competency for role

### Autonomy

Collaboratively leads planning of work, development of features and coordinating with stakeholders though continues to seek feedback and support on complex change.

### Influence

Influences approaches taken by workstream team to deliver features, contributes to quality assurance of teams work and ensures features meet project outcomes and user needs.

### Complexity

Manages complex technical change in a single system and will seek support when managing change across multiple systems.

### Knowledge

Proficient in multiple languages, frameworks and technologies.

### Business Skills

Demonstrates effective communication skills.

## Competency Checklist

- 3.1: Understands and is able to demonstrate Made Tech's approach to modern technology delivery
- 3.2: Is participating equally when pairing
- 3.3: Will autonomously pick up and deliver features that they can see a clear solution to and have delivered similarly in the past
- 3.4: Will proactively pick up complex features, but will seek guidance on approach before proceeding and will seek feedback via pull requests and pairing from senior members of the team
- 3.5: Will take initiative as to whether they can resolve issues themselves or need to loop in more senior member of the team
- 3.6: Is building an awareness of how Made Tech is perceived by customers and partners, as well as how they and their colleagues are perceived by other colleagues – is developing a sense when something isn't right and needs escalating
- 3.7: Influencing workstream at a feature level, helping to define features and approaches for delivering them
- 3.8: Influencing a wider range of colleagues through sharing opinions and ideas in forums outside of their immediate deliveries
- 3.9: Expected to also seek opportunities to share opinions and ideas to peers within customer and partner organisations
- 3.10: Provides guidance and support to more junior members of the team in helping them identify what work to pick up
- 3.11: Able to iteratively deliver features of reasonable complexity, in known contexts
- 3.12: Able to architect and deliver simple features in new contexts
- 3.13: Uses a range of techniques and best practices to build easy to maintain solutions
- 3.14: Has developed strong debugging skills, and can remediate issues both locally and in deployed environments
- 3.15: Able to work effectively in brownfield projects within days
- 3.16: Proficient in multiple languages, frameworks and technologies
- 3.17: Able to be proficient within many contexts due to varied and deepening knowledge of technologies
- 3.18: Able to mentor, train and coach others in their areas of knowledge
- 3.19: Are endorsed by colleagues as knowledgeable in a number of skills
- 3.20: Working towards industry recognised training certifications
- 3.21: Shares knowledge with others through blog posts and talks
- 3.22: Demonstrates effective communication skills
- 3.23: Plans, schedules and monitors own work (and that of others where applicable) competently within limited deadlines and according to relevant legislation, standards and procedures
- 3.24: Contributes fully to the work of teams. Appreciates how own role relates to other roles and to the business of the employer or client
- 3.25: Demonstrates an analytical and systematic approach to issue resolution
- 3.26: Takes the initiative in identifying and negotiating appropriate personal development opportunities
- 3.27: Understands how own role impacts security and demonstrates routine security practice and knowledge required for own work







# SFIA 4 Role Guidance: Senior Software Engineer

[SFIA Level 4: Enable](https://sfia-online.org/en/sfia-7/responsibilities/level-4)

## Required competency for role

### Autonomy

Collaboratively leads workstream team to deliver complex change and supports development of others to do the same.

### Influence

Facilitates the design of architecture, technical decision making and agreeing ways of working.

### Complexity

Manages complex technical change across multiple systems and legacy technology.

### Knowledge

Expert across multiple languages, frameworks and technologies.

### Business Skills

Communicates fluently, orally and in writing, and can present complex information to both technical and non-technical audiences.

## Competency Checklist

- 4.1: Ships complex features collaboratively and independently as appropriate and is recognised as a key player of the team
- 4.2: Pairs with and coaches junior members of the team and/or customer staff, supporting line managers to find career progression opportunities within the workstream
- 4.3: Able to lead a bootup and delivery of a product workstream where outcomes are known, and the product is complicated rather than complex, with support and coaching from a Lead
- 4.4: Continues to seek consensus with approaches, and feedback on work as it is iteratively delivered
- 4.5: Confidently facilitates retrospectives and other team ceremonies regularly, and delivers Showcases
- 4.6: Has strong awareness of how Made Tech is perceived by customers and partners, as well as how colleagues and themselves are perceived by other colleagues. Will provide direct performance data and feedback in order to rectify the situation
- 4.7: Plays an active part in evolving Made Tech's approach to modern technology delivery
- 4.8: Identifies performance issues within the workstream team and works with individuals and line managers supporting corrective action where necessary
- 4.9: Facilitates the design of architecture with customers, partners and workstream team through workshops and other collaborative formats
- 4.10: Shapes backlog collaboratively, providing technical leadership within backlog planning and refinement sessions, as well as in three amigos
- 4.12: Influences ways of working and helps to facilitate alignment between customers, partners and workstream team
- 4.13: Influences Made Tech account leads in terms of how the account is organised and run.
- 4.14: May have (or shares with customer) authority over approach to delivering workstream, though as a servant leader seeks to facilitate rather than make decisions in isolation
- 4.15: Likely leads or is a major contributor to meetups, communities of practice and working groups
- 4.16: Engages outside immediate worksteam as a trusted advisor to customers and partners
- 4.17: Engages to ensure that user needs are being met throughout
- 4.18: Able to architect and deliver complex features
- 4.19: Able to work across multiple applications to deliver system-wide features and changes to architecture
- 4.20: Able to navigate large customer organisations
- 4.21: Can deliver legacy migrations
- 4.22: Able to maintain a calm and collected approach to fixing issues in chaotic environments
- 4.23: Has deep knowledge of Made Tech both commercially and technically
- 4.24: Able to lead hiring interviews for Engineer 1 to Senior Engineer candidates
- 4.25: Are endorsed by colleagues as expert in a number of skills
- 4.26: Seen by customer as an expert in their domain
- 4.27: Able to apply technical knowledge within complex environments
- 4.28: Has passed industry recognised training certifications at a professional level
- 4.29: Actively mentoring, training and coaching colleagues in areas of expertise
- 4.30: Can rapidly learn new technology
- 4.31: Spearheads introduction of new concepts into Made Tech







# SFIA 5 Role Guidance: Senior Software Engineer

[SFIA Level 5: Ensure, Advise](https://sfia-online.org/en/sfia-7/responsibilities/level-5)

## Required competency for role

### Autonomy

Accountable for workstream to customers, partners, account team, delivery assurance team and other stakeholders from a technical and delivery perspective.

### Influence

Drives workstream team towards technical excellence by influencing team, customers and partners.

### Complexity

Manages complex technical change of a workstream within a wider programme of work in multi-organisation stakeholder environments.

### Knowledge

Develops a deep understanding of digital and technology landscape in UK public sector.

### Business Skills

Demonstrates leadership. Communicates effectively, both formally and informally.

## Competency Checklist

- 5.1: Represents or delegates responsibility for representing workstream to customers, partners, account team, delivery assurance team and other stakeholders from a technical and sometimes delivery perspective
- 5.2: Coaches Senior Engineers within the workstream team and/or customer staff, providing continuous feedback to individuals and their line managers, and supporting line managers to find career progression opportunities
- 5.3: Able to lead bootup and delivery of a product workstream where outcomes are known, and the product is complicated rather than complex
- 5.4: Able to work as part of a leadership team (with delivery and product support) in a bootup and delivery of a product workstream where outcomes are unknown, and the product is complex
- 5.5: Able to work as part of a workstream team (with account and business support) in a bootup of a new account
- 5.6: Able to contribute within the account team in non-strategic accounts
- 5.7: Able to lead, advise and support up to two workstreams and ultimately be responsible for delivery of outcomes across their workstreams
- 5.8: Able to synthesise outcomes with senior stakeholders by facilitating inception and discovery work
- 5.9: Proactively identifies reputational and commercial risks and takes responsibility for mitigations and corrective actions
- 5.10: Ensures all technical staff in their workstream are operating at a good performance level at minimum, identifying performance issues and supporting correct action where necessary
- 5.11: Ensures their workstream team is operating in line with technical and delivery principles, and working towards technical excellence. Reports to the delivery assurance and account team
- 5.12: Builds relationships with senior customer stakeholders, maintains them and leverages those relationships in their work to influence, challenge and support technical practices and strategy
- 5.13: Works with customers, partners, account and workstream team to ensure workstream aligned with technical practices and strategy of customer organisation
- 5.14: Regularly influences and supports improvement of technical practices within a customer’s organisation at a community of practice or organisational level
- 5.15: Turns technical and delivery obstacles into opportunities for improvement and betterment of practices, and can lead a team to turn these opportunities into positive organisational impacts
- 5.16: Influences direction and day-to-day running of the account
- 5.17: Has overall technical authority within their workstreams
- 5.18: Influences organisation-wide approach to technology as part of the technology leadership team
- 5.19: Able to build relationships with senior customer and partner stakeholders, both technical and otherwise
- 5.20: Works with customers to define outcomes, deadlines and budgets
- 5.21: Has significant influence over the scheduling of technical staff to workstreams
- 5.22: Likely is the most senior day-to-day representative of Made Tech within the account
- 5.23: Ensures users’ needs are met consistently through each work stage
- 5.24: Influences the technology industry by engaging at public events
- 5.25: Able to architect and coordinate wide scale changes across multiple applications and platforms
- 5.26: Can design migration strategies in legacy environments and coordinate others to deliver
- 5.27: Can navigate complex stakeholder and organisational environments
- 5.28: Able to support and manage multiple workstreams, while delivering within one or more of those workstreams
- 5.29: Able to coordinate and manage supplier, partner and customer staff alongside Made Tech
- 5.30: Able to lead hiring interviews for Engineer 1 to Lead Engineer candidates







# SFIA 6 Role Guidance: Principal Technologist / Principal Engineer

[SFIA 6: Initiate, Influence](https://sfia-online.org/en/sfia-7/responsibilities/level-6)

## Required competency for role

### Autonomy

Accountable for the technology strategy within an account, technical direction and quality of workstreams, and driving new opportunities through technical advice.

### Influence

Builds and maintains influential relationships with senior leadership, particularly technology leaders, of customer and partner organisations as well as wider industry.

### Complexity

Has a broad business understanding, a deep understanding of digital and technology and performs highly complex work activities covering technical, financial and quality aspects.

### Knowledge

Develops a deep understanding of digital and technology landscape in UK public sector, including customers, suppliers, partners and competitors.

### Business Skills

Demonstrates clear leadership. Communicates effectively at all levels to both technical and non-technical audiences.

## Competency Checklist

- 6.1: Works with workstreams to ensure technical direction is aligned across our work and with customers organisation
- 6.2: Builds and maintains relationships with senior customer and partner leadership, particularly senior technology leadership
- 6.3: Responsible for Made Tech’s reputation within an account and ensuring our teams are perceived positively by customers, partners and suppliers
- 6.4: Coaches and supports Lead Software Engineers to deliver their workstream outcomes successfully
- 6.5: May perform role across one or more accounts
- 6.6: Operates as senior hiring manager of technology staff within the region
- 6.7: Works closely with regional leadership to ensure the account plan is aligned with regional growth goals
- 6.8: Identifies and generates new opportunities within an account and region through networking, advice and thought leadership
- 6.9: Able to lead, create and present proposals for opportunities as part of the bid process
- 6.10: Defines account plan as part of an account team and leads the team to deliver against it
- 6.11: Has authority over account's technology staff, though as a servant leader seeks to facilitate rather than make decisions in isolation
- 6.11: Works with regional leadership to define regional hiring requirements
- 6.12: Works with group technology leader (CTO) to define both regional and group outcomes for technology, and coordinates regional technologists to deliver these outcomes
- 6.13: Nurtures and grows their own professional network and can use this to support and win new business
- 6.14: Is known as a technology leader within their region