Senior Software Engineer
Ritchie Bros.About the role
About the Role
As a Senior Software Engineer, you will play a pivotal role in shaping the architecture, quality, and technical direction of our proprietary e-commerce software platform.
You will work within a collaborative, cross-functional engineering team, taking ownership of features and services across our microservices architecture, from design through deployment and operation. You will collaborate closely with engineering managers, staff engineers, and cross-functional partners to design, build, and scale high-impact systems We're looking for engineers who are curious, pragmatic, and comfortable navigating a large, evolving codebase — and who embrace modern AI-assisted development practices to move faster and smarter.
Responsibilities
- Design, and deliver highly scalable, fault-tolerant services and features across our microservices platform.
- Take end-to-end technical ownership — from requirements through deployment, monitoring, and production support.
- Lead technical design discussions and contribute meaningfully to architecture decisions, technology choices, and engineering standards.
- Proactively identify and address technical debt — refactor and improve maintainability, performance, and reliability of the codebase.
- Troubleshoot and resolve complex production issues with urgency and structured problem-solving.
- Collaborate with Product, QA, and stakeholders to clarify requirements, surface risks early, and drive solutions to completion with minimal supervision.
- Champion engineering best practices — testing, CI/CD, security, observability, and documentation.
- Leverage AI developer tools (e.g., GitHub Copilot, Claude, Cursor) effectively to accelerate development and improve engineering output.
- Perform other duties as assigned.
Required Qualifications
- 8+ years of professional software engineering experience in a multi-team, production environment.
- .NET Framework/ .NET Core / C# – expert-level experience designing and building APIs, microservices, and back-end systems; strong grasp of design patterns and SOLID principles.
- React – Experience building scalable, maintainable front-end applications; strong understanding of state management, performance optimization, and component architecture.
- Good grasp of JVM-based language fundamentals (Java or Kotlin); able to read, reason about, and contribute to codebases beyond the primary stack when the need arises.
- Microsoft Azure – solid working knowledge of Azure services with hands-on experience across one or more of the following: Azure Container Apps (ACA), App Services (Web Apps), Azure Service Bus, Managed PostgreSQL, Key Vault, Application Gateway, Virtual Networks (VNet) & Subnets, Private Endpoints, and Private DNS Zones; experience deploying and operating production workloads in Azure.
- Databases – SQL Server & PostgreSQL – expert-level experience with relational database design, complex query optimization, indexing strategies, and performance tuning.
- RESTful API design – proven ability to design, build, version, and secure APIs at scale.
- Strong understanding of microservices architecture, distributed systems, and integration patterns.
- Containers – Docker – strong hands-on experience; comfortable with containerized application design, networking, and deployment.
- Experience with CI/CD pipelines (Azure DevOps, GitHub Actions, or equivalent).
- Solid understanding of Agile / Scrum practices and the full software development lifecycle.
- Demonstrated and effective use of AI-assisted development tools as part of everyday engineering workflow.
Nice-to-Have Skills
- Experience with Kubernetes or Azure Container Apps for container orchestration.
- Familiarity with event-driven architecture and message brokers (e.g., Azure Service Bus, RabbitMQ, Kafka).
- Experience with observability tooling — logging, metrics, and distributed tracing (e.g., Application Insights, OpenTelemetry).
- Background in e-commerce, marketplace, or transaction-heavy platform environments.
- Experience with Test-Driven Development (TDD) and pair programming practices.
- Ability to learn and adapt to newer patterns and technologies as the landscape evolves.
What We're Looking For in You
- You operate with a high degree of ownership and autonomy — you don't
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s