Engineering

Full Stack Java Engineer - Backend Passion

Sydney – Full-time

At Canva, our mission is to democratize design and empower creativity and visual expression for every person, on every platform.  Since launch in April 2013, our user base has grown exponentially, amassing over 55 million monthly active users in over 190 different countries, making us one of the world's fastest-growing technology companies.  As of today, we've achieved profitability, and the company is valued at over USD$15 Billion, which comfortably prepares us for the next phase of growth and development.

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/

Oh, and check out Engineering Blog: https://engineering.canva.com/ and our Medium Blog: https://medium.com/@Canva