Additional Information
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.
At the moment, this role is focused on:
Play a leading role in defining the technical roadmap and architecture for API platforms as Canva evolves. This involves helping shape the roadmaps for critical building blocks of Canva's backend systems.
Become an authority in the area of API architecture and service communication. You will need to define and evangelise best practices for software architecture and layering, service performance, resiliency patterns and best practice library consumption. You will do this with both coding contributions and effective PR reviews.
Design and be a hands-on implementer of intricate aspects of the system, showcasing your aptitude for tackling complex technical challenges effectively.
Propose innovative approaches and solutions to help future-proof Canva's distributed cloud infrastructure. You must engage with others to shape the improvements through writing clear design documents, influencing others' designs and running design meetings.
Guide the implementation of major projects, assisting in realistic task breakdown and keeping engineers in sync within and across teams using excellent verbal and written communication skills.
Provide guidance and mentorship to other engineers, assisting them in their professional development and helping them navigate technical challenges.
Have a widespread impact across the organisation by facilitating and orchestrating cross-team initiatives that set a higher standard for reliability, velocity, and security.
You're probably a match if
Ten-plus (10+) years of commercial experience developing sophisticated distributed web applications on the JVM; experience writing Java (experience with other backend languages such as Scala, Python and Typescript is a plus)
Experience with planning and executing architectural changes and a creative and conceptual problem-solving approach as opposed to a framework or library focus.
Strong communication and teamwork skills, both written and verbal.
Facilitating collaboration across teams and fostering a positive working relationship between stakeholders and engineers. You know how to create a culture of trust, respect, and open communication.
Experience with guiding and mentoring other engineers, helping unblock technical challenges and being an all-around role model.
Expert in asynchronous or reactive programming techniques and associated patterns
Deep knowledge of computer science and engineering fundamentals: concurrency, data structures, and distributed systems. And an understanding of resiliency techniques and patterns - load balancing, throttling, back pressure, circuit breaking, etc.
Experience working in large distributed cloud environments (ideally AWS)
A huge plus will be experience with RPC frameworks, like gRPC.
A strong working knowledge of modern networking protocols such as HTTP/2, protobuf and WebSockets will be highly regarded.