Engineering Blog

Yelp @ Grace Hopper - Orlando Edition!

Yelp returned to Grace Hopper Celebration once more, this time in Orlando! Let’s take a look at what GHC2017 is all about from the insights of our attendees. Who Neha H.: Android engineer @ Search User Experience team Grace J.: Recruiting manager @ University Recruiting team Tiffany K.: Product manager @ Contributions team Lauren C: Product designer @ Messaging team Xun T.: Software engineer @ Ad Creative team, first time speaker at GHC this year. Favorite sessions during GHC Tiffany: Women Who Build The Product Management Journey. I really appreciated hearing from women leaders who have been successful in the...

Continue reading

Day in the Life of a Product Manager

Meet Brittany Cheng, a 5-star Product Manager! Learn what she loves about product management and how she has grown over her career here at Yelp. Are you interested in building great products? Do you love working with different teams? Are you motivated by the user experience? Mentorship, ownership, and great people — we’ve got it all. Bring your ideas to life and join our all-star Product Management team! Head to https://www.yelp.com/careers to learn more.

Continue reading

SignalForm: Charts as Code with SignalFx and Terraform

Monitoring the health of our systems is a critical part of maintaining Yelp’s infrastructure. We collect millions of data points that help us observe the performance and status of our services. This data powers visualization and monitoring systems so that we can alert on anomalies and derive actionable insights, especially during on-call procedures. SignalFx is our preferred vendor for metrics visualization and monitoring. They provide a rich UI with many robust analytics capabilities. At Yelp’s scale, we use SignalFx to create hundreds of detectors, charts and dashboards. Managing and finding these resources quickly is a challenge. Our engineering teams need...

Continue reading

The Road To HSTS

What is HTTP Strict Transport Security? HTTP Strict Transport Security, commonly referred to as HSTS, is a Web standard that aims to ensure all web resources off a domain are fetched over a secure transport layer. The core objective of HSTS is to protect users against passive and active network attacks. To this end, it prevents protocol downgrade attacks and blocks insecure click throughs. From a configuration perspective, HSTS is an easy to deploy HTTP header. Its format is: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload Unfortunately, many companies who have tried to deploy HSTS have experienced various challenges, some of which resulted...

Continue reading

Introducing Yelp Events Data to Our Developer APIs

Starting today, Yelp Events data will be available through our Fusion API and GraphQL API to provide rich, local events data in our API as part of our developer beta program. Since launching Yelp Fusion last September, we’ve seen developers use our business data in unique and interesting ways and are excited to see what our developer community will do with the addition of events data. If you’re not already familiar, Yelp Events is a place where you can create, share and discover upcoming events happening worldwide. Events range from everything from beer festivals to art shows to Shakespeare in...

Continue reading

Yelp Open Dataset and Dataset Challenge Round 10

Introducing The Yelp Open Dataset About five years ago, we announced the Yelp Dataset Challenge: a competition that lets students explore and research with the help of our large corpus of data. Each participant can also formally submit their projects for the chance to win prizes. Over the years we’ve seen incredible interest and usage of our dataset for educational purposes. We’ve had teachers use it to teach their classes about databases, engineers use it learn graph databases, and students use it to understand machine learning. We’re very proud of this type of usage and are continuing to encourage more...

Continue reading

Auto-suppressing Tests for More Reliable Code in our Android App

Automated testing is really important for ensuring your code is bug-free and works as expected but UI tests are particularly challenging as they tend to be flaky and unreliable. For an app like Yelp, a lot of tests are needed so developers will often see tests flake. You can look at test history to try and figure out if a test failure is your fault or not - and building tools to do so has been something we’ve invested time into - but you might be wrong and it takes time and effort to figure this out. This leads to...

Continue reading

Progressive Enhancement with Brotli

Brotli is a compression algorithm from Google that has been making waves recently. You may have heard about its average 10-20% filesize savings over gzip, at comparable decompression speeds. This makes it a very irresistable format for serving static content, but it still has immature support from CDNs, which puts it out of reach for general widespread availability. A search run over HTTP Archive data indicates that there are around 25 web properties serving Brotli Content-Encoding URLs from Fastly, the CDN we use to host our static content, as of July 25th. While Fastly does not automatically convert content to...

Continue reading