All remote jobs
Open role
Remote opportunity atDropbox

Infrastructure Software Engineer, Metadata Core

Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.

Published
76Listing views
6Application actions
17 Oct 2026Apply before
Opportunity details

About this role.

AI Summary

Dropbox is seeking an experienced infrastructure software engineer to build and operate mission-critical metadata databases serving millions of users and hundreds of internal services. The role centers on distributed systems design, strongly consistent storage, replication, consensus, caching, and production reliability. The engineer will write performance-critical Go and Rust, participate in on-call operations, and contribute to architecture reviews and postmortems. Success requires deep distributed-systems expertise, strong debugging skills, and effective collaboration with infrastructure and product teams.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

4/5
GuidedFull ownership

Communication Load

4/5
IndependentCollaborative
AI insightThis is a senior infrastructure role involving highly available, strongly consistent distributed databases in the live path of user operations. It requires specialized knowledge of consensus, replication, storage internals, production operations, and performance troubleshooting.

Salary analysis

Estimated compensation compared with the broader PLN market for similar roles.

Estimated job medianAbove market
PLN320,000
PLN market rangePLN160k–PLN225k
AI insightThe disclosed Poland yearly pay range is 272,000–368,000 PLN, producing an offer median of 320,000 PLN. For comparison, the estimated US market range for a senior infrastructure/distributed-systems software engineer is approximately $160,000–$225,000 USD annually; this market comparison is an estimate and is not a conversion of the posted PLN range.

Core skills

Skills and capabilities most closely associated with this opportunity.

Sample interview questions
How would you design a strongly consistent metadata service that remains highly available during node failures?

I would begin by defining consistency, latency, and recovery objectives, then use a replicated state machine with a consensus protocol such as Raft. Data would be partitioned carefully, each shard would maintain quorum-based replicas across failure domains, and clients would route writes through the current leader. I would also define backpressure, retry, repair, and observability mechanisms so degraded conditions are detected and handled without compromising correctness.

What trade-offs would you evaluate when choosing between an LSM tree and a B-tree for a storage engine?

I would evaluate read/write workload shape, tail-latency requirements, storage amplification, range-query behavior, and operational complexity. LSM trees generally optimize high write throughput through sequential writes but require compaction management and can increase read amplification. B-trees can provide more predictable point and range reads, though random-write costs may be higher depending on the storage medium and implementation.

Describe how you would investigate a sudden increase in p99 latency in a distributed database service.

I would first correlate the latency increase with traffic, deployments, error rates, resource saturation, garbage collection, disk and network metrics, and replica health. I would use tracing and request-level breakdowns to isolate whether the delay is in routing, consensus, storage I/O, cache misses, lock contention, or downstream dependencies. After mitigating the immediate issue, I would document the root cause, add targeted alerts or capacity safeguards, and validate the fix through load testing.

How do you safely evolve a replication or consensus component used by many production services?

I would make compatibility and rollback the primary design constraints. The change should be introduced behind feature flags or versioned protocols, tested through failure injection and mixed-version clusters, and rolled out incrementally with explicit health and correctness gates. I would also prepare operational runbooks, monitor replication lag and quorum behavior closely, and retain a tested rollback path.

How would you work with product teams to turn future metadata use cases into an infrastructure roadmap?

I would gather concrete workload characteristics such as access patterns, consistency needs, growth forecasts, latency objectives, and failure tolerance. I would translate those needs into capacity, architecture, and reliability gaps, clearly communicate trade-offs, and prioritize work based on customer impact and risk. The resulting roadmap would distinguish immediate reliability commitments from longer-term platform investments and be revisited as product assumptions change.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.

Role Description

As a Software Engineer on the Metadata team, you’ll build and operate the large-scale distributed databases that every Dropbox service depends on. Metadata systems are mission-critical, in the live path for all user operations and must meet stringent requirements for latency, durability, and transactional consistency.

You’ll design and evolve the core infrastructure that manages Dropbox’s databases at scale, enabling fast, reliable access to data for millions of users and hundreds of internal services. This work spans distributed systems, replication, caching, and transactional database systems.

You’ll collaborate closely with engineers across Infrastructure and Product teams to ensure the metadata layer meets business needs and continues to scale with Dropbox’s growth. This is an opportunity to leverage your expertise in distributed systems and grow into broader technical leadership.

Our Engineering Career Framework is viewable by anyone outside the company and describes what’s expected for our engineers at each of our career levels. Check out our blog post on this topic and more here.

Responsibilities

  • Design and maintain distributed database systems providing low-latency, strongly consistent data access
  • Implement and optimize replication, consensus, and caching mechanisms to meet availability and performance goals
  • Operate production systems, including participating in the on-call rotation, ensuring high availability and data durability
  • Collaborate with infrastructure and product teams to assess current and future use cases and requirements, supporting the development of a mid- to long-term roadmap that reflects these needs
  • Contribute to system design reviews, postmortems, and reliability improvements
  • Write high-quality, efficient code in Go and Rust for performance-critical systems

On-call work may be necessary occasionally to help address bugs, outages, or other operational issues, with the goal of maintaining a stable and high-quality experience for our customers.

Requirements

  • 5+ years of professional software engineering experience, with strong expertise in distributed systems fundamentals including replication, consistency, partitioning, and fault tolerance
  • Experience building database platforms, distributed databases, storage systems, or large-scale database infrastructure
  • Proficiency in Go, Rust, C++ or similar systems languages
  • Familiarity with consensus and coordination systems (e.g. Raft, Paxos, ZooKeeper, etcd)
  • Experience operating production services and participating in on-call rotations
  • Strong debugging and performance analysis skills
  • Excellent collaboration and communication abilities across teams

Preferred Qualifications

  • Experience building distributed databases or storage systems
  • Practical experience with and deep understanding of data structures used in storage systems (e.g. LSM trees, B-trees, Hash Indexes)
  • Experience operating database systems (e.g. MySQL, Postgres, Cassandra)
  • Experience with distributed caching, either custom built or operating open source options such as Memcached or Redis
  • Experience improving reliability and performance in high-scale data systems
  • Experience working with cross-functional teams to understand their current use cases, identify future needs and requirements, and incorporate them into the team’s roadmap.
  • Interest in deepening distributed systems expertise and expanding technical leadership

Compensation

Poland Pay Range

272 000 zł—368 000 zł PLN

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. View safety guidance.

Log in to save
One quick step before you apply

Create your free account, then apply.

Build a more organized job search on Jobicy and continue to the employer's application when you're ready.

  • Never lose a promising opportunitySave roles and return to them from your dashboard.
  • See your entire search at a glanceTrack applications, stages and next steps in one place.
  • Get matched with relevant remote jobsChoose the alerts and digests that work for you.
Applying is free. The employer's application opens in a new tab.
Add alert
Jobs Talent AI Tools Salaries
Menu