Junior Engineers are expected to work mostly independently on areas of the system that are reasonably straightforward, and to be supported by members of the team on areas that are more challenging. They participate fully in team events, express opinions, learn new skills, and act with the same integrity and respectfulness as expected of everyone.
The competencies for Junior Engineer are outlined below. Before reviewing them, it is helpful to review how to use these competencies.
Area | Competency |
---|---|
Technical |
Is responsible for and maintains their computer and local development environment, e.g.
|
Technical |
Uses version control to manage routine development workflow, and can work with support on uncommon workflows, e.g.
|
Technical |
Uses code to make something reasonably straightforward, mostly independently, e.g.
|
Technical |
Implements automated unit or end to end tests with help from a more senior engineer |
Technical |
Fixes or updates tests when implementing changes to a preexisting feature |
Technical |
Checks whether code from well-known sources can be reused before writing new code, and generally identifies that kind of reuse when there is the opportunity, e.g.
|
Technical |
Works to timeboxes when debugging, e.g.
|
Technical |
Shadows during live incidents or joins debugging mob sessions |
Technical |
Is able to explain why using CI/CD pipelines for automation is beneficial, and uses them for basic functions, e.g.
|
Technical |
Occasionally uses monitoring tools to explain technical behaviour, e.g.
|
Communication |
Writes pull requests that are helpful both to the reviewer and those debugging the the code later, e.g.
|
Communication |
Regularly reads peers' PRs and asks questions in order to learn |
Communication |
Remembers to write more straightforward tickets and bug reports to track the work expected of them, perhaps with prompting and guidance, e.g.
|
Communication |
Receives feedback and acts upon it, e.g.
|
Communication |
Is able to recognise when they are having difficulties, and provides information so that other people can help, e.g.
|
Communication |
Presents their own work clearly to a product owner or tech lead, e.g.
|
Communication |
Effectively communicates when they are unable to attend expected events, e.g.
|
Delivery |
Recognises and communicates conflicting priorities and delivery expectations, e.g.
|
Delivery |
Attends their team's meetings, and shares their views and opinions |
Delivery |
Regularly communicates the status of their work |
Delivery |
Participates in the delivery process, e.g.
|
Delivery |
Knows who their project's stakeholders are and references them where appropriate, e.g.
|
Leadership |
Acts with integrity, honesty and accountability |
Leadership |
Is respectful to and inclusive of others, e.g.
|
Leadership |
Is engaged with their own personal development and follows through on agreed actions for this, e.g.
|