Frontend Engineer - Core Editor at Canva
Sydney, AU

At Canva we work to make a significant positive impact on society. Our mission is to democratise design and empower creation.

The editor team is the core component of the Canva design experience. You will be working on the main reason why our users love Canva.

Since launching in April 2013 we have grown exponentially, and the journey has only just begun. Join Canva, and be part of this adventure. We are one of the world’s fastest growing startups.Your colleagues, like you, will be the top of the industry. It is important to us that we create a workplace that you love coming to.

Our culture is unlike anywhere else and our offices are designed and constantly improved to let you do your best work. At Canva you can be part of a company that is growing rapidly, building a product that users really love. Just check out our Twitter stream.

Engineering is a core part of who we are. You will work with a carefully selected team of ex-Google, VMware, ThoughtWorks, Facebook and Atlassian engineers among others. The team takes pride in its focus on engineering fundamentals. We strive to use the most appropriate tools for the tasks at hand and strike a measured balance between getting things done and long term maintainability. The team is tight, with no big egos, and welcomes engineers to come and join in on the adventure. Engineers frequently host sessions where a new idea or software engineering practice is discussed — this ensures that everyone in the team is constantly learning.

We work hard to get our fundamentals right across the business. Consequently, the frontend code base is constantly being improved and optimised so new features can be implemented easily. We also have a flat structure where engineers are invited to comment on the direction their peers are taking on features. When a new feature is being built, engineers review each other’s code; this ensures that knowledge is shared and it doesn’t need to be reworked. You can find more about our engineering practices in this blog article.

Responsibilities

Work with product designers and founders to build our next-generation core editor product

Build efficient and reusable front end abstractions and systems

Identify and address performance bottlenecks

Participate in design and code reviews

Help to identify and communicate standard practices and methodologies for front end engineering

Requirements

Knowledge of JavaScript and web technologies (HTML/CSS)

Experience developing rich applications with HTML/CSS/JS

Experience with element positioning and managing stacking contexts

Understanding of browser rendering considerations (layout, paint, composite)

Experience with high-performance DOM animations (e.g. FLIP)

Understanding of the browser event model (bubbling, capturing)

High-level understanding of computational complexity (Big O)

Ability to write high-performance, reusable code for UI components, including appropriate testing

Intimate knowledge of cross-browser and cross-device development

Passion for performance debugging and benchmarking

Minimum two years experience

Computer science fundamentals

Bonus experience

Experience with geometry and linear algebra

Experience with TypeScript (or other typed languages)

Experience with React

Experience with MobX

Experience with SVGs

Experience with graphics programming

Experience with GLSL / WebGL

An interest in interaction design

Benefits

Competitive salary, plus equity options

Flexible working hours, we value work-life balance

In-house chefs that cook delicious breakfast and lunch for us each day

Gym and yoga facilities onsite

Generous parental leave policy

Pet friendly offices including a social are, unisex toilets

Sponsored social clubs and team events

Fun and quirky celebrations

Relocation budget provided and visa application fees covered