Description
Responsibilities:
- Create software
- Care deeply about customer problems and technical excellence, develop high quality and scalable software, and coach others to do the same.
- Relentlessly automate any manual processes.
- Contribute to technical solution designs that embrace a quality-first approach.
- Participate in code reviews as a role model for giving and receiving feedback.
- Test software
- Design and perform sophisticated testing activities that effectively reveal product quality across a range of risk areas and quality criteria.
- Coach team members to enable high quality testing in line with Xero's quality strategy and standards.
- Resolve issues
- Efficiently assess the causes and identify solutions for development production issues, effectively communicate the impact to stakeholders.
- Recognise common patterns of failure to mitigate issues before they reach production.
- Proactively participate in incident responses and contribute to post-mortems.
- Engineering standards & frameworks
- Contribute to Xero's engineering standards and frameworks.
- Work closely with the Lead and Principal Engineers to apply standards to software and delivery processes.
- Continuous improvement
- Proactively maintain, grow, and share knowledge of development technologies used in the development of Xero's software application.
- Deliver infrastructure in a production environment
- Champion automation of delivery processes.
- Coach and support engineers to ensure all software is running as expected; proactively work to prevent customer-facing problems.
- Modern software and delivery practices
Be a proactive champion of agile delivery practices who coaches others in this space ensuring consistent approaches.
- Recruitment
Participate in interviews and recruitment processes.
Requirements:
- High level of experience in a range of languages/tools including C#/.Net, React, SQL Server, AWS.
- Proven ability contributing to internal ecosystems; building SDKs/libraries for team integration with products.
- Ability debug across entire technology stack unblocking teams.
- Capability making major code design decisions for individual products.
- Highly proficient architecture/implementation distributed systems; refactoring complex monolithic systems into scalable components.
- Proficient with CI/CD concepts/tooling.
- Strong advocate/teacher TDD/automated tooling safely/repeatedly releasing code.
Ability review/coordinating team processes improving quality strengthening feedback loops.