Foursquare Engineering
engineering.foursquare.com · Company blog · on HN since 2011
Foursquare's engineering team writes about its Scala and MongoDB tooling, recommendation systems, geographic data and build infrastructure.
What HN saysHN links it for technical posts such as the Rogue type-safe MongoDB query DSL, which commenters cite for its use of Scala phantom types.
47HN people shared it
15linked it in comments
46stories submitted
509story points
8 years agolast shared
2011people per year2026
Most-shared posts
- 1Rogue: A Type-Safe Scala DSL for querying MongoDB4 people · 46 points · first shared 2011 · 12 comments on HN
- 2Foursquare Engineering Blog4 people · 3 points · first shared 2011 · discussion on HN
- 3How we found the rudest cities in the world – Analytics foursquare3 people · 15 points · first shared 2011 · 1 comments on HN
- 4Quattroshapes: A Global Polygon Gazetteer from Foursquare3 people · 3 points · first shared 2013 · discussion on HN
- 5Building a recommendation engine, foursquare style2 people · 84 points · first shared 2011 · 14 comments on HN
- 6How Foursquare embeds open source projects into an internal monorepo2 people · 18 points · first shared 2017 · discussion on HN
- 7Machine Learning with Large Networks of People and Places2 people · 16 points · first shared 2012 · discussion on HN
- 8APIv2: Woulda, coulda, shoulda | Foursquare Engineering Blog2 people · 10 points · first shared 2011 · 1 comments on HN
- 9Improving Our Engineering Interview Process2 people · 7 points · first shared 2017 · discussion on HN
- 10MongoDB at Foursquare – conference talk on Dec. 42 people · 6 points · first shared 2012 · discussion on HN
- 11Improving Our Engineering Interview Process2 people · 5 points · first shared 2016 · discussion on HN
- 12Foursquare iOS Networking Library Open Sourced: FSNetworking2 people · 5 points · first shared 2012 · discussion on HN
- 13HeapAudit – JVM Memory Profiler for the Real World2 people · 4 points · first shared 2012 · discussion on HN
- 14Mongo on Hadoop2 people · 3 points · first shared 2014 · discussion on HN
- 15Hadoop Stack at Foursquare2 people · 2 points · first shared 2012 · discussion on HN
What HN people wrote when they linked it
harryh · 2014-09-16
Here is the actual blog post from today announcing a bunch of Pants milestones: http://pantsbuild.github.io/announce_201409.html
This is actually a collaborative project between Twitter, Foursquare & Square. All three companies contributed a ton of work.
Here's the announcement on the Foursquare Eng Blog: http://engineering.foursquare.com/2014/09/16/introducing-pants-a-build…
And here's the one on the Square Eng blog: http://corner.squareup.com/2014/09/trying-on-pants.html
It's a fully open source project so we'd welcome contributions (or jokes) from any and all interested folks! Pants is a great build tool that we hope to grow and use for years to come.
iworkforthem · 2012-03-29
http://engineering.twitter.com/
http://engineering.foursquare.com/
http://engineering.tumblr.com/
To name a few... know of one, please help add.. Thanks.
jackweirdy · 2018-06-16
It's not Agda, but you may be interested in this article by Foursquare about how they use Scala Phantom Types to ensure MongoDB queries are semantically well formed at compile time:
https://engineering.foursquare.com/going-rogue-part-2-phantom-types-d1…
mvid · 2013-06-01
http://engineering.foursquare.com/2012/08/16/checking-in-at-the-movies…
Roughly 30k active users, about 1 qps of live stream foursquare data. Not sure what to do with it, I'm not currently storing any of it.
Thoughts?
threeseed · 2013-05-10
If a database lost data in a single server configuration, why would you trust it as a cluster?
Please be serious here. EVERY database has had at one point lost data due to a bug. It doesn't mean that there is some systemic problem that means you should jump ship immediately.
To this day Foursquare who are the ones referred to in the article still use MongoDB:
http://engineering.foursquare.com/2012/11/27/mongodb-at-foursquare-fro…
misiti3780 · 2012-08-13
i was looking at this presentation, but cant really make sense of the two slides on "BSON Data ..."
http://engineering.foursquare.com/2012/06/22/our-hadoop-stack-at-fours…
alpb · 2011-11-02
People liked this may also like Rogue http://engineering.foursquare.com/2011/01/21/rogue-a-type-safe-scala-d… which is Scala DSL for MongoDB. It is not a SQL database but can be compared in terms of semantics.
scubaguy · 2011-09-01
Scala code
http://engineering.foursquare.com/2011/01/21/rogue-a-type-safe-scala-d…
Take a look at the APIs of some of the libraries you are likely to use, before you get scared off by how complex the syntax can potentially be.
igorgue · 2011-05-26
Maybe using Rouge? http://engineering.foursquare.com/2011/01/21/rogue-a-type-safe-scala-d…
Persistence IMHO doesn't have to be a very important feature in a framework, since a good one should be able to be pluggable. I use Django, but in some projects I don't use their ORM (or any ORM).
yarapavan · 2011-03-11
Foursquare engineering post:
http://engineering.foursquare.com/2011/02/28/how-we-found-the-rudest-c…
hoffrocket · 2016-10-03
Foursquare (https://foursquare.com/jobs)| New York, NY and San Francisco, CA | ONSITE only
We make the Foursquare and Swarm apps. Foursquare is a place recommendation engine with worldwide coverage. Swarm is an app for checking in to places you go to share with friends, life log, get perks and win prizes, or just for quirky fun.
Built on the foundation of our apps, we also have suite of location intelligence products. Our venue database powers products by Apple, Microsoft, Uber, Samsung, Twitter and more.
We're hiring for a variety of positions in NYC and SF:
- Infrastructure Engineers - distributed systems in Scala and Go
- Ad Tech Engineers - real time bidding at 100k QPS. Ad effectiveness measurement based on Foursquare/Swarm place visits
- Android/iOS Engineers - Foursquare and Swarm apps
In the news lately:
https://techcrunch.com/2016/09/13/foursquare-10-puts-search-front-and-…
http://www.hollywoodreporter.com/heat-vision/marvel-dc-real-difference…
https://medium.com/foursquare-direct/how-the-trump-presidential-campai…
https://techcrunch.com/2016/05/25/uber-taps-foursquares-places-data-so…
More job details and application form here: https://foursquare.com/jobs
Interview process for most roles is recruiter phone convo, take home test, on-site. Read more here:…
leothekim · 2016-04-27
I think it's important when interviewing candidates that he/she can demonstrate fundamental CS knowledge. In any software project, you may be working out very complicated features, and CS knowledge is often the common language for conveying complex and subtle ideas.
That said, it's perverse that there's a cottage industry around software engineering interview training on both sides of the table for the crazy questions that are being asked. No one wants this, but sadly, once you're in the door at these places that do these sorts of interviews, the motivation to affect change approaches zero.
There are some companies that have tried to make this a fairer assessment though, e.g. Foursquare http://engineering.foursquare.com/2016/04/04/improving-our-e.... Putting this sort of effort into an interview process is time-consuming, but if the software industry is going to make its interview practices assess candidates more fairly, it's going to take effort.
pdevr · 2015-05-19
These are some of the top sites' engineering blogs which I collected over a period of time - I removed those which have already been posted:
Google: http://googledevelopers.blogspot.com/ http://google-engtools.blogspot.com/ http://googleresearch.blogspot.com/
YouTube: http://youtube-eng.blogspot.com/
Baidu: http://usa.baidu.com/category/baidutechblog/
Yahoo: http://yahooeng.tumblr.com/ http://yahoodevelopers.tumblr.com/
Wikipedia (closest I could find): https://blog.wikimedia.org/c/technology/
Amazon: https://aws.amazon.com/blogs/aws/
Twitter: https://engineering.twitter.com/
eBay: http://www.ebaytechblog.com/
Microsoft: http://microsoftengineering.com
FourSquare: http://engineering.foursquare.com/
Apple (closest): https://developer.apple.com/
Paypal: https://www.paypal-engineering.com/ https://devblog.paypal.com/
Dropbox: https://blogs.dropbox.com/tech/
Edit: More (collected from this link: http://www.quora.com/What-are-the-top-startup-engineering-blogs):
Yelp: http://engineeringblog.yelp.com/
Quora: http://engineering.quora.com/
Yammer: http://eng.yammer.com/blog/
AirBnB: http://nerds.airbnb.com/
Square: https://corner.squareup.com/
Flickr: http://code.flickr.net/
Soundcloud: https://developers.soundcloud.com/blog/
Cloudera: http://blog.cloudera.com/blog/
Slideshare: http://engineering.slideshare.net/
Heroku: http://engineering.heroku.com/
Pinterest: http://engineering.pinterest.com/
blackmad · 2013-09-09
I've been meaning to put together a more technical blog post about the various geo pieces that we've released at foursquare. But for now, here's one that's an overview of the things we've been working on: http://engineering.foursquare.com/2013/06/11/quattroshapes-a-global-po…
The biggest piece is http://twofishes.net/, our coarse (city/neighborhood level) geocoder based on geonames data. It also serves as our coarse reverse geocoder when we combine it with polygon data, which we've released at http://quattroshapes.com/, as a combination of open government data and synthesized data.
http://zetashapes.com/ is a side project of ours, where we're seeing if people want to draw their own crowdsourced neighborhood boundaries in US by coloring in a map of basically city blocks.
I'm always eager to chat about open geodata as well as complimentary commercial solutions.
DanielRibeiro · 2011-03-27
More like throwing some wood into the fire. Was instigated by the talk[1] "Solr Power FTW", and "Building a recommendation engine, foursquare style" [6] (where Justin Moore admits: We are dumping the data from Mongo and loading it into Hadoop over S3 files. Map reduce is in this system, not in our mongo databases. ).
Was wondering how much has this evolved over the last 6 months, how viable machine learning algorithms are appliable and clusterable over NOSQL databases, and which ones can do this without dumping the entire database.
I had some links talking about it:
Full text search with MongoDB[2]
Ask HN: What's the best way to handle full-text search with MongoDB?[3]
AskHN: NoSQL with full text search - which is better CouchDB or MongoDB?[4]
Is MongoDB a valid alternative to relational db + lucene?[5]
[1] http://schedule.sxsw.com/events/event_IAP7455
[2] http://hmarr.com/2010/mar/18/full-text-search-with-mongodb/
[3] http://news.ycombinator.com/item?id=2069271
[4] http://news.ycombinator.com/item?id=1984666
[5] http://stackoverflow.com/questions/2546494/is-mongodb-a-valid-alternat…
[6] http://engineering.foursquare.com/2011/03/22/building-a-recommendation…