# Senior Engineer
**Company:** [Xero](https://scaleengineer.com/companies/xero)
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.
**Role:** Senior Engineer
**Seniority:** Senior
**Locations:** CAN: Vancouver (333 Seymour St)
**Salary:** 155000–205000 CAD
[Apply](https://jobs.ashbyhq.com/xero/45964f7b-0a72-459d-a9e0-99c53ffa12af)
Canonical: https://scaleengineer.com/jobs/xero/senior-engineer-45964f7b
---
## 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.

## Requirements

### education

- {"name":"Bachelor's Degree in Computer Science or Related Field","description":"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."}

### technical

- {"name":"Distributed Systems & High-Availability Architecture","description":"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."}
- {"name":"Modern Programming Languages","description":"Strong proficiency across multiple programming languages and the ability to rapidly acquire adjacent technologies; demonstrable experience delivering production systems in diverse technology stacks."}
- {"name":"Cloud Platforms & Containerization","description":"Hands-on experience with AWS cloud services and Kubernetes container orchestration for building scalable, portable infrastructure and microservices architectures."}
- {"name":"Automated Testing & Code Quality","description":"Deep expertise in test-driven development (TDD), automated testing frameworks, continuous integration, and code refactoring techniques to maintain high quality codebases."}
- {"name":"CI/CD Pipeline Development","description":"Advanced knowledge of continuous integration and continuous deployment practices, tooling, and implementation to streamline development workflows and deployment processes."}
- {"name":"Software Design & Architecture","description":"Capability to make architectural decisions, design high-quality software systems, and communicate technical solutions that balance technical excellence with business requirements."}

### experience

- {"name":"Large-Scale Systems Development","description":"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."}
- {"name":"Technical Leadership & Mentorship","description":"Demonstrated ability to lead technical initiatives, influence architectural decisions, and mentor peer engineers through knowledge sharing, code reviews, and coaching to elevate team capabilities."}
- {"name":"Agile Software Delivery","description":"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."}
- {"name":"System Modernization","description":"Practical experience refactoring legacy systems, improving architectural patterns, or modernizing technology stacks in production environments while maintaining system stability."}

## Skills

### required

- {"name":"C# / .NET Backend Development","description":"Production-level expertise building scalable backend services and distributed systems using C# and the .NET framework/Core platforms."}
- {"name":"React Frontend Development","description":"Strong capability building user interfaces and frontend applications using React, including component architecture, state management, and modern JavaScript/TypeScript patterns."}
- {"name":"AWS Cloud Architecture","description":"Hands-on experience designing and implementing solutions using AWS services (EC2, S3, Lambda, RDS, CloudFormation, etc.) for production applications."}
- {"name":"Kubernetes & Container Orchestration","description":"Practical knowledge deploying, managing, and scaling containerized applications using Kubernetes in production environments."}
- {"name":"Distributed Systems Design","description":"Core understanding of distributed system concepts including eventual consistency, fault tolerance, load balancing, and communication patterns."}
- {"name":"Test-Driven Development (TDD)","description":"Proficiency writing unit tests, integration tests, and maintaining high code coverage using modern testing frameworks and practices."}
- {"name":"Code Review & Technical Collaboration","description":"Ability to provide constructive technical feedback, participate in knowledge-sharing, and collaborate on complex technical problems with peer engineers."}

### preferred

- {"name":"Microservices Architecture","description":"Experience designing and implementing microservices-based architectures, service communication patterns, API gateways, and distributed service management."}
- {"name":"DevOps & Infrastructure as Code","description":"Familiarity with DevOps practices, infrastructure automation, configuration management tools, and infrastructure-as-code frameworks (Terraform, CloudFormation)."}
- {"name":"Database Design & Optimization","description":"Knowledge of relational and NoSQL database design, query optimization, scaling strategies, and data consistency patterns in distributed systems."}
- {"name":"System Monitoring & Observability","description":"Experience implementing monitoring, logging, tracing, and alerting solutions for production systems to ensure reliability and performance visibility."}
- {"name":"Event-Driven Architecture","description":"Exposure to event-driven design patterns, message queuing systems (RabbitMQ, Kafka), and asynchronous processing in distributed architectures."}
- {"name":"Performance Optimization","description":"Experience profiling applications, identifying bottlenecks, optimizing database queries, and improving system performance at scale."}
- {"name":"SaaS Platform Experience","description":"Prior experience working on cloud-based SaaS platforms, particularly in accounting, fintech, or business software domains."}

## Tech stack

### tools

- {"name":"AWS (Elastic Compute Cloud, S3, Lambda, RDS)","description":"Cloud platform providing compute, storage, serverless functions, and managed database services for scalable infrastructure."}
- {"name":"Kubernetes","description":"Container orchestration platform for deploying, scaling, and managing containerized applications in production."}
- {"name":"Docker","description":"Containerization technology for packaging applications and ensuring consistent deployment across environments."}
- {"name":"Git & Source Control","description":"Version control system for collaborative code management, branching strategies, and code review workflows."}
- {"name":"CI/CD Pipelines (GitHub Actions, GitLab CI, Jenkins)","description":"Continuous integration and deployment automation tools for building, testing, and deploying code changes rapidly."}

### others

- {"name":"Agile & Scrum Methodologies","description":"Iterative development practices for sprint planning, backlog management, and continuous delivery of features."}
- {"name":"RESTful API Design","description":"Principles and best practices for designing scalable, maintainable web services and inter-service communication."}
- {"name":"System Design & Architecture Patterns","description":"Understanding of architectural patterns like event sourcing, CQRS, saga patterns, and distributed system design principles."}
- {"name":"Monitoring & Observability Tools","description":"Platforms like DataDog, New Relic, or Prometheus for performance monitoring, logging, distributed tracing, and system health visibility."}

### databases

- {"name":"SQL Server","description":"Primary relational database platform for transactional data storage and complex queries in enterprise applications."}
- {"name":"PostgreSQL","description":"Open-source relational database option for data persistence and analytical workloads."}
- {"name":"AWS RDS","description":"Managed database service for hosting and scaling relational databases in the cloud infrastructure."}

### languages

- {"name":"C#","description":"Primary backend language for building distributed services and core platform functionality at Xero."}
- {"name":"JavaScript/TypeScript","description":"Frontend development language used with React for building user interfaces and interactive web applications."}
- {"name":"SQL","description":"Essential for database design, optimization, and data querying across relational databases."}

### frameworks

- {"name":".NET / .NET Core","description":"Core framework for backend service development, microservices, and API creation at scale."}
- {"name":"React","description":"Frontend framework for building dynamic, component-based user interfaces and single-page applications."}
- {"name":"ASP.NET","description":"Web framework used for building HTTP services, REST APIs, and web applications within the .NET ecosystem."}

## Benefits

### benefits

- {"name":"World-Class Health & Wellness Programs","description":"Comprehensive health insurance coverage, wellness initiatives, and medical support as part of Xero's commitment to employee wellbeing."}
- {"name":"Retirement & Pension Programs","description":"Competitive retirement savings plans and pension contributions designed to support your long-term financial security."}
- {"name":"Equity & Performance Incentives","description":"Eligibility for company equity and performance-based bonuses based on your role contributions and individual achievement."}
- {"name":"Professional Development","description":"Access to training programs, conference attendance, and continuous learning opportunities to advance your engineering career."}
- {"name":"Hybrid Work Flexibility","description":"Work from home with collaborative 'boost days' in the Vancouver office 1-2 days per week for in-person problem-solving and team cohesion."}

## Compensation

- **max:** 205000
- **min:** 155000
- **currency:** CAD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial Screening","description":"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."}
- {"name":"Technical Screening Interview","description":"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."}
- {"name":"System Design Interview","description":"In-depth discussion on designing large-scale systems, including trade-offs between consistency and availability, scaling strategies, and how you approach architectural problem-solving."}
- {"name":"Code Review & Technical Deep Dive","description":"Collaborative session reviewing code samples or past projects, discussing code quality principles, testing strategies, and your approach to mentoring junior engineers."}
- {"name":"Team Culture & Leadership Discussion","description":"Conversation with team leads or engineering managers about your mentoring approach, collaboration style, and how you contribute to building inclusive, high-performing engineering teams."}
- {"name":"Final Round with Hiring Manager","description":"Executive-level discussion covering role expectations, career growth opportunities at Xero, your technical vision for platform improvements, and organizational fit."}

## Full description
**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](https://careers.xero.com/inside-xero/benefits-wellbeing/) 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_
