CanvaAustralia

Senior Frontend Engineer - Editing Performance - Remote across ANZ

Job DescriptionJoin the team redefining how the world experiences design.

Senior Frontend Engineer - Editing Performance - Remote across ANZ

Senior Frontend Engineer - Editing Performance - Remote across ANZ

Canva

Australia

Full TimeNegotiable
Posted on 19th Dec 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. 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.

About the Team

The Editing Performance team is responsible for making the Editor lightning fast and scaling it to support the growing number of ways that people are designing with Canva.

Editing performance is a broad area. It includes things like page load, latency of interactions, jank/dropped frames, memory usage (and associated OOM crashes) and more.

Even more than that, we want users to feel that Canva is fast. Performance issues should never be a reason why we can’t launch a new feature or businesses are unable to use the product.

Our goal is for the Canva editor to be fast for everyone. All platforms. All devices. All network connections. All designs and doctypes.

About the Role

On Editing Performance, we have a few overlapping streams of work:

Measuring performance. This is critical to identifying areas to prioritize, tracking our progress and monitoring for regressions. This involves developing robust fit-for-purpose metrics, scalable frameworks and functional dashboards to provide a trusted foundation upon which we can make improvements and empower others. Improving performance. We tackle this by understanding the fundamentals of browsers, rendering and the frontend frameworks we use and pushing them to the limits. Sometimes this involves weeks of investigation and experimentation to find a one line fix, other times we need to completely rearchitect parts of the code. Empowering others to improve performance. Our team cannot be the only team responsible for performance of the editor - all teams need to factor in performance in their work and our goal is to empower others to be able to do this by sharing knowledge, lending our expertise, and developing frameworks.

Responsibilities

  • Design, develop and deploy solutions and hands-on software development – working closely with leads, designers, and product managers to deliver features and experiments to our customers worldwide
  • Primarily working on web frontend with Typescript, but may need to work with other languages and environments
  • Facilitate knowledge sharing and optimally advocate for engineering needs to non-technical team members within the group
  • Models initiative and ownership in achieving goals, improving processes and solutions
  • Finds opportunities for cross-team collaboration to work on new insights and improvements that help achieve our goals

What we are looking for

  • Commercial experience in a software development environment, ideally with experience in building internal/external SDKs or APIs.
  • Our frontend stack consists of JavaScript, HTML, CSS, React, TypeScript, MobX, etc.. Experience in some of these would be valuable but is not required.
  • Firmly grounded computer science and engineering fundamentals including asynchronous programming, data structures, solution design, architecture, and design patterns.
  • Understanding of browser rendering pipeline, event handling, WebWorkers, WebGL/WebGPU would be a bonus, but not required.
  • Previous experience in working collaboratively with team members and communicating effectively.
  • Strong problem-solving skills, with the ability to break large projects down into smaller ones and deliver on them through others.
  • Passion for performance debugging and benchmarking
  • Good written and verbal communication skills.

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.

Instructions

  • Provide Accurate Personal Information
  • If the job requires a CV, ensure that you upload an up to date CV
  • The name on your application should match your legal identification.
  • All Fields marked with * are mandatory
Please ensure you regularly check the email address provided during the application process for any updates from Tuhustle or potential employers. Your application status, interview invitations, or job offers will be sent via email. Respond promptly to any messages to maintain your candidacy.

Job Application Form