Software Engineer - Mobile Product Infrastructure

Engineering Team | San Francisco, CA

Dropbox is the home for your most important stuff—now we're bringing it to life with a growing family of products. As we scale our global brand, there’s plenty of space for you to grow alongside us and simplify life for millions of people around the world.

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.

On the Product Infrastructure Team, you’ll focus on the libraries that support the entire Dropbox product line, constantly improving our technical foundation to build better products and features, faster. We're passionate about developing scalable, well-designed libraries and you should be too.

You’ll constantly ask questions like: how do we build mobile apps as fast as possible? Can we go from a year to three months to ship a groundbreaking app? What libraries and infrastructure should we build to make that happen? How do we share as much code as possible between our mobile and desktop products? You know that clean software design, high performance and quality code lead to great apps to give people instant, beautifully presented access to everything in their Dropbox.

Come join the Product Infrastructure Team and you’ll make Carousel, Mailbox and future Dropbox apps amazing.

Responsibilities

  • Build cross-platform C++, Objective-C and Java libraries to support core features across all our mobile and desktop apps
  • Refactor our codebase to maximize cross-team sharing and extract the core to be reused across teams
  • Find scalable ways to increase development speed and overall code quality through better APIs, tools, or magic
  • Review code and teach others great software design practices
  • Make Dropbox the best place to build apps

Requirements

  • Experience writing libraries or frameworks in either Java, Objective C, or C++11/14 (multiple is a plus)
  • Experience with at least one mobile platform (is a strong plus) or a desire to learn
  • Great intuition for software design - clean interfaces and well-layered systems using your language of choice
  • Experience with large scale development
  • Experience with physical and logical code organization for cross-team code sharing (is a strong plus)
  • Passion for clean, simple, well-documented, well-tested, and well-designed code
  • Strong ownership and drive to improve codebase
  • Communicate technical ideas to others
Back to Engineering Team

Other open positions for the Engineering Team