基础设施软件工程师,元数据核心
Infrastructure Software Engineer, Metadata Core
职位描述
作为元数据团队的软件工程师,你将构建和运维所有Dropbox服务依赖的大规模分布式数据库。元数据系统是关键任务,在所有用户操作的实时路径中,必须满足严格的延迟、持久性和事务一致性要求。
你将设计并演进管理Dropbox数据库扩展的核心基础设施,为数百万用户和数百个内部服务提供快速、可靠的数据显示。这项工作涉及分布式系统、复制、缓存和事务型数据库系统。
你将与基础设施和产品团队的工程师紧密合作,确保元数据层满足业务需求,并随着Dropbox的增长持续扩展。这是一个利用你在分布式系统方面的专业知识并成长为更广泛技术领导力的机会。
我们的工程职业发展框架对任何人都可见,描述了我们在各个职业级别对工程师的期望。请查看我们关于此主题的博客文章和其他内容。
职责
- 设计和维护提供低延迟、强一致性的分布式数据库系统
- 实现并优化复制、共识和缓存机制,以满足可用性和性能目标
- 运维生产系统,包括参与值班轮班,确保高可用性和数据持久性
- 与基础设施和产品团队合作,评估当前和未来的使用场景和需求,支持制定反映这些需求的中长期路线图
- 参与系统设计评审、事后分析和可靠性改进
- 使用Go和Rust编写高质量、高效的代码,用于性能关键系统
偶尔可能需要进行值班工作,以帮助解决错误、中断或其他运营问题,目标是为客户提供稳定和高质量的体验。
要求
- 5年以上专业软件工程经验,具备分布式系统基础的深厚专业知识,包括复制、一致性、分区和容错
- 具有构建数据库平台、分布式数据库、存储系统或大规模数据库基础设施的经验
- 精通Go、Rust、C++或类似的系统语言
- 熟悉共识和协调系统(例如Raft、Pax)
查看英文原文
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