Senior Software Engineer - API Gateway (Java) at Canva
Sydney, AU
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 10 million users in over 100 languages, making us one of the world's fastest-growing technology companies.  As of today, we've achieved profitability, and the company is valued over $1-billion, which comfortably prepares us for the next phase of growth and development.
 
You'll be joining a team of skilled technologists with previous experience at companies such as Google, JetBrains, Yandex, Atlassian, Amazon, Apple, and Facebook; leveraging their knowledge and experience building mass-scale web applications for consumers and businesses alike.
 
The Gateway Team is responsible for the front line of our microservices, as well as the journey a request takes while travelling from one service to another. Gateway’s work is based on two cornerstones: Reliability and Velocity. We want to ensure that every request that hits Canva goes through the Gateway components, at ludicrous speeds, and that the developers who work on the platform can be efficient and productive.
 

Role Responsibilities

  • As an individual contributor, develop awesome Gateway features and functionality to support the Canva product suite
  • Develop internal tools and services used by other software engineers to maximize productivity and eliminate blockers
  • Deep investigation into production incidents followed up applying the learning to code
  • Researching, developing, and justifying the best choices in the form of design docs for features that will shape the future of Canva 
  • Propose new approaches and solutions to ensure we future-proof Canva’s distributed cloud infrastructure as we scale 
  • Developing solutions you’ve designed from the ground up through to deployment into production
  • Identifying and addressing performance bottlenecks within the application and broader infrastructure
  • Participating in design meetings, hiring interviews, and code reviews

Required Experience & Skills

  • Five-plus (5+) years of commercial experience developing complex, distributed web applications
  • Strong grasp of the JVM; experience writing Java (experience with other JVM languages such as Scala, Kotlin, etc is a big plus – however, we primarily use  Java 11)
  • Familiar with asynchronous or reactive programming techniques and associated patterns. At our scale, writing blocking code is not an option.
  • Firmly grounded computer science and engineering fundamentals: throttling, circuit breakers, load balancing – all of it requires a strong understanding of concurrency, data structures, and distributed systems.
  • Experience working in large distributed cloud environments (ideally AWS); CDNs, DNS. We’re hosted on AWS and leverage cloud providers for as much as possible. 
  • Experience with RPC Frameworks, Finagle, Thrift or gRPC will be a huge plus. We strive to make sure that the communication layer is not a bottleneck, and simplifies the life of the product engineers as much as possible.
  • Knowledge of networking protocols such as TCP, HTTP 1/2, QUIC, protobuf, etc. would be a big plus! The life of a request doesn’t start inside the backend web server, but rather in the browser of a user. 
  • An understanding of resiliency techniques – load balancing, throttling, back pressure, circuit breaking, etc. For Canva, reliability is a feature, and the infra team aims to provide the best tools possible to the application engineers to ensure that Canva stays available at all times. 
  • Disciplined coding practices, experience with code reviews and pull requests, conceptual thinking approach as opposed to framework-focused; we’re engineers and builders, not delegators
  • Strong communication and collaborative skills, both written and verbal. A Canva engineer always strives to understand the exact problem before writing a solution. 

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
  • Free Gym and Yoga Benefits
  • Generous parental (including secondary) leave policy
  • Pet-friendly offices
  • Sponsored social clubs and team events
  • Relocation budget for interstate or overseas individuals (see below for visa information)