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

  1. 1
    Rogue: A Type-Safe Scala DSL for querying MongoDB
    4 people · 46 points · first shared 2011 · 12 comments on HN
  2. 2
    Foursquare Engineering Blog
    4 people · 3 points · first shared 2011 · discussion on HN
  3. 3
  4. 4
  5. 5
    Building a recommendation engine, foursquare style
    2 people · 84 points · first shared 2011 · 14 comments on HN
  6. 6
  7. 7
    Machine Learning with Large Networks of People and Places
    2 people · 16 points · first shared 2012 · discussion on HN
  8. 8
  9. 9
    Improving Our Engineering Interview Process
    2 people · 7 points · first shared 2017 · discussion on HN
  10. 10
    MongoDB at Foursquare – conference talk on Dec. 4
    2 people · 6 points · first shared 2012 · discussion on HN
  11. 11
    Improving Our Engineering Interview Process
    2 people · 5 points · first shared 2016 · discussion on HN
  12. 12
  13. 13
    HeapAudit – JVM Memory Profiler for the Real World
    2 people · 4 points · first shared 2012 · discussion on HN
  14. 14
    Mongo on Hadoop
    2 people · 3 points · first shared 2014 · discussion on HN
  15. 15
    Hadoop Stack at Foursquare
    2 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
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).
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.
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…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close