Engineering Fitness

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...

Bugcrowd’s Buggy Awards: Fitbit Takes Two!

We were thrilled to hear today that the Fitbit Security Team has been awarded two awards in Bugcrowd’s second annual Buggy awards.  This year we took home the “Best Response Time” and “Program of the Year” awards. Now that we have three Buggy Awards in our trophy cabinet (we took home “Best Response Time” last year) it feels like a...

Fitbit Response to Cloudflare Security Issue

On February 23, 2017, Google Project Zero and Cloudflare revealed the existence of the Cloudbleed bug. Fitbit uses Cloudflare as our content distribution network and the majority of our web and API traffic routes through the Cloudflare platform. We learned of the issue the same way as everyone else – when security-minded team members at...

The Passport: A Tool for Better Metrics

Software is, by default, opaque.  We can easily see what the output is, but understanding why requires adding instrumentation: metrics, log statements, and other windows into the inner workings of our process.  Adding too little instrumentation makes it difficult to detect and respond to problems as they arise.  Adding too much obscures the...

An Agile Program Management Primer for Distributed Teams

Our job as program managers is to help create and maintain high performing teams. In most cases, this is much easier said than done. While many view the program manager as the person who creates schedules, corrals team members for meetings, and follows up on action items, in reality we do much more. In most cases, program managers help coordinate...

Bridging the Gap Between Design and Engineering

If you visit sites such as dribbble.com or behance.net you will note that there are a multitude of design mockups posted that look spectacular, but you rarely see apps in that style in the app store. There are a variety of reasons for this. For one, a gorgeous design mockup can quickly fall apart when faced with real world data, usability issues...

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...

Instrumenting Hibernate Connection Providers

Note: this article is written with the assumption that the reader has existing knowledge of the Hibernate framework. For an introduction to Hibernate, see . Code for this post may be downloaded here Background Many of the Java web applications we develop at Fitbit leverage Hibernate as an object-relational mapping (ORM) framework. Hibernate...

Stepping Up: Working with the Security Community

With the pace of security today, nobody can afford to go it alone.  Even if you hire the greatest security team, deploy airtight process, tools, design reviews, testing, etc, there’s a global community of like-minded security folk working on these problems. There are economies of scale that come from researchers honing test strategies over many...

Welcome to Engineering Fitness

Fitbit is a group of passionate, intelligent, energetic people dedicated to helping people lead healthier, more active lives. The people that make up this group have produced some amazing products and experiences that have inspired millions of people and pushed Fitbit to the forefront of wearable technology. The purpose of this blog is to...