Pros
Yelp has an awesome company culture. It is a fun, open, and challenging work environment. There is a lot I could say, so I'll just start putting down bullet points:
* Excellent company values, particularly "play well with others". Most engineers at Yelp are friendly, helpful, and pretty easy to work with. Sure, there are some employees that don't adhere to this value, but in my experience many of these folks end up leaving Yelp.
* Great benefits. In addition to the standard health/dental, Yelp provides up to $60 per month for their wellness program, that can be used for gyms or other fitness activities. Additionally, the company has 3 two-day hackathons each year, where the engineers can work on whatever project they want. And, there are 4 "off-sites" each year where each engineering team goes to do something fun together, and 2 company-wide events per year.
* A very open and accepting work culture. There were people at Yelp from so many different backgrounds. E.g. during lunch a muslim engineer would silent perform one of his daily prayer in the corner of the kitchen and everybody was cool with that. In 2015 Yelp officially participated in the SF pride parade. Yelp has at least a couple engineers with noticeable impairments and does a great job helping them to be happy, successful members of the team.
* Tons of awesome events, including learning lunches on Fridays (and sometimes Mondays too) with presentations on cool eclectic topics, movie nights, trivia nights, board games nights, women engineering groups, a variety of meetup events (e.g. python, machine learning), and more!
* Management is very open to ideas and supportive of work done by engineers. If you think of a cool, challenging project that benefits the company, chances are that you'll get to work on it.
I was not looking for another job when I left Yelp, and it was a tough decision to leave this company. I've worked or interned at 5 companies now, and I have been the happiest at Yelp.
Cons
There aren't many cons to working at Yelp as an engineer. However, now that the company is fairly big (4000-5000 employees) you cannot realistically expect rapid career advancement as you would at a successful, small startup unless you work really hard (I choose to maintain a good work/life balance and was very happy with that choice) or are ridiculously brilliant.
Along the same lines, the management claims that a well-performing engineer can be just as well compensated regardless of whether s/he pursues a path in management or remains a talented software engineer. However, based on my experiences I don't believe this is 100% true. Not that differing compensation is unreasonable, I just wish that management would not make this claim (unless I'm mistaken).