Software Engineer (Java)
At Canva, we create tools that empower the world to design. 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 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 30 million active users across 190 different countries who have created more than 2 Billion designs. We are one of the world’s fastest growing technology companies and we have only achieved about 1% of what we are capable of!
About our Software Engineering Team
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 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. (For a deeper look into Canva's engineering culture, here's a medium page, discussing how we get things done.)
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.
In the Philippines, we are growing our existing engineering team. Here’s a glimpse of our engineering culture and a blog about how we work across borders.
What you'll do as our Software Engineer:
- Solution Design and Software development. You will be working closely with leads, designers, and product managers to deliver features and functionality to our customers all over the world.
- Creation of a ticketing tooling system. Experience in creating a ticketing tooling system is a plus as our engineering team will be working on integration of data information with Jira Service Desk along with creation of custom plug-ins and add ons.
- Develop and iterate technical proposals. You will also be responsible for outlining how solutions will be structured and developed whilst working collaboratively with the product engineering team.
- Deployment to production release. Having a hand on technical proposals and developing solutions you’ve designed from the ground up through to deployment and production release.
- Identify and address performance bottlenecks. Provide solutions and in improving current performance and bottlenecks within the application and broader infrastructure.
- High accountability for the reliability of your solution. We care about reliability greatly as your code is going to be used by millions of people. This means being responsible for the reliability of your solution, including monitoring and responding to incidents.
- Performance debugging, benchmarking and building awesome things in general!
- Participating in product meetings, hiring interviews and code reviews
Once you’ve settled in and have a comfortable grasp of the product, environment, and processes, you’ll be given more responsibility and start leveraging your previous experience — bringing new ideas to the table concerning everything from feature development, process improvement, and product suggestions.
Required experience and skills:
- 3+ years of experience as a backend engineer
- Commercial experience developing complex web applications
- Strong background using Java. But, we’re pragmatic and flexible – we’ll use whatever makes the most sense to complete a task (previous experience with other languages is great!)
- Experience/knowledge on Spring and Spring Boot
- Experience in Agile Software Development
- Firmly grounded computer science and engineering fundamentals including concurrency, multithreading, data structures, solution design, architecture, and design patterns. You’d be surprised how often these things come up here at Canva!
- You’re happy to roll the sleeves up and dive into java.util.concurrent from time to time
- Working collaboratively with team members and communicating effectively
- Strong communication skills, both written and verbal
- HMO with 2 Dependents on Day 1
- Equity options in one of the fastest growing startups in the world
- Professional educational allowance - we care about your growth
- Fitness membership
- In-house chef
- Sponsored social clubs and team events
- Fun and quirky celebrations
Note: This is a full-time remote work until there's a need to move back to onsite office operations.
Canva is ranked #3 Great Place to work in the Philippines and is one of the leading technology companies in Australia.
Our culture is unlike anywhere else and our offices are designed with workspaces for every mood, to help you do great work. At Canva you can be part of a company that is growing rapidly, building a product that users really love.
Being a Force for good.
One of our core values at Canva, “Being a force for good” means we are actively working towards a world that isn't just good for a small few, but one that’s good 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. To achieve this, we need to constantly work towards making Canva the best place to work, for everyone.