Mid level engineers should be proficient in the technical systems that they are working on. They should be aware and guided by the wider context of their work. They should take responsibility for their work and own their personal development. They should be working as part of a team to achieve the shared goals of the team.
The competencies for Engineer are outlined below. Before reviewing them, it is helpful to review how to use these competencies.
Area | Competency |
---|---|
Technical |
Uses version control to manage development workflow, e.g.
|
Technical |
Uses code to make something with some degree of complexity, e.g.
|
Technical |
Writes automated unit and end to end tests for features |
Technical |
Fixes or updates tests when changing existing code |
Technical |
Reuses existing code, e.g.
|
Technical |
Maintains the security of the systems they work on, e.g.
Supporting URLs: |
Technical |
Regularly and independently debugs and fixes bugs in their own code, e.g.
|
Technical |
Gets involved in fixing live incidents in production, e.g.
|
Technical |
Uses continuous delivery or build pipelines for automation, e.g.
|
Technical |
Uses monitoring (but doesn't necessarily implement monitoring), e.g.
|
Technical |
Makes pragmatic decisions about technical trade-offs within their own code, e.g.
|
Communication |
Maintains documentation on the systems they work on, making it easy for future engineers to interact with systems and code, e.g.
|
Communication |
Provides feedback on peer’s work, e.g.
|
Communication |
Writes clear tickets, issues and bug reports that contain the necessary amount of detail to be picked up by other engineers, e.g.
|
Communication |
Regularly gives timely actionable feedback to colleagues, e.g.
|
Delivery |
Works on the most important task, e.g.
|
Delivery |
Uses user research or data to inform decisions, e.g.
|
Delivery |
Leads on getting well defined tasks from backlog to production, e.g.
|
Delivery |
Regularly collaborates with team members from other disciplines to deliver features, e.g.
|
Delivery |
Regularly contributes openly to team meetings and encourages others to do so |
Delivery |
Regularly communicates the status of work |
Delivery |
Asks for help or clarification on tasks when required |
Delivery |
Participates in delivery process, e.g.
|
Delivery |
Can articulate the business goal of a set of features, e.g.
|
Leadership |
Positively contributes to an inclusive team culture, e.g.
|
Leadership |
Shares knowledge with peers informally, e.g.
|
Leadership |
Has worked with teams outside of their home group (where home group will be one of Customer Products, Obrizum Core, Community, Cyber Security, Internal Products, Engineering Enablement, Staff Experience and Obrizum Specialist), e.g.
|
Leadership |
Takes ownership of their personal development, e.g.
|