We’re looking for Backend Engineers to join the Canvas Backend team.
Our team provides the platform that enables Miro Product teams to implement and evolve new forms of canvas content - unlocking new use cases for our customers.
We also build the foundation for both real-time and asynchronous collaboration, focusing on seamless communication between the Board Server and Collaboration apps.
By delivering a powerful, stable, and high-performance platform, the Canvas Backend team lays the tracks for future innovation, empowering Miro teams to move faster and build better products.
About the Role
We’re looking for a Backend Engineer who will help us achieve ambitious goals.
We expect you to have a strong software engineering experience, readiness to drive change and experiment in search of the best solution, an understanding of how to work with big loads, and be able to scale it.
Be responsible for the important parts of the code and be willing to take on difficult challenges, collaborate with teams across Miro to provide well-defined and extendable interfaces on Canvas model data.
What you’ll do
Create high quality technical design and high quality, self-documented code
Design and implement scalable and high-performing solutions with concurrency and fault-tolerance in mind
Optimize application performance and scalability, identifying areas for improvement and implementing necessary enhancements.
Design and implement flexible but stable and future-proof data access patterns and contracts (APIs, events)
Take long-term ownership for feature/subsystem
Write exception-safe mission-critical code that has no right to crash
Collaborate with teams across Miro to improve our product, architecture, and engineering practices
What you’ll need
4+ years of backend development experience. We use Java 17, Kotlin and Spring (+Spring Boot). Java ecosystem is preferable, but other languages aren't blockers ( C#, C++)
4+ years of experience building robust, high-scale, distributed systems in production environments
Proficient in REST, WebSockets for real-time communication
Familiarity with cloud architecture, with preference given to experience with AWS.
Understanding of high-load architecture and SaaS infrastructure
Understanding of Apache Kafka or equivalent messaging systems
Proficient in multithreading concepts in Java, including thread management, thread pools, and their impact on system resources and performance
What's in it for you
Competitive equity package
Health insurance for you and your family
Help with relocation
Breakfast, lunch, snacks, and drinks provided in the office
Wellbeing benefit and WFH equipment allowance
Annual learning and development allowance to grow your skills and career