Senior Software Engineer (reliability Foundations)

Canva Canva · Enterprise · Sydney, Australia · Information Technology

Senior Software Engineer focused on improving the reliability, scalability, and maintainability of large-scale production systems. This role involves designing, building, and enhancing systems, diagnosing and resolving complex production issues, mentoring engineers, and making pragmatic trade-offs to balance reliability with product velocity. The role works across multiple systems and teams, rather than being tied to a single service, with a focus on high-impact improvements to Canva's platform.

What you'd actually do

  1. Designing, building, and improving large-scale production systems that are scalable, reliable, and maintainable
  2. Working in different ways depending on the need—embed with teams, build shared platform capabilities, or partner on cross-cutting initiatives—to improve system quality
  3. Jumping into partner team codebases and shared systems to ship meaningful improvements to production services
  4. Owning the outcome for each piece of work—help shape the solution and drive it through to implementation
  5. Partnering with multiple teams to find and fix systemic issues in distributed systems—scaling limits, cascading failures, performance bottlenecks, and fault tolerance gaps

Skills

Required

  • Java
  • Python
  • Golang
  • backend engineering
  • distributed systems
  • system design
  • system architecture
  • production issue diagnosis
  • mentoring engineers
  • communication
  • collaboration
  • code reviews
  • testing
  • maintainable system design

Nice to have

  • AWS
  • microservice architectures
  • observability
  • metrics
  • logs
  • tracing
  • shared platforms
  • libraries
  • internal tooling
  • data platforms
  • analytics tooling
  • Snowflake
  • Mode Analytics
  • Looker

What the JD emphasized

  • 5+ years of hands-on experience designing and building large-scale, production-facing systems
  • Strong backend engineering experience (Java preferred but also Python or Golang), and you can work across the stack when needed
  • Proven ability to improve the quality, scalability, and reliability of real-world systems through hands-on engineering
  • Experience contributing to system design and architecture in distributed systems
  • Ability to diagnose and resolve complex issues in production environments
  • Demonstrated experience mentoring engineers within a team
  • Strong communication and collaboration skills—you can work effectively with multiple teams
  • Disciplined coding practices, including code reviews, testing, and maintainable system design