Engineering Fitness

Performance

Load testing microservices and identifying scalability issues

Engineering at Fitbit prioritizes quality around the products that we build. We do a number of things to support this–one of them is pre-release load testing. This ensures not only that the services can handle traffic generated by millions of users, but also handle it with acceptable latencies. Fitbit commonly uses two strategies to load test...

What is Bitgatt and why do we need it?

At Fitbit we utilize Bluetooth Low Energy, commonly known as BLE, for particularly heavy data transfers which are more complex than the common handful of use-cases for this extremely efficient radio technology.  One of the perks of the job, in my opinion, is to try to deliver amazing experiences between wearables and cloud-connected mobile...

Evaluating Google Cloud Spanner and BigTable

Motivation As one can imagine, the millions of active Fitbit users generate a lot of data. All that data has to be processed and stored so that users can look back on historical step counts, sleep, etc. One such storage service that I focused on as an intern on the Data Storage team, is the Device Communication Log (DCL) service. The messages sent...

A Look at How Fitbit Prepares our Site for the Holidays

Ensuring that Fitbit’s site is always available is a top priority for our engineering organization. This is especially true during the annual holiday season that spans Black Friday through the end of the year. Christmas day brings extra pressure and visibility on our site because it is the busiest day of the year for user account creation and...

Automatic Mean Shift Detection: My Internship Project

This summer Margaret Tian interned on Fitbit’s Performance and Capacity team and worked on researching, designing, and implementing an automatic mean shift detection system to help with production site health monitoring.  Here she describes her project and her experience as an intern at Fitbit. Background What is a mean shift? A mean shift...