About the Role
- 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 and pair programming sessions as a role model for giving and receiving feedback.
- Test software - Design and perform sophisticated testing activities that effectively and efficiently 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 or production issues, and effectively communicate the impact to stakeholders. Recognize 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.
- Deliver infrastructure in a production environment - Champion automation of delivery processes. Coach and support engineers to ensure all software is running as expected and proactively works to prevent customer facing problems.
- Modern software and delivery practices - Be a proactive champion of agile and delivery practices who coaches and develops others in this space in order to ensure a consistent approach to ways of working.
- You’ll help build solid, production-ready software fully covered by modern testing practices.
- You’ll help improve our automation strategies to deliver features in the market as quickly as possible; by advancing our practices in the CI/CD pipeline, trunk-base deployment, and automation testing.
- You’ll support building software at scale.
- You should also be a team player and a great communicator and open to work collaboratively.
What you’ll bring with you (Critical competencies)
- Knowledge of C# and the .NET stack
- Familiarity with test driven development (TDD, BDD)
- Knowledge of design patterns in development (eg SOLID) and platform architecture (Microservices, Event Driven, DDD)
What you’ll bring with you (Experience Required)
- 5+ years of software engineering and industry experience
- Experience in developing highly scalable cloud based applications.
- Experience working with databases, relational or NoSQL
- Experience in distributed systems
- Experience with object-oriented programming
- Experience with automated testing
- Must have a track record of professional excellence
What you’ll bring with you (Experience Preferred)
- Experience with AWS products and technologies
- Experience of React and Redux
- Experience with collaborative engineering practices (Pair Programming, Mob Programming)
- Experience with CI/CD pipelines and experience with Jenkins or TeamCity
- Experience with Payment technology