Title: Software Engineer
Scope: Project or Feature
Summary: Software Engineers are solid individual contributors, able to confidently take on technical problems related to their discipline or domain. They are capable and diligent engineers that demonstrate a strong customer focus, delivering software of a high standard to predictable timescales.
Our expectation is that all Signal AI engineers are capable of reaching Engineer level within an appropriate timescale (see previous level). Progression to Senior level would usually take up to 3 years experience, as a guide.
Key Takeaway: As an Engineer you’re a solid individual contributor. You can deliver effectively on a wide range of tasks to predictable timescales. To get promoted from this level we’re looking for you to consistently demonstrate leadership within your team.
Influential Impact
- Contribute actively to the breakdown of work into smaller tasks.
- Can work on more complex features or problems, with occasional support from their team.
- Delivers tasks meeting the team’s quality standards, and in line with designs agreed with their team. This could be done independently or through our default mode, pairing.
- Can produce effective software designs to solve the majority of smaller engineering problems that their team faces.
- Delivers stories from their team’s backlog confidently and to a high standard.
- Delivers to predictable timescales and takes responsibility for the quality of their work. Owns and actions fixing defects.
- Ensures appropriate testing to deliver effectively now and avoid future regressions.
Technical Mastery
- Writes clean, readable code with a good separation of concerns, that meets requirements as simply as possible and can be easily understood by others.
- Writes code with observability, security and performance in mind. Use logging, tracing and metrics to diagnose problems and debug issues.
- Demonstrates awareness of key requirements which cross all the functions we were building, such as accessibility, performance and security.
- Ability to clearly articulate technical concepts to non-technical stakeholders
Behavioural Approach
- Independently capable and can lead on the implementation of a feature or story.
- Able to identify and understand the trade-offs and relative strengths of alternative technical approaches
- Tackles challenging problems, seeing them through to a successful conclusion.
- Provides technical feedback that is clear, constructive and actionable
- Shares knowledge and opinions proactively and constructively, while actively soliciting feedback.
- Can clearly articulate existing and potential technical issues and blockers to the team.