Engineering Blog

Django in July

Something that we value at Yelp is keeping things new and exciting. A few days ago, we were able to host a brand new meetup group, the San Francisco Django Meetup Group! They launched their summer speaker series by inviting Randall Degges to discuss how he grew his Python API company using Tastypie, Django, Flask and Amazon’s DynamoDB. He touched on the trade-offs of these technologies from a business perspective and, along the way, told some fun stories from his own company. One of the techniques he advocates is service-oriented architecture (SOA), something that we here at Yelp have been...

Continue reading

Never Stop Learning: School’s Out, Yelp’s In!

Machine Learning (ML) plays a critical role here at Yelp. It allows us to transform Big Data into usable information. A major area of research in ML is understanding how to apply the myriad of techniques available to an engineer. In addition to deciding on which algorithm to use, a practitioner must decide how to verify models, distribute computation, and monitor performance. Best practices exist in each of these areas, but novices may not be aware of them, and they can be tedious, even for experts. We know that many problems in computer science can be solved with another layer...

Continue reading

GrossQueryChecker: Don't get surprised by query performance in production!

Ever been woken up at 3am by a misbehaving database query?   Jenni S., Yelp’s MySQL DBA, walks us through Yelp’s system to prevent such rude awakenings. Here at Yelp, we push multiple times a day.  We do this safely and surely with our process of code review, integration,   automated testing, and extensive monitoring.  I think that we’re all used to the idea of automated testing for our code, but what about the queries generated by the application against the database? Catch potential problem queries in testing, not production In most engineering organizations, it’s common for the development, build,...

Continue reading

Databases, Selenium, and MLBase - oh May!

In addition to the public events we hold at Yelp, every Friday an engineer at Yelp presents on a topic they’re passionate about. The talks range from topics far afield from computers, to technical deep dives on some of the core trade-offs we make at Yelp. I’m happy to share one of the latter today, as   Garrett J. takes us through the history of databases. From Codd’s description of the relational model, through the challenges Cassandra was designed to solve, this video gives a great overview of current options in database technology. <iframe frameborder="0" height="281" src="http://player.vimeo.com/video/65601864" width="500"></iframe>  Slides -...

Continue reading

April Events at Yelp!

Last Tuesday, we stepped out of our technical meetup norm and hosted an event group whose mission is to improve the lives of women around the world. Spark is an organization comprised of a network of young philanthropic entrepreneurs. Their members offer pro bono services to up-and-coming women’s organizations. Spark works on a global level to reach out to the next generation’s leaders and offers mentorship opportunities to young women. We love what they are doing and are happy to announce that we’ll be hosting them again next month! Come visit us on May 15th for a movie screening of...

Continue reading

Event Listing Classifier: an Intern Story

What projects do interns work on? What are some of the machine learning algorithms we use to solve real world problems? Do interns work in teams solving critical problems, or just do small research tasks? These are some of the questions I frequently get when talking with candidates, so I invited Shengwei L., former intern and now full-time employee, to talk about one of his projects. As you can see, interns at Yelp get to apply the principles they learned in school to make Yelp better for millions of people. They sit alongside full-time members and take responsibility for projects...

Continue reading

mrjob Sprint at Pycon 2013!

Sudarshan G., Yelp’s current leading engineer behind mrjob, writes this week about an exciting opportunity to contribute to one of our most popular open source libraries: mrjob. We are happy to announce that we are running a mrjob sprint at Pycon 2013. mrjob is an open source Python framework for running Python scripts to process large amounts of data either on your own Hadoop cluster or in AWS using EMR. The mrjob sprint is targeted at both developers who are familiar with mrjob as well as new users who want to come up to speed on it. The sprints are...

Continue reading

March Events at Yelp

Yelp’s weekly “Learning Group” is one of our favorite engineering events. People come for the free food but stay for the hour-long presentation, usually given by a fellow engineer. Past topics, both technical and non-technical, have included everything from cinematography to typography to steganography, and the presentations are lovingly put together.  Since we’ve found these presentations fascinating we’ve decided to share them! This first one is a Learning Group about learning Chinese, by Mark W. He’s spent several years learning to speak Chinese, and in this presentation he introduces the Chinese language along with some tools and techniques for mastering...

Continue reading