We’re constantly working towards making Canva the best place to work, for everyone. We believe deeply that bringing together diversity of thoughts, perspectives and expression is key for building the best product for our equally diverse community all around the world. We celebrate uniqueness and whatever makes you, you and encourage everyone who wants to help us transform the way the world designs, to join us on this journey. We value all different types of experiences. If you don’t think you quite meet all of the qualifications, we’d still love to hear from you.
At Canva, our mission is to democratise design and empower creativity for anyone and everyone, on every platform. Inspired by a team of talented thinkers, an amazing culture and a remarkable growth trajectory – we’re out to change the world, one design at a time.
Since launch in August 2013, we have grown exponentially, amassing over 60 million monthly active users across 190 different countries who have created more than 6 Billion designs. We are one of the world’s fastest-growing technology companies and we have only achieved about 1% of what we want to do.
Software engineering is the core of who we are at Canva. The Canva code base was built to scale from day one. This has allowed for a unique environment where engineers spend most of their time optimizing performance and releasing new features rather than fixing legacy code. With an adherence to fundamentals and first principles, the team strives to use the most appropriate tools for the tasks at hand, aiming to strike that carefully measured balance between getting things done and long-term maintainability of the code base and supporting infrastructure.
We promote a warm and collaborative work environment where engineers set big goals and are given the tools and support to achieve them. We also invite our engineers to contribute to the direction their peers are taking with proactive pair ups for peer-reviewing of code as well as regular engineering forums for opinions and ideas to be heard. These practices ensure that knowledge is shared and releases are quick and efficient.
Finally - you're probably curious about our technology stack. At a high level, Canva's backend is powered by a set of services (some micro, some not-so-micro) built primarily in Java, hosted on Linux, sitting on AWS. We also sprinkle in some powerful open-source libraries and tools (have a look at finagle), as well as bespoke components to power some of the magic.
Role Responsibilities and Skills
- As an individual contributor, design and implement tools and libraries that service teams can use to improve the reliability of their services. For example - adding a new long-awaited feature in our circuit breaker library
- Conduct and automate chaos experiments to identify possible scenarios where cascading failures may occur and to verify the reliability measures we introduce to prevent this work as expected. For example: discovering what will happen when this newly introduced service goes down, or, does the fallback for a rare failure actually work?
- Work with product engineering teams to ensure that reliability best practices and tools are rolled out in every service across the whole organization. It’s not enough to create a new throttling library, we want to make sure that it’s successfully used in every service.
- Deep investigation into production incidents - followed up by applying the learnings to the code base
- Researching, developing, and justifying the best choices in the form of design docs for tools and processes that will shape the future of reliability at Canva
- Promote creative and conceptual problem-solving approaches; as opposed to framework- or library-heavy patchwork
- Propose new 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
Skills and Experience
- At least five (5) years of commercial experience of working as a reliability/chaos engineer in a large, distributed, cloud-based environment - any of the usual suspects (AWS, Google Cloud, Azure) is fine!
- Be happy to work in Java, since our services and libraries are primarily written in Java 11
- Disciplined coding practices and experience with code reviews and pull requests
- Strong communication and team collaboration skills, both written and verbal. As a reliability engineer, you will need to share the knowledge, communicate and coordinate changes across multiple service teams.
- Solid understanding of resiliency techniques and patterns – load balancing, throttling, back pressure, circuit breaking, etc - the good stuff
Perks and Benefits
- Competitive salary, plus equity options
- Flexible daily working hours, we value work-life balance
- In-house chefs that cook delicious breakfast and lunch for us each day
- Onsite Gym; Yoga Benefits
- Generous parental (including secondary) leave policy
- Pet-friendly offices
- Sponsored social clubs and team events
- Relocation budget for interstate or overseas individuals that legally qualify for visa sponsorship
We ensure that the Canva workspace is setup for you to do your best work and have a great time doing so, with breakout areas, little nooks, quiet places to retreat and do your best work! We have two in-house chefs that whip up amazing breakfasts and lunches for the whole team, check out what's cooking at: https://instagram.com/canvavibe/
We make hiring decisions based on your experience, skills and passion. If you’re keen to apply and need reasonable adjustments or would like to note which pronouns you use at any point in the application or interview process, please let us know.