Software Developer/ Engineer/ Architect

Senior Software Engineer, Sync

The database market is massive (the IDC estimates it to be $119B+ by 2025!) and MongoDB is at the head of its disruption. The MongoDB community is transforming industries and empowering developers to build amazing apps that people use every day. We are the leading modern data platform and the first database provider to IPO in over 20 years. Join our team and be at the forefront of innovation and creativity.

At Realm we help mobile developers build better apps faster by giving them a powerful alternative to SQLite. Realm on-device object database is open-source and used by more than a hundred thousand active developers. Over 65% of Fortune 1000 companies rely on Realm in their apps.

This role can be based out of our Dublin office or remotely in Europe.

The Sync team focuses on building the real-time synchronization engine for Realm Cloud platform, which automatically synchronizes data objects across all devices and the servers in real-time. Realm Sync makes it easy for mobile developers to build sophisticated mobile apps quickly with data-driven features (such as collaboration or messaging) that are responsive and performant irrespective of network status. 

As a Senior Engineer, you will work with anything from high-level architecture, API design, algorithms and advanced data structures, to low-level optimizations. You will be involved in the whole process from idea, architecture, design, implementation and test to documentation. We are looking for a person who is a self-starter, enjoys both planned and interrupt-driven work schedules, and has a laser focus on ensuring a great developer experience.

Position Expectations:

  • Design, build and maintain Realm Sync client components
  • Write high quality (e.g. clean, well-tested) code
  • Participate actively in the code review process
  • Collaborate effectively with teammates and colleagues across the organization
  • Deliver tasks on-time, clearly, communicate challenges or roadblocks

The ideal candidate will...

  • Have 5+ years of C++ experience working on production systems (knowledge of modern C++17 is preferred)
  • Experience with multi-threaded programming in a resource constrained environment
  • Experience with asynchronous network programming on POSIX and Windows
  • Experience building portable software to run on a wide variety of hardware and operating systems - we build software for everything from x86 Linux to Apple iOS to raspberry PIs to Android phones
  • Prior experience with data replication/synchronization and distributed systems
  • Experience with standard (or advanced) data structures and algorithms
  • Prior experience with Go (bonus)
  • Prior experience with MongoDB (bonus)
  • Prior experience with database internals (bonus)
  • Experience with mobile or embedded development (bonus)

The Senior Engineer will be successful in this role when they...

  • Know their way around Sync and Core code base
  • Can deliver tasks through the entire SDLC, from design through deployment with minimal guidance
  • Establish a cadence of on-time delivery without cutting corners
  • Can communicate design decisions and trade-offs effectively while working with a geographically distributed team