-
Participates in planning, backlog creation, sizing, prioritizing, and identifying technical dependencies.
-
Develops code and automated unit testing.
-
Ensures acceptance criteria for each user story is met.
-
Works through each story to get it into a “done” state.
-
Performs frequent code promotions.
-
Collaborates with team members and business stakeholders to identify missing product backlog user stories and/or acceptance criteria.
-
Works in conjunction with test and analysis to clarify ambiguity and resolve problems.
-
Continuously works to inspect and improve the team’s process.
-
Responsible for providing technical guidance and leadership to the team.
-
Acts as the proxy for the architect in times where the architect is not in an ad-hoc technical discussion.
-
Works closely with the product owner to translate business vision into technical vision.
-
Translates technical vision into implementation plan.
-
Act as a technical consultant for the product owner.
-
Educate the product owner and technical team on the relationship between functional requirements and non-functional requirements (NFRs) including performance, security, and availability impacts.
-
Designs for non-functional requirements.
-
Communicates / escalates deviation from the technical plan.
-
Works to resolve technical impediments.
-
Works in the trenches with the developers to solve problems (often taking the most complex work).
-
Leads participatory decision making with the team to develop and evolve the design.
-
Ensures standards are adhered to.
-
Coaches and mentors other developers.
-
Coordinates technical dependencies for the team.
-
Communicates with other teams on integration.
-
Ensures quality through reviews (performs code reviews or pulls in the right people to do reviews).