Senior Backend Software Engineer - Java - RPC

3 Weeks 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

Microsoft - Principal Software Engineer

Microsoft

Hyderabad, Telangana, India (On-Site)
4 Days ago
The Walt Disney Company - Principal Machine Learning Engineer

The Walt Disney Company

New York, New York, United States (On-Site)
1 Week ago
Epic Games - Backend Security Programmer (Asset Integrity)

Epic Games

Montreal, Quebec, Canada (On-Site)
1 Week ago
Meta - Research Scientist Intern, Smart Glasses in Wearables AI (PhD)

Meta

Washington, District Of Columbia, United States (On-Site)
5 Months ago
Glean - Software Engineer- Consulting Services

Glean

Bengaluru, Karnataka, India (On-Site)
5 Months ago
ByteDance - Software Development Engineer - Database NoSQL Redis

ByteDance

Seattle, Washington, United States (On-Site)
3 Months ago
Google - Software Engineer, Cloud AI, Early Career

Google

Warsaw, Masovian Voivodeship, Poland (On-Site)
1 Week ago
Casumo - Engineering Team Lead

Casumo

Zagreb, Croatia (Hybrid)
2 Months ago
Playrix - Golang Tech Lead (GameOps)

Playrix

Ireland (Remote)
2 Months ago
Canva - Backend Software Engineer - Internationalization

Canva

Beijing, Beijing, China (Remote)
1 Month ago

Get notifed when new similar jobs are uploaded

Similar Skill Jobs

Google - Software Engineering Manager II, Location and Context, Android

Google

New Taipei, New Taipei City, Taiwan (On-Site)
1 Week ago
Electronic Arts - Software Engineer - User Generated Experiences

Electronic Arts

British Columbia, Canada (Hybrid)
2 Weeks ago
SmileGate - Platform Division Store Service Backend Developer

SmileGate

Seongnam-si, Gyeonggi-do, South Korea (On-Site)
1 Month ago
Tencent - Cross-Border Payment Software Engineering Intern

Tencent

(On-Site)
2 Months ago
Microsoft - High Performance Compute Director

Microsoft

Mountain View, California, United States (On-Site)
1 Week ago
Sumo Logic - Senior Staff Engineer

Sumo Logic

Bengaluru, Karnataka, India (On-Site)
5 Months ago
Thatgamecompany - ML Engineer

Thatgamecompany

United States (Remote)
4 Weeks ago
Canva - Software Engineer Internship (Infrastructure)

Canva

Auckland, Auckland, New Zealand (Remote)
2 Weeks ago
ION - Technical Consultant - Endur

ION

Jersey City, New Jersey, United States (On-Site)
6 Months ago

Get notifed when new similar jobs are uploaded

Jobs in Auckland, Auckland, New Zealand

Google - Customer Engineer, Google Cloud

Google

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

Canva

Auckland, Auckland, New Zealand (Remote)
2 Weeks ago
Canva - Senior Software Engineer (Cloud Platform)

Canva

Auckland, Auckland, New Zealand (Remote)
2 Months ago
Canva - Senior Frontend Engineer - Canva for Education

Canva

Auckland, Auckland, New Zealand (Remote)
4 Weeks ago
Rocket Werkz - MATHEMATICIAN PROGRAMMER

Rocket Werkz

Auckland, Auckland, New Zealand (On-Site)
9 Months ago
Canva - Staff Backend Engineer - Product Insights Enablement - Java

Canva

Auckland, Auckland, New Zealand (Remote)
1 Month ago
Canva - Machine Learning Engineer Intern

Canva

Auckland, Auckland, New Zealand (Remote)
2 Weeks ago
Canva - Machine Learning Engineer Lead - User Voice

Canva

Auckland, Auckland, New Zealand (Remote)
2 Weeks ago
Canva - Backend Software Engineer (Java) - User Product

Canva

Auckland, Auckland, New Zealand (Remote)
3 Weeks ago
Canva - Lead Data Scientist

Canva

Auckland, Auckland, New Zealand (Remote)
3 Weeks ago

Get notifed when new similar jobs are uploaded

Backend Development Jobs

N-iX - Senior Scala Engineer

N-iX

Ukraine (Remote)
3 Months ago
Nexters - Lead .NET Developer

Nexters

Cyprus (Remote)
2 Months ago
Rocket Science - Full Stack Engineer

Rocket Science

Wales, United Kingdom (Hybrid)
1 Month ago
N-iX - Senior Scala Engineer

N-iX

Ukraine (Remote)
1 Week ago
ByteDance - Software Engineer, Real Time Communication

ByteDance

Singapore (On-Site)
6 Months ago
Maximum Games - Senior Video Game Backend Developer

Maximum Games

Bucharest, Bucharest, Romania (On-Site)
3 Weeks ago
Dmg - Software Development Engineer 4

Dmg

Bengaluru, Karnataka, India (On-Site)
5 Months ago
Behaviour Interactive - Principal Generalist Programmer - Dead by Daylight | Programmeur·se Généraliste Principal·e - Dead by Daylight

Behaviour Interactive

Middlesbrough, England, United Kingdom (Hybrid)
5 Months ago
ByteDance - Relational Database Intern (Data Tech Infra)

ByteDance

San Jose, California, United States (On-Site)
1 Month ago

Get notifed when new similar jobs are uploaded

About The Company

Sydney, New South Wales, Australia (Remote)

Nottingham, England, United Kingdom (Remote)

London, England, United Kingdom (Remote)

Sydney, New South Wales, Australia (Remote)

Surry Hills, New South Wales, Australia (Remote)

Sydney, New South Wales, Australia (Remote)

Melbourne, Victoria, Australia (Remote)

London, England, United Kingdom (Remote)

Brisbane, Queensland, Australia (Remote)

Beijing, Beijing, China (Remote)

View All Jobs

Get notified when new jobs are added by Canva

Level Up Your Career in Game Development!

Transform Your Passion into Profession with Our Comprehensive Courses for Aspiring Game Developers.

Job Common Plug