Senior Engineer
Senior · Full Time
Opens Xero's application page
Role
What you'll do.
As a Senior Engineer at Xero, you'll architect and implement distributed systems at scale, driving the refactoring of monolithic services into modern, scalable cloud infrastructure. This role combines hands-on technical leadership with mentorship responsibilities, requiring expertise in distributed systems, modern cloud architecture (AWS, Kubernetes), and full-stack development across C# and React. You'll own major code design decisions, establish engineering standards, and directly impact the technical direction of Xero's globally-used accounting platform serving millions of small businesses.
Responsibilities
- Design and Implement Distributed Systems Architecture: Lead the architectural design and implementation of distributed systems, refactoring legacy monolithic applications into scalable, resilient microservices. Evaluate trade-offs between consistency, availability, and partition tolerance while optimizing for performance and maintainability at scale.
- Own Technical Design Decisions: Take ownership of major code design decisions and solution architectures for significant projects. Conduct technical design reviews, document architectural decisions, and ensure consistency with established engineering standards across the platform.
- Mentor and Develop Engineering Talent: Act as a technical mentor and role model, guiding junior and mid-level engineers through complex problems. Provide constructive code reviews, conduct knowledge-sharing sessions, and foster a culture of continuous learning and technical excellence within the engineering organization.
- Establish and Enforce Engineering Standards: Contribute to the evolution of engineering best practices, test-driven development methodologies, and code quality standards. Champion modern development practices including automated testing, continuous integration, and continuous deployment pipelines.
- Optimize CI/CD and Deployment Infrastructure: Enhance continuous integration and continuous deployment pipelines to streamline deployment workflows, reduce time-to-market, and improve system reliability. Implement infrastructure-as-code practices and automate testing and deployment processes.
- Collaborate Across Cross-Functional Teams: Partner with product, design, and other technical teams to align system architecture with broad business goals and technical requirements. Participate actively in agile ceremonies and pair programming sessions to ensure quality outcomes and knowledge distribution.
- Drive Technical Innovation and Platform Evolution: Evaluate and integrate new technologies and frameworks to enhance Xero's tech stack (AWS, Kubernetes, C#, React). Research industry trends in cloud-native architecture, serverless computing, and modern software development practices.
Qualifications
What we look for.
Technical
Distributed Systems Architecture
Deep understanding of distributed systems design principles, microservices patterns, service mesh technologies, and handling challenges like eventual consistency, distributed transactions, and fault tolerance across networked systems.
Cloud Infrastructure (AWS)
Proven experience designing and deploying scalable applications on Amazon Web Services, including EC2, S3, RDS, Lambda, ECS, and EKS. Understanding of cloud-native architecture patterns and cost optimization strategies.
Container Orchestration (Kubernetes)
Strong hands-on experience with Kubernetes deployment, configuration, scaling, and troubleshooting. Knowledge of container networking, storage orchestration, and Helm package management for production workloads.
Backend Development (C#/.NET)
Advanced proficiency in C# and .NET ecosystem for building high-performance, maintainable backend services. Experience with async programming, dependency injection, and modern .NET Core/Framework patterns.
Frontend Development (React)
Strong expertise in React for building responsive, performant user interfaces. Knowledge of component architecture, state management patterns, hooks, and integration with backend APIs.
Test-Driven Development (TDD)
Demonstrated commitment to test-driven development practices with expertise in unit testing, integration testing, and test automation frameworks. Experience achieving high code coverage and designing testable architectures.
CI/CD and DevOps Practices
Hands-on experience with continuous integration and deployment tools such as Jenkins, GitLab CI, GitHub Actions, or similar. Understanding of infrastructure-as-code, automated testing, and deployment pipeline optimization.
Relational Databases and Data Systems
Advanced expertise with relational databases (SQL Server, PostgreSQL, MySQL), query optimization, schema design, and handling high-volume transactional data. Experience with data migration and scaling strategies.
Education
Computer Science or Related Field
Bachelor's degree in Computer Science, Software Engineering, Mathematics, or equivalent technical discipline. Strong foundation in algorithms, data structures, and computer science fundamentals.
Continuous Learning Mindset
Demonstrated commitment to professional development through certifications, online courses, technical blogs, or open-source contributions. Ability to rapidly acquire knowledge in emerging technologies and architectural patterns.
Experience
Senior-Level Software Engineering Experience
Minimum 7-10 years of professional software engineering experience with at least 3+ years in a senior engineering or technical lead role. Track record of delivering complex, business-critical systems in production environments.
Distributed Systems and Scalable Architecture
Proven experience architecting and implementing distributed systems handling millions of transactions or users. Demonstrated success refactoring monolithic applications into microservices or building systems from scratch to support scale.
Mentorship and Technical Leadership
Evidence of successfully mentoring junior engineers, conducting code reviews, and establishing technical standards within teams. Experience influencing engineering culture and driving adoption of best practices.
Multi-Stack Development
Full-stack development experience across multiple programming languages and frameworks. Proficiency in both backend (C#/.NET) and frontend (React) development for end-to-end feature ownership.
SaaS or High-Scale Product Development
Background working on Software-as-a-Service platforms or products serving large numbers of users. Experience with features like multi-tenancy, security, scalability, and compliance requirements relevant to cloud-based platforms.
Skills
Required
Distributed Systems Design
Ability to architect and implement systems that scale horizontally across multiple nodes with proper handling of consistency, availability, and network partitions. Expertise in microservices patterns and inter-service communication.
C# and .NET Backend Development
Advanced proficiency in C# for building production-grade backend services and APIs. Familiarity with .NET Core/Framework, async/await patterns, and dependency injection frameworks.
React Frontend Development
Strong React expertise including component design, hooks, state management solutions, and integration with RESTful and GraphQL APIs. Knowledge of performance optimization and modern frontend tooling.
AWS Cloud Services
Hands-on experience designing, deploying, and managing applications on AWS. Proficiency with compute (EC2, Lambda), storage (S3), databases (RDS), and container services (ECS, EKS).
Kubernetes and Container Orchestration
Practical experience deploying and managing containerized applications using Kubernetes. Understanding of Pods, Services, Deployments, Helm charts, and Kubernetes networking and storage.
Test-Driven Development
Strong commitment to TDD practices with proficiency in unit testing frameworks (NUnit, xUnit for C#; Jest for React). Ability to design testable code and maintain high test coverage.
CI/CD Pipeline Design and Implementation
Experience designing and implementing automated build, test, and deployment pipelines. Knowledge of infrastructure-as-code and deployment automation tools.
Agile Development and Collaboration
Comfort working in agile/scrum environments with daily standups, sprint planning, and iterative delivery. Strong code review skills and ability to provide and receive constructive feedback.
Preferred
GraphQL and API Design
Nice to haveExperience designing and implementing GraphQL APIs as an alternative to REST. Knowledge of schema design, query optimization, and API versioning strategies for evolving platforms.
Database Performance Tuning
Nice to haveAdvanced expertise in SQL query optimization, indexing strategies, and database performance profiling. Experience with query analyzers and execution plan interpretation for complex transactional systems.
Service Mesh Technologies
Nice to haveHands-on experience with service mesh platforms such as Istio or Linkerd for managing service-to-service communication, observability, and security in microservices architectures.
Event-Driven Architecture
Nice to haveExperience designing and implementing event-driven systems using message brokers like RabbitMQ, Kafka, or cloud-native solutions. Knowledge of event sourcing and CQRS patterns.
Observability and Monitoring
Nice to haveProficiency with observability tools including distributed tracing (Jaeger, Datadog), centralized logging (ELK stack), and metrics collection. Understanding of SLOs, SLIs, and alerting strategies.
Security and Compliance
Nice to haveKnowledge of application security principles, OAuth/OpenID Connect, encryption, and compliance requirements (SOC 2, GDPR). Experience implementing secure authentication and authorization systems.
Accounting Software Domain Knowledge
Nice to haveBackground working on accounting, financial, or ERP systems. Understanding of double-entry bookkeeping, audit trails, compliance requirements, and financial data integrity.
Open-Source Contributions
Nice to haveActive participation in open-source projects, contributing code, writing documentation, or maintaining packages. Demonstrated ability to work within open-source communities and best practices.
Tech stack
Languages
Frameworks
Databases
Tools
Other
Compensation
Pay and benefits.
Base·USD 120,000 – 180,000
Full posting
Original listing.
The role, your impact
As a Senior Engineer, you will tackle engineering problems at scale and play a key role in the architecture and implementation of distributed systems. You will contribute directly to refactoring complex systems to ensure we continue delivering high-quality, scalable software solutions that make a real difference for our users.
In this position, you will own major code design decisions, contribute to overall engineering standards, and help shape the future of our technical platform. Beyond building great software, you will act as a mentor and role model within the team, helping grow the technical capabilities of fellow engineers.
The team & how they connect
Our engineering team brings together passionate problem solvers who thrive on technical excellence, continuous learning, and open collaboration. We work closely together using modern agile practices, regularly engaging in code reviews and pair programming to support one another. The team actively partners across functions to ensure our solution designs align with broad product goals and technical standards.
The team is currently working on:
Refactoring monolithic architecture into scalable, modern distributed systems
Evolving our tech stack using languages and frameworks across AWS, C#, React, and Kubernetes
Enhancing test-driven development (TDD) practices and automated testing capabilities
Optimising our CI/CD pipelines to streamline deployment workflows
Where and how you can work
We offer flexible working options designed to help you balance your personal and professional life. Depending on your location, you can work through a hybrid approach combining working from home with time spent in one of our vibrant office spaces during collaborative boost days, or explore remote arrangements tailored to the team's setup.
Here are some of the things we're looking for, for this role:
Experience building high-quality, scalable software and working with distributed systems
Strong familiarity with modern tech stacks, test-driven development, and CI/CD tooling
Proven background in contributing to technical design solutions and making architectural decisions
A growth mindset paired with a genuine enthusiasm for mentoring and coaching team members
Comfort collaborating in an agile environment and engaging in thoughtful code reviews
Apply even if your experience isn't a perfect match! At Xero, we hire based on your skills, passion, and the unique perspective you can bring to enhance our culture and team.
Redirects to Xero's application page.
Other roles
More at Xero.
Senior Engineer
Senior
Engineering Manager - Data
Manager
Senior Principal Engineer, Product Platform Engineering
Principal
Prinicipal Engineer
Principal
Principal Engineer
Principal