THE ROLE
Canyon is building the backend systems that power our digital ecosystem — mobile apps, web platforms, and external integrations that connect riders and bikes worldwide. We're looking for a Backend Engineer who thinks in systems: someone who designs clean service boundaries, models data intentionally, and builds APIs that evolve safely over time. You will work cross-functionally and take ownership from architecture through production operations.
YOUR JOB AS PART OF THE CANYON CREW
In your first months, you will:
- Design and implement APIs with clear boundaries between domain services and aggregation layers (e.g., BFF patterns)
- Collaborate on API contracts using a contract-first mindset, ensuring versioning and backward compatibility
- Model relational data schemas thoughtfully, evolve them via migrations, and optimize queries where needed
- Build integrations with internal services and external providers using resilient patterns
As you grow into the role, you will:
- Improve service architecture and boundary clarity across the system
- Design for distributed systems realities: idempotency, retries, timeouts, failure handling, and eventual consistency
- Strengthen testing strategy with meaningful unit and integration tests that validate behavior, not implementation details
- Contribute architectural decision records (ADRs) and align contracts across teams
- Improve observability and operational readiness through structured logging, metrics, and tracing
Technical Environment
We currently build services using modern backend technologies and cloud infrastructure. Specific experience with these tools is a plus, but strong fundamentals matter most.
Core
- TypeScript and Node.js
- RESTful API design and implementation (contract-first, versioning, backward compatibility)
- Cloud-native deployment models
- Event-driven systems
- Authentication and authorization (e.g., OAuth 2.0)
Testing
- Unit testing (e.g., Jest or Vitest)
- Integration and contract testing
Tooling
- CI/CD pipelines
- Version control (e.g., Git)
- Observability tooling (e.g., Azure Monitor, Application Insights, or similar)
HOW YOU BECOME PART OF THE RACE
- 3+ years of professional experience building production backend systems
- Strong API design fundamentals, including versioning and backward compatibility
- Solid SQL and data modelling skills (schema design, indexing, transactional consistency) and sound judgment about when non-relational storage fits
- Understanding of distributed systems basics: consistency trade-offs, retries, idempotency, failure modes
- Experience designing event-driven and request/response integrations
- A pragmatic testing philosophy: clear unit tests, meaningful integration tests, minimal over-mocking
- Experience working in a cloud environment and understanding of deployment, configuration, and infrastructure concepts
- An operational mindset: you design for observability and can debug production systems
- Ability to document trade-offs clearly and collaborate across teams
- Bachelor's or Master's degree in Computer Science or a related field, or equivalent professional experience
Nice to have
- Experience with Backend-for-Frontend or GraphQL patterns
- Familiarity with Infrastructure as Code workflows
- Performance optimization and cost-awareness in cloud environments
- Comfort working with AI-assisted development tools (e.g., Codex, Claude, or similar agentic coding environments)
- Interest in connected products or the cycling domain
We value engineers who care about clean architecture, thoughtful trade-offs, and production-quality systems not just feature delivery.