Senior Backend Software Engineer - Java - RPC

1 Month ago • 5 Years + • Backend Development

Job Summary

Job Description

Canva seeks a Senior Backend Software Engineer with 5+ years of experience in developing sophisticated distributed web applications on the JVM, primarily using Java 17 (other JVM languages a plus). The role involves designing and implementing tools/libraries to improve microservice reliability, conducting reliability experiments, building services ensuring optimal and resilient microservices, and participating in cross-team initiatives to enhance reliability, velocity, and security. Responsibilities include investigating production incidents, researching and proposing solutions, identifying performance bottlenecks, and contributing to the future-proofing of Canva's distributed cloud infrastructure. Strong communication, teamwork, and problem-solving skills are essential.
Must have:
  • 5+ years Java development experience
  • Experience with distributed systems
  • Asynchronous/reactive programming
  • AWS cloud experience
  • Strong communication skills
Good to have:
  • Experience with Scala/Kotlin
  • RPC Frameworks (Finagle, Thrift, gRPC)
  • Knowledge of networking protocols (TCP, HTTP2)
Perks:
  • Equity packages
  • Inclusive parental leave
  • Annual Vibe & Thrive allowance
  • Flexible leave options

Job Details

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, you will design and implement tools and libraries to improve the reliability of the Canva microservices
  • Conduct and organize 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 organization by facilitating and orchestrating cross-team initiatives that set a higher standard for reliability, velocity and security
  • A 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 sophisticated distributed web applications on the JVM; experience writing Java (experience with other JVM languages such as Scala, Kotlin, etc is a huge 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)
  • Disciplined coding practices, experience with code reviews and pull requests, and a creative and conceptual problem-solving approach as opposed to a framework or library-focused; We strive to build fast and lean solutions; not library/framework-heavy patchwork
  • Strong communication and teamwork skills, both written and verbal. A Canva engineer strives to understand the exact problem before jumping into writing code - look before you leap!
  • Experience with RPC Frameworks, Finagle, Thrift or gRPC will be a huge plus, but not required; We strive to make sure that the communication layer is not a bottleneck, and simplifies the life of the product engineers as much as possible
  • Knowledge of networking protocols such as TCP, HTTP 2, etc. would be a big plus; The life of a request doesn't start inside the backend web server, but rather in the browser of a user
  • An understanding of resiliency techniques and patterns - load balancing, throttling, back pressure, deadline propagation, circuit breaking, etc; For Canva, reliability is a feature, and the API Platform and broader infrastructure teams aim to provide the best tools possible to the application engineers to ensure that Canva stays available at all times. 

About the team

The RPC team's mission is to make inter-service communication simple, reliable, secure and performant. The RPC team is responsible for client & server components that all our backend services use to communicate with each other, which directly affects the performance and reliability of those services. We are currently facing exciting challenges to uplift platform capabilities to prepare Canva for 1 billion monthly active users.

About the Role

This role sits within the RPC Team. As a versatile senior software engineer, you will be responsible for shaping the vision of service communication on our platform. We are part of the 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 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. 

Similar Jobs

Axon - Staff Software Engineer

Axon

Boston, Massachusetts, United States (Hybrid)
7 Hours ago
ByteDance - Software Engineer Intern

ByteDance

Seattle, Washington, United States (On-Site)
1 Month ago
Google - Software Engineer II, YouTube Feed Ads

Google

Zürich, Zurich, Switzerland (On-Site)
2 Weeks ago
Monzo - Software Engineer

Monzo

Barcelona, Catalonia, Spain (Hybrid)
7 Hours ago
GoMotive - Senior Software Engineer

GoMotive

India (Remote)
1 Month ago
Argus Labs - Software Engineer (Infrastructure/Backend)

Argus Labs

Indonesia (Remote)
1 Month ago
Google - Software Engineering Manager (For Women in Tech Candidates)

Google

State Of Minas Gerais, Brazil (On-Site)
4 Months ago
Google - Senior Software Engineer, Site Reliability Engineering, Technical Infrastructure

Google

Dublin, County Dublin, Ireland (On-Site)
2 Days ago
Edgemony - Back-End Developer

Edgemony

Milan, Lombardy, Italy (Remote)
1 Month ago
Tencent - Senior Backend Developer

Tencent

Shenzhen, Guangdong Province, China (On-Site)
4 Months ago

Get notifed when new similar jobs are uploaded

