Senior Backend Software Engineer (Python)

Logo of Canva

Canva

πŸ“Remote - Australia

Job highlights

Summary

Join the team redefining how the world experiences design. As a talented senior software engineer, you will be responsible for extending our RPC frameworks to seamlessly interconnect back end services running in Java with those running in Python.

Requirements

  • You have five-plus (5+) years of commercial experience developing complex applications in Python
  • Experience with other languages such as Java and TypeScript is a big plus but it’s not necessary
  • You have extensive experience in developing clean, readable, and maintainable code; The frameworks developed by the team are used by hundreds of developers at Canva so they need to be easily understandable
  • You have experience with developing or maintaining interprocess communication protocols is a big plus but is not necessary
  • You have experience in architecting and building micro-services with Python async web server frameworks
  • You have familiarity with high transaction rate, low latency messaging systems in distributed systems
  • You are comfortable with computer science and engineering fundamentals like concurrency, data structures and time/space tradeoffs
  • You have experience working in large distributed cloud environments (ideally AWS)
  • You have disciplined coding practices, experience with code reviews and pull requests, and a creative and conceptual problem-solving approach
  • You have strong communication and team collaboration skills, both written and verbal. A Canva engineer strives to understand the exact problem before jumping into writing code
  • You have an understanding of resiliency techniques and patterns - load balancing, throttling, back pressure, circuit breaking, etc; For Canva, reliability is a feature, and the RPC layer is a key component in achieving our reliability goals

Responsibilities

  • Designing and implementing tools and libraries to connect ML services to the rest of the Canva’s microservice architecture
  • Designing, prototyping and implementing an RPC layer that bridges the existing Java-based microservices to the Python-based ML systems
  • Having a widespread impact across the organization by facilitating and spearheading cross-team initiatives that raise the bar for reliability, velocity and security
  • Investigating and understanding production incidents, followed up by applying the learning to code
  • Researching, justifying and advocating your design choices in the form of design docs
  • Liaising with key stakeholders across the business, but in particular machine learning groups to deeply understand their requirements for production-grade performant solutions
  • Proposing new approaches and solutions to ensure that Canva can continue to rapidly grow

Benefits

  • Equity packages
  • Inclusive parental leave policy that supports all parents & carers
  • An annual Vibe & Thrive allowance to support your wellbeing, social connection, office setup & more
  • Flexible leave options that empower you to be a force for good, take time to recharge and supports you personally

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.
Please let Canva know you found this job on JobsCollider. Thanks! πŸ™