Post a job

Senior Backend Engineer - Java - Gateway (Remote within AU/NZ)

Canva logo

Location
Australia
Canva

Job Description

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. That means if you want to do your thing in the office (if you're near one), at home or a bit of both, it's up to you.

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:

  • As an individual contributor, design and implement tools and libraries to improve the reliability of the Canva microservices.
  • Conduct and organise reliability experiments to identify possible scenarios in which failures might occur and verify the reliability measures.
  • Design and build services and tooling that help ensures each of Canva’s microservices are working optimally and are resilient to failures.
  • Have a widespread impact across the organisation by facilitating and orchestrating cross-team initiatives that set a higher standard for reliability, velocity, and security.
  • Deep investigation into production incidents followed up by applying the learning to code.
  • Researching, developing, and justifying the best choices in the form of design docs for features that will shape the future of Canva
  • Identifying and addressing performance bottlenecks within the application and broader infrastructure
  • Propose innovative approaches and solutions to ensure we future-proof Canva’s distributed cloud infrastructure as we scale. Participating in design meetings, hiring interviews, and code reviews

You're probably a match if

  • Five-plus (5+) years of commercial experience developing complex, distributed web applications on the JVM; experience writing Java (experience with other JVM languages such as Scala, Kotlin, etc is a big plus - however, we primarily use Java 17)
  • Familiar with asynchronous or reactive programming techniques and associated patterns; At our scale, writing blocking code is often not an option.
  • Comfortable with computer science and engineering fundamentals: concurrency, data structures, and distributed systems
  • Experience working in large distributed cloud environments (ideally AWS); CDNs, DNS. We're hosted on AWS and leverage the tools they provide as much as possible.
  • Disciplined coding practices, experience with code reviews and pull requests and a creative and conceptual problem-solving approach as opposed to framework or library-focused; We strive to build fast and lean solutions; not library/framework-heavy patchwork.
  • Strong communication and team collaboration skills, both written and verbal. A Canva engineer strives to understand the exact problem before jumping into writing code - look before you leap!

About the Team

You'll be joining the Gateway team, Application Platform Group, which is responsible for the front line of our microservices. Gateway’s work is based on three cornerstones: reliability, security, and scalability. We want to ensure that every request that hits Canva goes through the gateway components at ludicrous speeds and that the developers who work on the platform can be efficient and productive.

This role is based in our Sydney office. However, it is remote-friendly for applicants physically based anywhere in Australia or New Zealand.

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 stack 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.

Please note that interviews are conducted virtually.

Advice from our career coach

A successful applicant for this role at Canva should have a deep understanding of developing complex, distributed web applications on the JVM, with a strong preference for Java. Here are some key tips to help you stand out as an applicant:

  • Highlight your experience with Java and other JVM languages such as Scala or Kotlin.
  • Showcase your knowledge of asynchronous or reactive programming techniques.
  • Emphasize your experience working with large distributed cloud environments, ideally AWS.
  • Demonstrate your disciplined coding practices and experience with code reviews.
  • Illustrate your strong communication and team collaboration skills, both written and verbal.

Apply for this job

Expired?

Please let Canva know you found this job with RemoteJobs.org. This helps us grow!

RemoteJobs.org mascot