基础设施软件工程师,元数据服务
Infrastructure Software Engineer, Metadata Services
职位描述
作为元数据团队的软件工程师,你将构建和运营所有Dropbox服务依赖的大规模分布式数据库。元数据系统是关键任务,在所有用户操作的主路径上,必须满足对延迟、持久性和事务一致性的严格要求。
你将设计和演进管理Dropbox数据库的核心基础设施,为数百万用户和数百个内部服务提供快速、可靠的访问。这项工作涵盖分布式系统、复制、缓存和事务型数据库系统。
你将与基础设施和产品团队的工程师紧密合作,确保元数据层满足业务需求,并随着Dropbox的增长持续扩展。这是一个利用你在分布式系统方面的专业知识并成长为更广泛技术领导的机会。
我们的工程职业发展框架对外公开,描述了我们各职业级别对工程师的期望。请查看我们关于此主题的博客文章和其他内容。
职责
- 设计和维护提供低延迟、强一致性数据访问的分布式数据库系统
- 实现和优化复制、共识和缓存机制,以满足可用性和性能目标
- 运营生产系统,包括参与值班轮班,确保高可用性和数据持久性
- 与基础设施和产品团队合作,评估当前和未来的使用场景和需求,支持制定反映这些需求的中长期路线图
- 参与系统设计评审、事后分析和可靠性改进
- 使用Go和Rust编写高质量、高效的代码,用于性能关键系统
偶尔可能需要进行值班工作,以帮助解决bug、故障或其他运营问题,目标是为客户保持稳定和高质量的体验。
要求
- 计算机科学或相关技术领域(如物理或数学)的学士、硕士或博士学位,或同等技术经验
- 5年以上专业软件开发经验
- 具有使用分布式系统基础(如复制、一致性、分区和容错)设计和实现软件的经验
- 具有构建数据库、存储系统或大规模数据基础设施的经验
查看英文原文
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
- BS, MS, or PhD in Computer Science or related technical field involving coding (e.g., physics or mathematics), or equivalent technical experience
- 5+ years of professional software development experience
- Experience designing and implementing software using distributed systems fundamentals: replication, consistency, partitioning, and fault tolerance
- Experience building databases, storage systems, or large scale data infrastructure
- Proficient in programming and debugging across a range of languages such as Python, Go, Rust, C/C++, or Java
- Familiarity with consensus and coordination systems (e.g. Raft, Paxos, ZooKeeper, etc)
- Strong debugging and performance analysis skills
Preferred Qualifications
- Familiarity with Semaphores and Mutexes
- 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)
Durable Skills
AI fluency means using these tools to amplify human judgment, not replace it. We believe people with these skills will thrive as work and technology continue to evolve:
- Awareness: Understand yourself and others.
- Judgment: Evaluate information and make decisions in complex situations.
- Adaptability: Learn, adjust, and stay effective through change.
- Connection: Communicate, collaborate, and build trust.
To learn more about why these skills matter and what the data shows about thriving through change, read this blog post from our Chief People Officer, Melanie Rosenwasser.
Compensation
Poland Pay Range
272 000 zł—368 000 zł PLN