Software Engineer - Performance

Fitbit   •  

Boston, MA

Not Specified years

Posted 238 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. Since then, we’ve grown to over 1,500 employees, sold over 60mm devices, and built a health and fitness community across the globe.  In fact, the Fitbit Community has taken enough steps to walk from the Sun to Pluto! 

Offering award-winning products, a top-rated mobile app and an easy-to-use online dashboard, Fitbit provides personalized experiences that help our users reach their goals. With a reenergized focus on innovative devices, interactive experiences, and enterprise health we are transforming the way consumers and businesses see health & fitness.

From your first steps as a Fitbitter, you will be at the forefront of developing new products. Our culture combines the spirit of startup with the perks of being public. We offer a competitive benefits package and amazing perks like unlimited snacks, Friday happy hours, onsite workout classes, and a strong focus on a healthy work-life balance. 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 located in the heart of San Francisco with office locations in Boston, San Diego and around the world. Think you’ve found your fit?

About the Performance Engineering team:

We foster development of high performance web services by making it easy for engineering teams to assess and manage performance of their own services and the whole Fitbit web site.

What you'll work on:

Build tools, libraries, and platforms to manage performance at every stage of software development

  • Standardize performance test tools and methodology
  • Create/maintain performance test automation framework
  • Create/maintain test libraries to aid performance testing of different services
  • Build performance testing into continuous integration
  • Create and execute performance regression workloads for pre-production testing
  • Create performance profiles for prototypes
  • Evaluate new platforms and platform upgrades, including new hardware profiles
  • Monitor and analyze production performance
  • Troubleshoot and profile production performance bottlenecks

Assist teams with diagnosing and resolving performance issues

  • Enable teams to create regression workloads to meet performance objectives
  • Publicize gradual performance regressions that may slip through normal analysis
  • Pair with other engineers to help them understand how to troubleshoot and diagnose issues
  • Document and train engineers on using tools, evaluating results, and applying performance engineering patterns in their design
  • Recommend and assist with implementation and architectural changes to improve performance

Provide leadership in performance engineering across the organization

  • Define metrics for measuring performance and help teams improve their systems using those metrics
  • Define overall performance strategy and document performance design patterns
  • Share sources of inspiration from the software community and be a source of inspiration for others within Fitbit

Skills, experience and knowledge that this team will rely on:

  • JVM internals, including runtime compilation, memory management, and garbage collection
  • Java performance testing, analysis and tuning
  • Java and Python software development
  • Relational database fundamentals and SQL, particularly MySQL
  • Linux process and system monitoring facilities
  • Core performance related protocols such as TCP, UDP, DNS, HTTP, TLS
  • Basic statistical analysis and experimental design techniques.