Communicate effectively and proactively with customers, stakeholders, and the product team, and actively participate in requirements refinement to develop shared understanding to ensure that we verifiably build the right thing .
Maintain up-to-date expertise in relevant programming languages, tools, and technologies and awareness of organisational policies and standards, modern software development practices, techniques, tools, and platforms to ensure that we verifiably build the thing right .
Actively participate in Agile ceremonies to enable effective management of work in progress and identify opportunities for improvement.
Design, document, develop, refactor, debug, test, maintain, monitor, and support secure, high-quality software applications and services, associated infrastructure, and tooling in collaboration with colleagues to create well-engineered solutions that provide value to our customers.
Lead and participate in design reviews and code reviews, giving and receiving objective feedback to support colleagues and ensure quality.
Assist and support estimation, planning, scheduling, and resourcing activities.
Mentor, support, and encourage Software Engineers to facilitate skill and knowledge development through advice, coaching, training opportunities, and leading by example to help the team scale.
Measure, monitor, and review our software, processes, and practices; identify and implement improvements to improve efficiency and effectiveness.
Identify candidate technical approaches to support business requirements, assess their feasibility and relative merits to objectively identify the most appropriate approach.
Determine root cause for the most complex software issues and develop practical, efficient, and permanent technical solutions to address the issue and process improvements to prevent recurrence of similar issues .