Senior Backend Software Engineer (Python) - RPC - Remote across ANZ

Canva

Canva

Software Engineering
Sydney, NSW, Australia
Posted on May 30, 2024

Job Description

Join the team redefining how the world experiences design.

Hey, g'day, mabuhay, kia ora, 你好, hallo, vítejte!

Thanks for stopping by. We know job hunting can be a little time consuming and you're probably keen to find out what's on offer, so we'll get straight to the point.

Where and how you can work

Our flagship campus is in Sydney. We also have a campus in Melbourne and co-working spaces in Brisbane, Perth and Adelaide. But you have choice in where and how you work, we trust our Canvanauts to choose the balance that empowers them and their team to achieve their goals.

What you’d be doing in this role

As Canva scales change continues to be part of our DNA. But we like to think that's all part of the fun. So this will give you the flavour of the type of things you'll be working on when you start, but this will likely evolve.

At the moment, this role is focused on:

  • Designing and implementing tools and libraries to connect ML services to the rest of the Canva’s microservice architecture.
  • Designing, prototyping and implementing an RPC layer that bridges the existing Java-based microservices to the Python-based ML systems.
  • Having a widespread impact across the organization by facilitating and spearheading cross-team initiatives that raise the bar for reliability, velocity and security.
  • Investigating and understanding production incidents, followed up by applying the learning to code
  • Researching, justifying and advocating your design choices in the form of design docs.
  • Liaising with key stakeholders across the business, but in particular machine learning groups to deeply understand their requirements for production-grade performant solutions.
  • Proposing new approaches and solutions to ensure that Canva can continue to rapidly grow.

You're probably a match if

  • You have five-plus (5+) years of commercial experience developing complex applications in Python; experience with other languages such as Java and TypeScript is a big plus but it’s not necessary.
  • You have extensive experience in developing clean, readable, and maintainable code; The frameworks developed by the team are used by hundreds of developers at Canva so they need to be easily understandable.
  • You have experience with developing or maintaining interprocess communication protocols is a big plus but is not necessary.
  • You have experience in architecting and building micro-services with Python async web server frameworks
  • You have familiarity with high transaction rate, low latency messaging systems in distributed systems
  • You are comfortable with computer science and engineering fundamentals like concurrency, data structures and time/space tradeoffs.
  • You have experience working in large distributed cloud environments (ideally AWS)
  • You have disciplined coding practices, experience with code reviews and pull requests, and a creative and conceptual problem-solving approach
  • You have strong communication and team collaboration skills, both written and verbal. A Canva engineer strives to understand the exact problem before jumping into writing code.
  • You have an understanding of resiliency techniques and patterns - load balancing, throttling, back pressure, circuit breaking, etc; For Canva, reliability is a feature, and the RPC layer is a key component in achieving our reliability goals.

About the team

This role sits within the RPC team which is responsible for making inter-service communication simple, reliable, secure and performant. We are currently helping to evolve and uplift RPC platform capabilities to prepare Canva for 1 Billion monthly active users in 2026.

As a talented senior software engineer within this team, you will be responsible for extending our RPC frameworks to seamlessly interconnect back end services running in Java with those running in Python. We are part of API Platform and our mission is to empower engineers to build efficient, reliable and secure traffic flow for billions of users.

What's in it for you?

Achieving our crazy big goals motivates us to work hard - and we do - but you'll experience lots of moments of magic, connectivity and fun woven throughout life at Canva, too. We also offer a range of benefits to set you up for every success in and outside of work.

Here's a taste of what's on offer:

  • Equity packages - we want our success to be yours too
  • Inclusive parental leave policy that supports all parents & carers
  • An annual Vibe & Thrive allowance to support your wellbeing, social connection, office setup & more
  • Flexible leave options that empower you to be a force for good, take time to recharge and supports you personally

Check out lifeatcanva.com for more info.

Other stuff to know

We make hiring decisions based on your experience, skills and passion, as well as how you can enhance Canva and our culture. When you apply, please tell us the pronouns you use and any reasonable adjustments you may need during the interview process.

We celebrate all types of skills and backgrounds at Canva so even if you don’t feel like your skills quite match what’s listed above - we still want to hear from you!

Please note that interviews are conducted virtually.