Senior Engineer
Senior · Full Time
Opens Xero's application page
Role
What you'll do.
Join Xero's engineering team as a Senior Engineer to architect and build scalable distributed systems serving millions of global users. This role combines technical leadership with hands-on development, focusing on modernizing monolithic systems, enhancing developer experience through CI/CD maturity, and mentoring peers in a collaborative hybrid environment based in Vancouver. You'll work across a modern tech stack including C#, .NET, React, AWS, and Kubernetes while contributing to critical platform reliability and engineering standards.
Responsibilities
- Architect Scalable Distributed Systems: Design and implement high-availability, distributed systems that scale reliably to support millions of global users while maintaining performance and uptime standards.
- Refactor Monolithic Architectures: Lead technical efforts to decompose complex, monolithic systems into modular, distributed components that improve maintainability, scalability, and deployment velocity.
- Lead Code Design Decisions: Make major architectural and code design decisions that influence platform stability, establish technical precedents, and contribute to global engineering standards across the organization.
- Mentor and Coach Engineers: Guide junior and mid-level engineers through complex technical challenges, conduct thorough code reviews, and facilitate knowledge-sharing sessions to elevate team technical capability and growth.
- Modernize Development Practices: Drive the maturation and implementation of CI/CD pipelines, test-driven development (TDD) practices, and automated testing frameworks to enhance developer experience and code quality.
- Develop Technical Solutions: Design and implement technical solution architectures that align with long-term engineering frameworks and strategic platform objectives.
- Collaborate Across Functions: Work closely with product owners, designers, and fellow engineers using agile delivery practices to ship meaningful, high-quality code that meets business requirements.
- Maintain Technical Excellence: Uphold and champion high standards for code quality, performance optimization, and best practices through active participation in code reviews and technical discussions.
Qualifications
What we look for.
Technical
Distributed Systems & High-Availability Architecture
Proven experience designing and operating large-scale, distributed systems in production environments with strong understanding of scalability, fault tolerance, resilience patterns, and system reliability principles.
Modern Programming Languages
Strong proficiency across multiple programming languages and the ability to rapidly acquire adjacent technologies; demonstrable experience delivering production systems in diverse technology stacks.
Cloud Platforms & Containerization
Hands-on experience with AWS cloud services and Kubernetes container orchestration for building scalable, portable infrastructure and microservices architectures.
Automated Testing & Code Quality
Deep expertise in test-driven development (TDD), automated testing frameworks, continuous integration, and code refactoring techniques to maintain high quality codebases.
CI/CD Pipeline Development
Advanced knowledge of continuous integration and continuous deployment practices, tooling, and implementation to streamline development workflows and deployment processes.
Software Design & Architecture
Capability to make architectural decisions, design high-quality software systems, and communicate technical solutions that balance technical excellence with business requirements.
Education
Bachelor's Degree in Computer Science or Related Field
Formal education in Computer Science, Software Engineering, or related discipline provides foundational knowledge in algorithms, data structures, and computer systems architecture; equivalent professional experience considered.
Experience
Large-Scale Systems Development
Minimum 5-7 years of professional software engineering experience with proven track record delivering and maintaining complex, mission-critical systems in production environments serving significant user bases.
Technical Leadership & Mentorship
Demonstrated ability to lead technical initiatives, influence architectural decisions, and mentor peer engineers through knowledge sharing, code reviews, and coaching to elevate team capabilities.
Agile Software Delivery
Strong background working in agile development environments, collaborating cross-functionally with product teams, and delivering software features iteratively with focus on quality and user value.
System Modernization
Practical experience refactoring legacy systems, improving architectural patterns, or modernizing technology stacks in production environments while maintaining system stability.
Skills
Required
C# / .NET Backend Development
Production-level expertise building scalable backend services and distributed systems using C# and the .NET framework/Core platforms.
React Frontend Development
Strong capability building user interfaces and frontend applications using React, including component architecture, state management, and modern JavaScript/TypeScript patterns.
AWS Cloud Architecture
Hands-on experience designing and implementing solutions using AWS services (EC2, S3, Lambda, RDS, CloudFormation, etc.) for production applications.
Kubernetes & Container Orchestration
Practical knowledge deploying, managing, and scaling containerized applications using Kubernetes in production environments.
Distributed Systems Design
Core understanding of distributed system concepts including eventual consistency, fault tolerance, load balancing, and communication patterns.
Test-Driven Development (TDD)
Proficiency writing unit tests, integration tests, and maintaining high code coverage using modern testing frameworks and practices.
Code Review & Technical Collaboration
Ability to provide constructive technical feedback, participate in knowledge-sharing, and collaborate on complex technical problems with peer engineers.
Preferred
Microservices Architecture
Nice to haveExperience designing and implementing microservices-based architectures, service communication patterns, API gateways, and distributed service management.
DevOps & Infrastructure as Code
Nice to haveFamiliarity with DevOps practices, infrastructure automation, configuration management tools, and infrastructure-as-code frameworks (Terraform, CloudFormation).
Database Design & Optimization
Nice to haveKnowledge of relational and NoSQL database design, query optimization, scaling strategies, and data consistency patterns in distributed systems.
System Monitoring & Observability
Nice to haveExperience implementing monitoring, logging, tracing, and alerting solutions for production systems to ensure reliability and performance visibility.
Event-Driven Architecture
Nice to haveExposure to event-driven design patterns, message queuing systems (RabbitMQ, Kafka), and asynchronous processing in distributed architectures.
Performance Optimization
Nice to haveExperience profiling applications, identifying bottlenecks, optimizing database queries, and improving system performance at scale.
SaaS Platform Experience
Nice to havePrior experience working on cloud-based SaaS platforms, particularly in accounting, fintech, or business software domains.
Tech stack
Languages
Frameworks
Databases
Tools
Other
Compensation
Pay and benefits.
Base·CAD 155,000 – 205,000
Equity·Stock options
Benefits
World-Class Health & Wellness Programs
Comprehensive health insurance coverage, wellness initiatives, and medical support as part of Xero's commitment to employee wellbeing.
Retirement & Pension Programs
Competitive retirement savings plans and pension contributions designed to support your long-term financial security.
Equity & Performance Incentives
Eligibility for company equity and performance-based bonuses based on your role contributions and individual achievement.
Professional Development
Access to training programs, conference attendance, and continuous learning opportunities to advance your engineering career.
Hybrid Work Flexibility
Work from home with collaborative 'boost days' in the Vancouver office 1-2 days per week for in-person problem-solving and team cohesion.
Process
Interview steps.
- 01
Initial Screening
A recruiter will review your application and conduct a brief conversation to assess your background, interest in the role, and overall fit with Xero's engineering culture and values.
- 02
Technical Screening Interview
A 45-60 minute technical discussion with a senior engineer covering distributed systems concepts, architectural design patterns, and your experience building scalable systems. Prepare to discuss specific projects and technical decisions you've made.
- 03
System Design Interview
In-depth discussion on designing large-scale systems, including trade-offs between consistency and availability, scaling strategies, and how you approach architectural problem-solving.
- 04
Code Review & Technical Deep Dive
Collaborative session reviewing code samples or past projects, discussing code quality principles, testing strategies, and your approach to mentoring junior engineers.
- 05
Team Culture & Leadership Discussion
Conversation with team leads or engineering managers about your mentoring approach, collaboration style, and how you contribute to building inclusive, high-performing engineering teams.
- 06
Final Round with Hiring Manager
Executive-level discussion covering role expectations, career growth opportunities at Xero, your technical vision for platform improvements, and organizational fit.
Full posting
Original listing.
The role / impact
You will focus on solving engineering problems at scale, moving beyond feature delivery to influence the architecture and implementation of distributed systems. By refactoring complex, monolithic systems and building high-quality, scalable software, your work ensures our platform remains robust and reliable for millions of global users.
As a senior member of the team, you will have the autonomy to make major code design decisions and contribute to global engineering standards. You will balance technical excellence with mentorship, acting as a role model and coaching others through complex technical challenges to help them grow.
The team / how they connect
You will join a collaborative environment where engineers, product owners, and designers work together using agile and delivery practices to ship meaningful code. The team prioritizes continuous learning and mastery, frequently participating in code reviews and knowledge-sharing sessions to maintain a high bar for technical craft.
The team is currently working on / Initially, you will focus on
Modernizing systems by refactoring monolithic components into distributed, scalable architectures.
Enhancing the developer experience through the maturation of CI/CD concepts, tooling, and TDD practices.
Building and maintaining a diverse tech stack that includes C#,.Net, React, AWS, and Kubernetes.
Developing and implementing technical solution designs that align with long-term engineering frameworks.
Where and how you can work
This role is based in our Vancouver office, where we embrace a hybrid working model. You will have the flexibility to work from home while joining the team in the office for "boost days" (1-2 days a week) to collaborate, socialize, and solve complex problems in person.
Here are some of the things we are looking for
Proven experience delivering and operating complex, large-scale systems (distributed/high-availability environments), with strong fundamentals and the ability to ramp quickly across adjacent technologies (we’re tech-stack agnostic).
You bring a growth mindset and a passion for proactively maintaining and sharing technical knowledge with your peers.
A background in designing and building high-quality software within a range of languages and tools is essential.
You possess the ability to lead major code design decisions and contribute to wider technical solutioning.
Experience with modern engineering practices like automated testing, refactoring, and agile delivery is key to your success.
You enjoy mentoring other engineers and helping them grow their technical skills through supportive coaching.
A deep care for technical excellence and a drive to solve large-scale engineering challenges motivates your daily work.
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. We are also tech stack agnostic, so please apply if you've worked with adjacent technologies.
Compensation Philosophy
At Xero, we value the impact and skills you bring to the team. We don’t just hire for a role; we invest in people. We believe in a Total Package philosophy - which means your value isn't just a single number on a paycheck. While base salary is a core component, we look at your compensation through a holistic lens that includes equity, performance incentives, and world-class benefits.
The base salary range for this role in Canada is $155,000 - $205,000 CAD.
Please note that this range represents base salary only. We believe in rewarding our people for their total contribution, which is why we look at compensation through a holistic lens. In addition to base pay, your total package may include:
Variable Pay: Eligibility commissions or equity based on role and performance.
Comprehensive Benefits: World-class health, wellness, and retirement programs.
Xero Perks: Inside Xero Explore our full suite of benefits, from wellbeing initiatives to professional development.
Individual pay is determined by various factors, including geography, level of experience, and the specific skills you bring to the role
Redirects to Xero's application page.
Other roles
More at Xero.
Senior Software Engineer - Payments Platform
Senior
Engineer - Product
Mid
Principal Engineer - Payments Products & Platform
Principal
Principal Engineer - Reporting & Insights
Principal
Lead/Staff Software Engineer
Staff