At a Glance
- Tasks: Design and implement scalable backend services for notifications, ensuring timely user communication.
- Company: Join a leading tech company focused on enhancing user experience through innovative messaging solutions.
- Benefits: Enjoy competitive salary, flexible work options, and opportunities for professional growth.
- Other info: Be part of a dynamic team that values collaboration and innovation.
- Why this job: Make a real impact by improving how millions of users receive important notifications.
- Qualifications: 6+ years in backend development with strong skills in Java, Kotlin, and distributed systems.
The predicted salary is between 60000 - 80000 £ per year.
Requirements
- 6+ years of backend development experience (Java 17, Kotlin, Spring / Spring Boot)
- At least 4+ years of experience building and operating distributed systems in production environments
- Strong understanding of event-driven architectures, async processing, and message-based systems
- Solid knowledge of high-load SaaS architecture, scalability, and reliability patterns
- Some experience with streaming/messaging platforms, notifications or feed-like systems (email, in-app, push, or similar)
- Familiarity with cloud infrastructure, preferably AWS, and production observability practices
What the job involves
We’re looking for a Senior Backend Engineer to join the Messaging team. The Messaging team owns Miro’s notification platform, ensuring users receive relevant, timely, and trustworthy notifications that help them stay informed and improve their Miro experience. This includes email notifications, in-app notifications, and the underlying systems that power them. Our mission sits at the intersection of product experience and platform reliability. We enable Miro teams to communicate with users at the right moment, across channels, at scale - while avoiding noise, duplication, and overload.
By building robust, scalable, and observable messaging systems, we help Miro teams drive retention, engagement, and clarity for millions of users. We’re looking for a Backend Engineer who will help us evolve and scale Miro’s messaging and notification capabilities. You’ll work on high-throughput, event-driven systems that operate under strict reliability, latency, and correctness requirements. The role requires strong software engineering fundamentals, experience with distributed systems, and a product mindset - understanding that every notification affects user trust.
You’ll take ownership of critical services, collaborate closely with Product and Platform teams, and help define stable, extensible interfaces that enable Miro teams to deliver meaningful user notifications safely and efficiently.
- Design and implement scalable, fault-tolerant backend services for email and in-app notifications
- Build and evolve event-driven, asynchronous pipelines that process high volumes of product and user events
- Create high-quality technical designs and write clean, maintainable, self-documented production code
- Ensure correctness, idempotency, deduplication, and delivery guarantees across notification flows
- Optimize performance, latency, and scalability while maintaining reliability under peak load
- Take long-term ownership of features and subsystems, including production health and evolution
- Collaborate with Product and Platform teams to deliver relevant and timely user notifications
Senior Software Engineer (Messaging) employer: Miro
Miro is an exceptional employer that fosters a collaborative and innovative work culture, perfect for Senior Software Engineers looking to make a significant impact. With a strong focus on employee growth, Miro offers ample opportunities for professional development and encourages team members to take ownership of their projects. Located in a vibrant tech hub, the company provides a dynamic environment where engineers can thrive while working on cutting-edge messaging systems that enhance user experience for millions.
StudySmarter Expert Advice🤫
We think this is how you could land Senior Software Engineer (Messaging)
✨Tip Number 1
Network like a pro! Reach out to folks in your industry on LinkedIn or at meetups. We all know that sometimes it’s not just what you know, but who you know that can get you in the door.
✨Tip Number 2
Prepare for those interviews by practising common questions and scenarios related to backend development. We recommend doing mock interviews with friends or using online platforms to get comfortable with the process.
✨Tip Number 3
Show off your skills! If you’ve got a portfolio of projects or contributions to open-source, make sure to highlight them during interviews. We want to see how you tackle real-world problems.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, we love seeing candidates who are genuinely interested in joining our team.
We think you need these skills to ace Senior Software Engineer (Messaging)
Some tips for your application 🫡
Show Off Your Experience:Make sure to highlight your 6+ years of backend development experience, especially with Java 17 and Kotlin. We want to see how you've built and operated distributed systems in production, so don’t hold back on those details!
Talk About Event-Driven Architectures:Since we’re all about messaging systems, share your understanding of event-driven architectures and async processing. Give us examples of how you’ve implemented these in your previous roles – it’ll really make your application stand out!
Demonstrate Your Product Mindset:We’re looking for someone who understands the impact of notifications on user trust. In your application, explain how you’ve approached building reliable systems that enhance user experience. This will show us you get what we’re all about!
Apply Through Our Website:Don’t forget to submit your application through our website! It’s the best way for us to keep track of your application and ensure it gets the attention it deserves. We can’t wait to hear from you!
How to prepare for a job interview at Miro
✨Know Your Tech Stack Inside Out
Make sure you’re well-versed in Java 17, Kotlin, and Spring/Spring Boot. Brush up on your knowledge of distributed systems and event-driven architectures, as these will be key topics during the interview. Be ready to discuss your past experiences and how they relate to building scalable, reliable systems.
✨Showcase Your Problem-Solving Skills
Prepare to tackle some technical challenges or case studies that demonstrate your ability to design fault-tolerant backend services. Think about how you would approach high-load scenarios and be ready to explain your thought process clearly. This is your chance to shine!
✨Understand the Product Mindset
Since the role involves user notifications, it’s crucial to understand how your work impacts user trust and experience. Be prepared to discuss how you would ensure timely and relevant notifications while avoiding overload. Show that you can think beyond code and consider the end-user.
✨Collaborate and Communicate
This position requires close collaboration with Product and Platform teams. Be ready to share examples of how you’ve worked in cross-functional teams before. Highlight your communication skills and how you ensure everyone is aligned on goals and expectations.