Backend Software Engineer, Collaboration Runtime

Miro
San Francisco, CA, United States
3 months ago
Apply on arc.dev
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Java (Programming Language) Application Programming Interfaces (APIs) Artificial Intelligence Server Applications Software Debugging Multiplexing Distributed Systems Java Virtual Machine (JVM) WebSocket Multithreading Backend Kotlin
+2 more
Real Time Data Microservices

Job description

The Collaboration Runtime team is moving from a board-centric monolith to a decoupled Collaboration Engine to enable “ubiquitous collaboration” across the entire company. As a Mid-level Engineer, you will be a key builder of this new platform, helping us solve the “legacy bottleneck” by implementing reusable real-time components that work for any app, from AI History to Dashboards. This role is open because we are scaling our infrastructure to support high-load, stateful applications beyond our traditional board use cases. You will be responsible for building the high-performance gRPC and WebSocket “plumbing” that makes real-time interaction seamless for millions of users.

What You’ll Do

  • Implement core features of the Collaboration Engine and the Broadcast Application to ensure the AI History use case is production-ready by the end of Q1
  • Develop and optimize gRPC streaming support (unary, bidi, and server-side) within the collaboration proxy to enable complex real-time data flows
  • Build out the Application & Server Registry, enabling discovery and routing for new services like the CIS “live updates” dashboard
  • Execute the rollout of connection multiplexing between the RTC Gateway and application servers to improve system efficiency and scale
  • Write high-concurrency code in Java/Kotlin to manage WebSocket transport paths and ensure low-latency real-time client connectivity
  • Partner with AI and Platform teams to integrate their services with the Engine, ensuring high reliability and 99.9% uptime

Requirements

  • Strong proficiency in Java or Kotlin, with a solid grasp of multithreading and JVM performance
  • Practical experience building and maintaining high-load distributed systems or microservices
  • Hands-on experience working with WebSockets and gRPC for real-time data transport
  • Familiarity with concurrency patterns and the ability to debug complex, stateful application issues
  • Ability to translate technical requirements into clean, testable code that integrates with complex backend proxies
  • Effective communication skills to collaborate with partner teams on API definitions and service integrations

About the company

Miro is a visual workspace for innovation that enables distributed teams of any size to build the next big thing. The platform’s infinite canvas enables teams to lead engaging workshops and meetings, design products, brainstorm ideas, and more. Miro, co-headquartered in San Francisco and Amsterdam, serves more than 100M users and 250,000 companies collaborate in the Innovation Workspace. Miro was founded in 2011 and currently has more than 1,600 employees in 13 hubs around the world.

We are a team of dreamers. We look for individuals who dream big, work hard, and above all stay humble. Collaboration is at the heart of what we do and through our work together we hope to create a supportive, welcoming, and innovative environment. We strive to play as a team to win the world and create a better version of ourselves every day. If this sounds like something that excites you, we want to hear from you!, At Miro, we strive to create and foster an environment of belonging and collaboration across cultural differences. Miro’s mission - Empower teams to create the next big thing - is how we think about our product, people, and culture. We believe that creating big things requires diverse and inclusive teams. Diversity invites all talent with different demography, identities and styles to step in, and inclusion invites them to step closer together. Every day, we are working to build a more diverse Miro, cultivate a sense of belonging for future and current Mironeers around the world, and foster an environment where everyone can collaborate and embrace differences.

Miro handles and uses personal data of job applicants in line with its Recruitment Privacy Policy found here.

About Miro

501-1000

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on arc.dev
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

3:09 min

Understanding Kotlin Multiplatform and its compiler targets

Petar Marijanović · LIVE

1:52 min

Structuring and scaling the backend engineering team

Stefan Lingler Stefan Lingler +1 ¡ Coffee With Developers

51 sec

Configuring live browser and WebSocket connection endpoints

Suchitra Swain Suchitra Swain ¡ World Congress 2026 Europe

1:17 min

Storyblok engineering context and tech stack overview

Sebastian Gierlinger Sebastian Gierlinger ¡ World Congress 2025

2:15 min

Developing front-end client applications using Kotlin Multiplatform libraries

Mario Bodemann Mario Bodemann

1:38 min

Transitioning into backend engineering from web development

Stefan Lingler Stefan Lingler +1 ¡ Coffee With Developers

Videos

See all

Related articles

See all