Similar Skill Jobs

Google - Technical Solutions Engineer, Data, Google Cloud

Google

Seoul, South Korea (On-Site)
2 Days ago
Next Level Business Services - Support Engineer - Full Time

Next Level Business Services

Jersey City, New Jersey, United States (On-Site)
6 Months ago
Assystems - Senior Software Engineer

Assystems

Gurugram, Haryana, India (On-Site)
6 Months ago
Google - Senior Software Engineer, Full Stack, Labs

Google

Mountain View, California, United States (On-Site)
2 Days ago
PwC - Associate – Utility Transformation– Advisory– Gurugram

PwC

Gurugram, Haryana, India (On-Site)
7 Months ago
Mindtickle - Solution Architect (EMEA Shift)

Mindtickle

Pune, Maharashtra, India (Hybrid)
7 Hours ago
Trend Micro - Large Language Models (LLM) Expert (VicOne_Automotive Security)

Trend Micro

Taipei City, Taiwan (On-Site)
7 Months ago
Cubic Corporation - Senior Software Engineer (Java)

Cubic Corporation

Hyderabad, Telangana, India (On-Site)
23 Hours ago
Playrix - Technical Director (Game Project)

Playrix

Serbia (Remote)
6 Months ago
ION - Senior Java Developer - Italy

ION

Collecchio, Emilia-Romagna, Italy (On-Site)
6 Months ago

Get notifed when new similar jobs are uploaded

Jobs in Auckland, Auckland, New Zealand

Weta Fx - Head of Rendering Research

Weta Fx

Wellington, Wellington, New Zealand (On-Site)
1 Day ago
Canva - Software Engineer Internship (Infrastructure)

Canva

Auckland, Auckland, New Zealand (Remote)
3 Weeks ago
Cubic Corporation - Test Lead

Cubic Corporation

Wellington, Wellington, New Zealand (On-Site)
23 Hours ago
Cubic Corporation - Workshop Supervisor

Cubic Corporation

Wellington, Wellington, New Zealand (On-Site)
23 Hours ago
Canva - Social Content Creator / Videographer Internship

Canva

Auckland, Auckland, New Zealand (Remote)
3 Weeks ago
Blind Squirrel Games - Gameplay Engineer

Blind Squirrel Games

Auckland, Auckland, New Zealand (On-Site)
4 Months ago
Zuru - Product Design Engineer

Zuru

Auckland, Auckland, New Zealand (On-Site)
6 Months ago
Canva - Backend Software Engineer - Security Platform Engineering (Open to remote across ANZ)

Canva

Auckland, Auckland, New Zealand (Remote)
4 Months ago
Canva - Senior Software Engineer (Cloud Platform)

Canva

Auckland, Auckland, New Zealand (Remote)
2 Months ago
Canva - Staff Backend Engineer - Product Insights Enablement - Java

Canva

Auckland, Auckland, New Zealand (Remote)
1 Month ago

Get notifed when new similar jobs are uploaded

Backend Development Jobs

Voodoo - Senior Backend Engineer - Inference Platform

Voodoo

Paris, Île-de-France, France (Remote)
2 Weeks ago
Inworld AI - Staff Backend Engineer

Inworld AI

Vancouver, British Columbia, Canada (On-Site)
1 Week ago
Puzzle Cats - Senior Software Engineer

Puzzle Cats

Toronto, Ontario, Canada (On-Site)
8 Months ago
Zoox - Senior/Staff Backend Software Engineer - Product

Zoox

Foster City, California, United States (On-Site)
6 Months ago
GoTo Group - Senior Software Engineer (Backend) - Consumer Lending

GoTo Group

Jakarta, Jakarta, Indonesia (On-Site)
4 Months ago
Canva - Senior Backend Engineer - Support Automation and AI Enablement

Canva

Brisbane, Queensland, Australia (Remote)
4 Weeks ago
Nexters - Lead .NET Developer

Nexters

Cyprus (Remote)
2 Months ago
Gulliver's Games - Senior Backend Engineer

Gulliver's Games

İstanbul, Türkiye (On-Site)
7 Months ago
Alaan - Backend Engineer

Alaan

Bengaluru, Karnataka, India (On-Site)
7 Months ago
PENN Interactive - Senior Software Developer, Pricing Engine

PENN Interactive

United States (Hybrid)
1 Month ago

Get notifed when new similar jobs are uploaded