E3 Role Profile
Sphere of influence
- Operates as a team member within a pod, with collaboration with other pods within Engineering.
- Operates at a feature level within a team
- Works with others across engineering to reduce cross-team dependencies
- Works with Architects and BAs in shaping future work
Communication
- Communicates effectively, clearly, and concisely in written and verbal form, in both technical and non technical subjects, and in an audience-oriented way. Actively listens to others and ensures they are understood. Pays attention to nonverbal communication.
- Contributes effectively in team ceremonies, facilitates time and space for others
- Contributes effectively to cross-team initiatives e.g. lunch and learns
- Understands their team’s domain, shares their knowledge frequently with their teammates and contributes to their team’s documentation. Watches out for opportunities to share knowledge and encourages others to do the same.
Impact
- Draws attention to risks early and often, and works to minimise and remediate issues.
- Approaches all engineering work with a security lens. Actively looks for security vulnerabilities both in the code and when providing peer reviews.
- Handles risk, change, and uncertainty within their personal scope of work effectively. Decides and acts responsibly without having the total picture during routine business and when in high pressure situations.
- Helps manage and mitigate risk in other’s work.
- Has conversations based on organizational strategy and principles with their teammates when appropriate. Strongly oriented towards goals and works towards their team’s goals.
Technical
- Has a grasp of the fundamentals of the architecture of our system
- Designs functions that are aligned with the overall service architecture.
- Understands SOLID principles
- Understands design patterns and can recognize patterns in use.
- Proficient at using systematic debugging to diagnose all issues located to a single service.
- Uses systematic debugging to diagnose cross service issues, sometimes with help from more senior engineers.
- Consistently writes production-ready code that is easily testable, easily understood by other developers, and accounts for edge cases and errors. Understands when it is appropriate to leave comments, but biases towards self-documenting code.
- Understands the testing pyramid, and writes unit tests as well as higher level tests in accordance with it. Always writes tests to handle expected edge cases and errors gracefully, as well as happy paths.
- Is aware of the organization’s monitoring philosophy. Helps tune and change the monitoring on their team accordingly. Is aware of the operational data for their team’s domain and uses it as a basis for suggesting stability and performance improvements.
Delivery
- Has a delivery focus
- Demonstrates lean and agile ways of working to maximize delivery and minimize work being done.
- Reduces waste (defects, overproduction, waiting)
- Reviews tasks critically and ensures they’re appropriately sized for continuous integration and incremental delivery.
- Dependencies are noted and well understood by the team, at both the task and epic level. Works within their team to foster a culture of priority setting and urgency in alignment with the organizational strategy.
- Commits to a realistic amount of work, and works with their teammates both to ensure they understand priority and urgency, and to deliver upon them accordingly.
- Escalates any blockers, delays to their team at least daily. Clarifies expectations with their teammates.
- Communicates scope changes within team, stakeholders, management as appropriate
Leadership
- Supports less experienced colleagues
- Mentors their teammates in an open, respectful, flexible, empathetic manner. Seeks out mentoring opportunities specifically to create team redundancy and backfill ability.
- Actively ensures work aligns to the team’s definitions of ready, done and overarching ways of working
- Seeks to improve team artifacts
- Strives to be objective and reflects on their own biases when making decisions. Holds themselves accountable for decision and outcomes.
- Thoroughly understands the business model in relation to their current product focus area. Sometimes participates in roadmap feedback with product team. Looks for opportunities to simplify product & technical design.