Back to jobs

Software Engineer - Infrastructure

Dropbox | San Francisco, USA


Team Description

Our Engineering team is architecting a family of products that handle over a billion files a day. We take on the complexities of technology that affect everyday life, so that people can get back to living and doing their best work.

Role Description

Dropbox Infrastructure Engineering team is passionate about building awesome products at massive scale. We've developed a set of values that enable us to do this. Specifically, we write great software and sweat the details, relentlessly focus on impact, and create an enduring culture. Creating elegant products begins with lots of hacking and iteration to explore the problem space. It culminates in careful attention to edge cases and error handling, polished code, and great tests to ensure that we ship reliable code that never compromises data integrity or security. Every Dropbox software release improves millions of lives, and you'll find a high petabyte-to-engineer ratio here. We're aggressive about shipping high-leverage projects, even if they're risky or novel. We care deeply about collaboration, feedback, and iteration. Trust and respect are deeply rooted in our engineering culture. At the heart of Dropbox lies the largest networked filesystem in history. We routinely tackle audacious challenges, often against competitors who have 10-50x our resources. On top of this foundation, we're creating products that enable people to do amazing things with their stuff across all their devices.


  • Building infrastructure to manage metadata for hundreds of billions of files, hundreds of petabytes of user data, and millions of concurrent connections

  • Scale Dropbox as the data-fabric which connects hundreds of millions of the world's apps, devices, and services

  • Relentlessly measure and optimize as Dropbox continues to build one of industry's most advanced analytics platforms to derive meaning from vast amounts of data.
  • Requirements

  • CS Degree with industry experience is required

  • Extensive experience building and owning large-scale, multi-threaded, geographically distributed backend systems

  • Expert knowledge developing and debugging in C/C++, Java, or Go

  • Knowledge of Python a plus

  • Experience with operating system internals, filesystems, databases, network, compiler also a plus

  • Familiarity with Linux

  • Learn More