Software Engineer, Data Storage

Fitbit   •  

Boston, MA

5 - 7 years

Posted 237 days ago

This job is no longer available.

At Fitbit, our mission is to help people lead healthier, more active lives by empowering them with data, inspiration and guidance to reach their goals.

We started our journey in 2007—as a team of two with one big idea. Today, that idea has become a movement.  is now a publicly-traded company creating award-winning products and services that are available across the globe. We’re transforming the way the world sees health & fitness. In fact, the Fitbit Community has taken enough steps to walk from the Sun to Pluto.

Our culture combines the spirit of startup with the perks of being public—offering a competitive benefits package and amazing perks like free lunches, Friday happy hours, on-site fitness classes and more. As part of our team, you’ll have the opportunity to grow your career, contribute your ideas to life-changing products and services, and—above all—have fun doing it.

Fitbit’s HQ campus is made up of three modern buildings located at the heart of SOMA in San Francisco. Monday-Friday you can feast your eyes on amazing views of the skyline, then feast yourself on some of the city’s best food trucks, lunch spots and coffee shops. When you’ve had your fill, lace up and make your way to the Ferry Building for the perfect post-work run or walk along the water (with the Bay Bridge as your backdrop)!

Think you’ve found your fit? See what we’re looking for below and apply today.

About the Data Storage Engineering team:

The Data Storage Team is responsible for the core data storage infrastructure at Fitbit. Our mission is to build scalable systems that reliably and efficiently manage Fitbit’s data.

We research, build and maintain horizontally scalable data storage systems and services to provide easy way to store any data for building various product features. We are constantly revising storage requirements as well as planning capacity to ensure that we can support our rapidly growing user base.

Additionally, we help other engineering teams apply best practices in using and building efficient storage solutions.

What You’ll Work On

  • Core data storage infrastructure including sharding system, id generation, time series service, data migration frameworks
  • Design, evaluate, build and deploy real-time data storage systems and services for user facing features
  • Provide consulting for other teams on how to best utilize our evolving data storage infrastructure
  • Scale our data storage systems to meet the growing demands of our ever increasing user base

Required Skills

  • 5+ yearexperience as software engineer
  • Strong Java knowledge
  • Experience with relational databases (e.g. MySQL, PostgreSQL, etc)
  • Experience with large-scale real-time distributed data storage systems (e.g. Cassandra, DynamoDB, Manhattan, etc)
  • Solid understanding of data structures, algorithms and framework internals
  • Ability to speak and write clearly and concisely
  • Ability to think creatively about solutions with a focus on the long term stability of our systems

Nice-to-Have Skills

  • Experience in HIbernate and Spring
  • Experience in building storage engines, especially for time series data
  • Experience with caching systems (e.g. Memcached, Redis)
  • Any experience in SOA, DBA, DevOps, SiteOps
  • Familiarity with asynchronous messaging systems (e.g. Kafka, ActiveMQ, RabbitMQ)
  • Multi-DC, Active-Active systems, Geo-sharding

About our stack

  • Linux
  • Java, Python
  • Tomcat, Hibernate, Spring
  • MySQL, Neo4J, Cassandra, Kafka, ActiveMQ
  • Solr/Lucene, Elasticsearch
  • Memcached, Redis
  • JUnit, Selenium, Jenkins, Fabric.