Delivery & Complexity

Core Technical 2

Back to skills matrix

Getting stuff done. The level of complexity of tasks that you can undertake and the scale of code that you can write to a production-standard. Remember - everyone needs help and should ask for it! Do not take any of these expectations as a suggestion that you should not seek assistance from your peers.

Level 1

Learning what it takes to deliver code professionally.

  • is learning under close instruction.
  • follows a combination of self-learning, structured tutorship and shadowing more experienced engineers to learn how to work on projects.

Level 2

Works under supervision but trusted to deliver on their own within clearly defined areas of low complexity.

  • works on simple tasks from larger problems that have been broken down and managed for them.
  • produces valuable output for their project, but at a slower rate compared to more senior engineers and often with several rework iterations.
  • is expected to develop solutions to simple problems independently, submit for peer review and not necessarily be involved in the release process.
  • pairs with more senior engineers to tackle harder problems.

Level 3

Trusted to deliver code against pre-designed solutions within their area of expertise to budget.

  • provides solutions to simple and medium complexity problems and participates in the release process.
  • produces valuable output at a rate comparable to senior engineers when working on challenges within their knowledge domain and up to medium complexity.
  • is able to work within estimates they have provided, generally.
  • is capable of developing and releasing a medium complexity application with minimal oversight.
  • is pragmatic about the time they spend on a problem before escalating to others.
  • considers most edge cases when developing their code.

Level 4

Trusted to design the solutions and implement the code for complex work within their area of expertise to budget.

  • tackles large components such as integrations or significant features.
  • produces valuable output at a consistent rate across most aspects of their work with sufficient domain knowledge and experience to keep learning curves short.
  • delivers solutions to more complex problems (e.g. technical design and implementation of a 3rd party integration, setting up the testing architecture for a project, building a library that can benefit multiple projects) with minimal oversight
  • is capable of managing a predefined application deployment process.
  • understands the principle of feature toggling to streamline lead time and how to introduce it to an in-flight project.
  • can analyse legacy systems of medium complexity for maintenance/auditing and smaller improvements within their fields of expertise
  • considers edge cases and handles them pragmatically within project constraints.

Level 5

Designs solutions for complex work for their team, supporting and overseeing as well as delivering their own value.

  • is capable of architecting full applications or larger complex sub-projects within an area of expertise.
  • produces valuable output quickly and efficiently for themselves, although still delivering at rates comparable to a Senior I as they invest more of their time upskilling and unblocking others. Very little rework is required for their PRs
  • is capable of building distributed architecture with remote services (via suitable APIs), co-ordinating the transfer of data between multiple systems.
  • collaborates with DevOps to define a deployment process suitable for the team, according to project goals and complexities.
  • understands the impact of deploying at any given time, any potential downtime, how to rollback and restore to a previous state.
  • can analyse legacy systems of high complexity for auditing and ongoing project development.