The Web Engineering Team drives all development, maintenance, and optimization of Canva's high volume web portals from a customer-facing angle. Our team is revolving rapidly and rewriting our stack to employ top notch technologies both in the frontend and backend across all web properties. They work in conjunction with many other teams at Canva (Product, Marketing, Growth, Internationalization, etc).
We work on two kinds of projects:
1.Permanent web portals like the projects above. This code must be written with readability, reusability, testability, and maintainability in mind by following industry best practices.
2. Short-lived campaign pages shared on social channels like our wechat subscription account, designed to create short term buzz. A recent example is a promotion for valentine’s day. You will have a great amount of creative control and the code review process will be more relaxed.
3. In either case, everyone gets to contribute progressively to more complex areas of the codebase while encouraging to keep our code simple, and our technology choices viable. The team’s code contribution helps us look to the future of Canva engineering and what systems, resources, and technology we need in place to achieve our goals.
Your impact to the team
1. You will help bring ideas to life, working closely with designers and backenders within the team.
2. Your role will be to implement all these new features and pages as well as optimising and maintaining the existing ones.
3. Canva strives for good design and we value a lot the attention to detail.
4. From the nicest hover effect or the slightest shadow to the smoothest animations. In this role, not only will you employ best practices in web development - you will also have tangible impact across the business while working with designers, business stakeholders, and other engineers to ensure we're creating, developing and continuing to deliver the rich web experience our users have come to know and love.
About the candidate
1. We are looking for a front-end engineer who can work with designers and backenders and build creative and usable experiences.
2. An understanding that spans across digital design and web technologies is key to this.
3. Having background knowledge in Typescript/React/NodeJS/PHP/Wordpress is a bonus.
4. If you love taking crisp and creative designs and creating super tight code and beautiful interactions then we’re the place for you.
What you'll do
1. Develop new user-facing features, creative solutions for Canva’s marketing campaigns, landing pages, new product teasers, and a wide range of other projects.Identify and communicate best practices for front end engineering within the team.Interact with our back end systems.
2. Build reusable code and libraries for future use.
3. Improve existing code base, architecture and workflow.
4. Ensure the technical feasibility of UI/UX designs.
5. Optimize application for maximum speed and scalability.
6. Ensure that the Canva experience spans a wide range of devices, from desktop to mobile.
7. Makes suggestions and participates in moving the company forward as being an expert in what they do.
8. Communicate with other team members to determine the best solutions to difficult problems.
You'll love this role if you have
1. Working knowledge of Native JS and flexibility to work with various frameworks
2. Expert knowledge of web technologies (HTML5/CSS3/JS)Good understanding of different ECMA versions and their differences
3. Have an outstanding understanding of Critical Rendering Path
4. Experience building and managing WordPress themes and the WordPress environment.
5. Understanding of at least the basics of NodeJS and its concept
6. The ability to write good object oriented JS
7. Have a decent notion of PHP, or another full stack environment, to integrate FE elements with itSome understanding of backend infrastructure technologies such as Terraform, EC2, S3, Docker, ECS, Aurora, Elasticache, ElasticSearch, Nginx, Varnish would be a bonus
8. Understanding of React / Typescript would be a bonus
9. Intimate knowledge of cross-browser and cross-device development, especially mobile devices.
10. Ability to write high-performance, reusable code for UI components, animations, including appropriate testing.
11. Experience with frontend tooling (Webpack, PostCSS, NPM/Yarn, SASS, Gulp)Experience with build and management tools (Git)Ability to collaborate with designers to rapidly prototype ideas
12. The ability to clearly convey thoughts and ideas; both verbal and written.
13. BS or MS degree in Computer Science / Software Engineering or a related field
What you'll learn at Canva
1. Server-Side Rendering with React Architecture and development across a range of services from web server to backend API & DB using NodeJS & GraphQL
2. Working with small to medium teams from all areas of Canva to fulfill fast-moving, ambitious company projects.
3. A variety of CI tools for managing PRs, regressions and visual regression.
4. And more!