Hacker News new | past | comments | ask | show | jobs | submit login
The new way to land a job at Facebook (kaggle.com)
103 points by svm33 on June 5, 2012 | hide | past | favorite | 77 comments



They are asking you to build a recommendation engine. One tailored for a specific type of problem.

Using some startups api aside (spirit of the competition and all that), anyone interested in completing this should pick up the Springer book Recommender Systems Handbook, it's a very good place to start.

Depending on the size of the Facebook dataset, you will need either a graph library like networkx or a graph database (there are many).

You should probably use python because, let's face it, nothing else will have as many opensource libraries, be as fast, and as accessible from C as python is (use cython for painless compiled code and to link to other C libraries).

Don't use recursion unless your language is specifically built for it. Stay away from ILP graph traversal unless you really know what you are doing.

If you are using some sort of context token/vector similarity approach, be sure to know that the number of tokens you are going to need will be huge, and furthermore you will likely need some hard coded rule sets for low follower/following users.

Try to introduce a time-based decay factor or something similar, and of course take advantage of degrees of "closeness" if there are repeated interactions between nodes.

One last thing: if your approach uses some sort of map reduce solution, it might be better for real world applications, but it will significantly slow down your progress. Just load a box up with RAM and use fast algorithms.

Best of luck to all you out there!


Then again, you could try something completely left field and creative.

People who know anything about machine learning will follow conventional wisdom and potentially miss out on a step change in quality of results.


I've seen a couple step changes in the quality of results and they are usually from people that have immersed themselves in current methods, identified the problems with the current methods, then stepped back 100 meters to try to reason about the problem in a different way.

Unlike, say, selling something online, machine learning has strong underpinnings in mathematics. You do really need to stand on the shoulders of giants in order to move the needle forward. It is more in common with building a bridge than it is with coming up with something revolutionary like renting dvds through the mail instead of a brick and mortar store.

Imagine a bridge building contest where the goal was to something that could take a train across a river. I should hope someone coming along and suggesting the rough concepts to an aspiring bridge builder would be lauded. "If you use suspension, be sure to check for systemic wind loads" "Don't forget about the foundations at the end of the bridge" and "If you use concrete, remember to give the concrete enough cover over the reinforcing steel bars so that it doesn't become unsightly" are all good pieces of advice that someone should know.

Now, once you learn the basics and can do what has already been done - absolutely push the field forward.


You seem to be very knowledgeable in this area. May I ask what your background is? I would like to take on some self study in this area. Would you have any advice?


Besides the excellent suggestions by the parent, I might also look at the awesome work done by Jon Kleinberg for a more theoretical understanding. One may start with his pretty concise Networks book: http://www.cs.cornell.edu/home/kleinber/networks-book/


Excellent book. Definitely recommend if you want to develop a deeper understanding.


Just dive in man. Get some datasets, intelligently break them apart, and just try to start predicting who should like what movie. It isn't too hard if you've gone to university for a STEM degree or learned the math some other way.


I would recommend to pick the free Stanford class... great intro to (classical) ML: https://class.coursera.org/ml/class/index


I'm not trolling here, but I have to ask i'm seriously wondering what is 'so great' about landing a job at Facebook? They have a nice tech stack, but it's a social networking site. How is it interesting to be a cog in the machine that is Facebook? Again; serious question; I'm curious. I'm a bit older :) and I would not want to work for any company other than a startup; I learned in life it is not the right dope for me. And so I am interested what makes it so interesting to work for this (Edit: scrapped [kind of]) company.

Edit: I mean; so interesting that you want to jump through hoops to get in.


Hey, my name is Keith Adams, and I'm an engineer at Facebook.

I work on the HipHop virtual machine, a dynamic compiler and runtime for the PHP language. It is the hardest challenge I've tackled professionally, and the people I'm working with are brilliant and work like animals.*

I think the larger significance of our work on HipHop is in the context of software as a whole. PHP is one of those "developer productivity languages," like Python, JavaScript, LUA, etc. And, though I was skeptical before I came here, developers really are more productive in these languages. It would blow your mind what world-class people working in this medium can accomplish in compressed timeframes. This means that increasing these languages' performance is incredibly leveraged; to the extent we're successful at making PHP faster, we change the set of problems that PHP can address. Moving a problem from the "must be solved in C++" category to the "can be solved in PHP" category frees up our fellow developers to get more done with their finite professional lives.

*Edit: By "like animals", I mean, "with a survival-level sense of urgency." It doesn't necessarily mean long hours.


One thing that turns me off of seriously pursuing a career at Facebook is PHP.

I haven't learned PHP yet (and I'm only in college), but I've heard bad things about its design, and it seems to be overshadowed by Ruby and Python in my programming news sources.

Is PHP a dying language? Even if it is, it makes sense for Facebook to continue using it instead of throwing out all their code.

But it seems like it might be a waste to spend time at Facebook using PHP if the rest of the tech and start-up world has moved on.


If PHP is putting you off considering working at Facebook, then it may be useful to know that there are many developers who hardly ever touch PHP at Facebook.

Most back-end services (ie, the systems that build your feed, or detect spam) are in C++. Java is used in some back-end services (including, for example, in Hadoop, Hive, HBase, and the messaging product) and for the Android app. Objective C is used for the Facebook app, Messenger, Camera, and so forth on iOS. Python is used primarily in the automation and operations space. You will also find a bunch of Ruby, Haskell, Scala, and so forth around.

I am not generally a fan of PHP and much of the ecosystem around it, but using it at Facebook is very different. I also would not say that time spent learning and using PHP is time wasted - the important things to learn typically transcend language, and learning anti-patterns / deficiencies is useful too. That is also why Facebook does not expect any particular language knowledge before you start/when you interview.


You are vastly overvaluing experience in a particular language or technology. None of the languages you mentioned are particularly hard for someone to pick up fairly quickly (even more so if you already know one of the others). Being a good software engineer is largely orthogonal to which languages you have experience with.


Try explaining that to startups who want rockstar, ninja, sith lords in language X. Libraries, on the other hand, do take some time to learn.


I felt the same way when I started at Facebook. The thing I've learned, though, is that your language choice is very far down the list of important factors. Most important: the problem you are solving and the quality of the engineers you work with.

Underlying your question is the idea that the specific language you work with is an investment that's critical to future success. Whether this is true depends a lot on what kind of career path you want.

I've found that lower quality jobs are the most specific about languages - "Must have 5 years of Java 1.5 or above experience" should be a huge red flag, because that place is hiring based on years-of-ass-in-chair rather than skills.

Some companies seem to be looking for specific language skills - "We're looking for great python hackers" it might say. But this is often just marketing and doesn't mean they won't take a someone who can show excellence in other ways.

There are exceptions of course - if you are doing low-level systems work, it would be expected that you know the ins and outs of C, and I'm sure there's other examples in other specialties.

One last thing: it's always useful to get experience with a range of languages, and that will pay off down the road when you have to learn language N+1. At Facebook I've written (in descending order of volume): PHP, Javascript, Python, C++ and Haskell.


PHP still runs most of the highly trafficked Web sites on the Internet.

Rails is a permanent train wreck. The other hundred of Ruby-based Web frameworks are adequate for small, CRUD-style applications. (BTW, I like Ruby. It's a neat little language.)

In the end, it's either PHP or J2EE in 90% of the cases for high-uptime, high-traffic Web destinations.


No one at Facebook is under the impression that PHP is a particularly good language, but it does the job. What really matters are a libraries and abstractions that you'll actually be interacting with. At Facebook these are leagues ahead of any other PHP codebase I've seen.

You should read what Andrei Alexandrescu has to say about the language here: http://www.serversidemagazine.com/news/10-questions-with-fac...


Unless you anticipate working for only the hottest start ups utilizing the latest buzzwords, dismissing PHP entirely might be a bit premature. It's still hugely popular with plenty of employers looking for developers with PHP experience.


I'm going to apologize in advance if any of this seems too stern or rude.

You seriously don't have the correct mindset about this. You are thinking in a way that a lot of other people share, but it's not practical. In the real world you have to learn new technologies and languages consistently. Every day something new comes out or gets improved that makes doing a difficult task easier, and people/companies that can adapt and not be left behind do well.

If I were in your position (which I guess I kind of am, I'm also college-age but I've spent just under half my life doing some level of professional programming) I would be learning EVERYTHING I can or at least everything mainstream I can so that if I come by a cool piece of code online or at work I can tell exactly what it does.

It's true that PHP isn't as a strictly written language as some of the other languages (by this I don't mean syntax, I mean that doing two analogous operations have completely different names/attribute orders in the standard library) but it's still used by tons and tons of people. PHP isn't dying. I hate the term "dying language" because there's always something else out there that's good for that each specific language.

I'm assuming that Flash is also "dying" in your POV but just today I had to whip up a quick SWF to allow copying something to a user's clipboard because it was the simplest and quickest way to allow one-click clipboard access that I could think of and I have spent time learning Flash/AS in the past so I had that knowledge.

Now, when you say:

  it seems like it might be a waste to spend time at Facebook using PHP if the rest of the tech and start-up world has moved on
I have no idea what you mean. Do you mean that Facebook not restructuring their entire codebase to a cooler and more popular language is a waste of Facebook engineers time? Or do you mean that you learning PHP to work at Facebook would be a waste of your time? I don't understand how either of these two statement could be argued so if you meant something else I'd love a clarification.

There is absolutely nothing that Facebook can not do with PHP that they could do with Python or Ruby. Any business logic can be written in a myriad of ways. And I believe to be a strong candidate for a "wow" employee after you graduate you should be able to drop head first into any codebase and at the very least quickly get a simple grasp of what's going on.

If Facebook gave you an internship today would you reject it because you've heard bad things about PHP?

Sorry about the rant, but I've spent a lot of time working to hire other developers and it really irks me when I hear something like "oh so and so's a dying language, it's useless to learn it" because it shows that you don't have the drive and love of technology that my ideal person would.


I do want to learn lots of different technologies, including PHP! That's part of the reason I read Hacker News in the first place.

But I'm doubtful of its real-world application these days. Most news I see never mentions it, but Ruby and Python are mentioned near constantly.

I'm sure working at Facebook would be amazing. I mean, it's Facebook. But if I also got internship offers at Google and other high-tech companies, then the language I use at work will factor in.

And PHP doesn't seem nearly as significant as these other languages, so then why take a job where I'll learn and use it in-depth for months when there are other languages?


You're going to be sorely disappointed when you find out that the majority of user-facing applications at Google are in Java, which you'll hear even less of on places like here.

The reason you don't see mentions of PHP all the time on places like here is that Python and Ruby are considered "hip" languages right now. Every one and their mother wants to learn it to show off how cool it is. Which is freaking awesome because the more people that learn nice scripting languages the better, but it means people aren't being driven to build new services on PHP to show off because instead of listing off 10-20 buzzword plugins by other people, you have a limited amount of mature things you can use to make a PHP application. This is not saying that Python and Ruby don't have mature platforms and extensions.

Have you done any professional programming in the past? I absolutely guarantee that even doing an short term internship at a company using a programming language you don't know, the nuances of that specific language won't be what you take away from you but rather the different ways to think about a specific problem.

Maybe once every month I face a problem at work or on personal projects where I can say "Hey, I remember this, it's a really obscure PHP fault!" versus many many times a times a day when I think "hmm I could build this as a singleton or a factory or a ....." and can use my previous experience programming in those fashions at previous jobs to figure out what the best way to do it currently is.

Learning a new language isn't about dedicating your life to it. It's about learning new methods of completing tasks, which you can almost always apply to other languages.


It's fairly easy to construct a portfolio of web applications in whatever language you want to use and/or demonstrate competency in a language (eg contribute to open source), but it's much more difficult to say you worked on an application at the scale of Facebook. That experience is invaluable and the lessons you learn there are applicable even when you move on to applications in other languages.

You should also probably look at surveys of language adoption b/c PHP has much greater market share. Hacker News is a very skewed sample.


Wow, this could be a troll.. don't know.. clever.


There are plenty of eng jobs at Facebook that require no PHP. In more than two and a half years there I wrote probably 50 lines of PHP.


Thanks for posting this! That's what I was looking for I guess; people who actually have concrete points why they like this. I think Facebook is doing a great job at gathering talent and that's something I would like to learn about.

I like your work definitely. Guess a lot of engineers would; I'm curious to know how much significant work you'll be doing if you apply now (jump through the hoops), get in and want to work on HipHop (as recent graduate). What are your options within Facebook; how far can you grow?


Facebook, with few exceptions, allows you to pick your team. If you really want to work on something, you can. As for your last question, I joined a year ago, and from my experience, the meritocracy is extremely alive and well. You can go far, and get there very quickly, if the fit is right, and you are kicking ass.

Reading between the lines of your posts, I think you might have a pretty inaccurate view of facebook, as it currently is. Facebook has fewer engineers than you think, and it's -really- easy to have massive impact on features, or even the org as a whole, from day 1. Most of the teams responsible for major features/products are quite small. Some are frighteningly small. In many places, there are huge, ambitious, crazy ideas currently on the shelf waiting for 2-3 new people to join the team to take on.


Yes I think I have an inaccurate view; that's why I'm posting here to find out from the people inside and there are some really insightful points here.


One shall find happiness at all costs, anywhere it can be found.

But, I wish for brilliant, hardworking people a better endeavor than a CRUD Web site.


> work like animals.

This is good because?


Most large mammals other than humans sleep or relax a large portion of the day and are only active a relatively short time for hunting (work) and eating. So one could interpret his statement as saying that they work short, focused hours and then go home to relax.

My info is anecdotal from my wife, who has spent a significant portion of her life working with bears. But from the zoo keepers I've met, that mammal breakdown is true for most of the felines and primates as well.


My anecdotal evidence from the startup world, though, says that most people in a "startup" like Facebook work very hard and very long hours at the same time. I think your description is a very good way to work, but I sort of doubt that this is an accurate description of life at Facebook :P


Because I find it fun. If you don't, that's perfectly cool, too.


That is totally cool, however - just for perspective, other people are not in their early 20s, fresh from college with no experience in other large silicon valey companies for the past 20 years.

Others: they ave 2+ kids, have been through many IPO/M&A debacles and may have gone through ridiculous divorces, major swings in their marketability or simply been screwed over by certain companies...

They hype around making tons of money can be subdued by the realities of life in between these relatively rare miollionairing events.

Thus, qualities of work other than "working myself to the bone because this company will be the next google IPO" become a big factor. This is why HP, Yahoo, MS, and others continue to attact talent - although it might represent an aging trend.

There will always be more wily generations in the tech industry. Learn, earn and avoid smugness.


I am 35 and have a wife and family. And it is not my first time at the tech company rodeo either.


Avoid smugness indeed.


it's either evidence they're passionate or they're forced to work long hours. given the context i'm assuming the former. which is certainly a good thing...


"Passionate" does not necessarily mean you work long hours "like animals". Obsessive usually does.

Working pass the normal cut-off is a lose-lose proposition for anyone that puts in honest levels of work during the day. You burn yourself out, diminish your capacity, make mistakes, and most of the time don't even realize it. This can go on for years, sometimes even decades.

Most of the referenced-here "passionate" behavior is probably a combination of unhealthy focus (the obsessive type or the type you use to forget about your issues), self-image, having-to-prove-something, and outside-pressure (expectations for you, matching your co-workers, etc).

The better option is to work intelligently and maintain a healthy amount of self-awareness at all times. Then leave it, shut-off, or go enjoy something that matters.

You'll produce 200% the results of your "passionate" co-workers.


PHP is one of those "developer productivity languages?" I mean, this way be just a huge sin I'm about to commit, but really? I think most of the world see this whole HipHop deal as you guys had all this PHP and you need to optimize it. The idea that the syntax and style of the PHP language is one of the most well suited languages to solving general computing problems ... I just find that hard to take seriously.


Please don't mistake me: PHP-the-language is not well-designed. And we absolutely would never have gone down this road if we didn't have a metric ton of PHP to run and continue developing.

There are a few things PHP gets accidentally right, though, and one of them is the execution model. Each request starts with a brand new empty PHP environment; runs in a single thread to completion; and must keep persistent state off to the side in a database or memcache or what have you rather than in language-level objects. This turns out to have been a really good set of decisions. It lends itself to a nice tight development loop: instead of save/recompile/restart the server/test, you basically save/load the page. It's easier to remember what the heck you were doing when you get feedback on the code you wrote in 500 milliseconds.


Andrei Alexandrescu said: "One really cool thing about doing machine learning at Facebook is the sheer size of data involved; most researchers are happy to put together a graph with some hundreds of thousands of nodes. At Facebook samples of interest are in the hundreds of millions and more. It took a few of us quite a while to figure out how to distribute graph processing on many machines, but we finally did it. We should be able to publish the method soon."

http://www.serversidemagazine.com/news/10-questions-with-fac...

Edit: On the other hand, I doubt he had to jump through any hoops to land a job at facebook.


Good edit :)

But yes that makes sense; my, maybe cynical, outlook is that most people will not actually do that work there. Most will do their stinking best to end up working on some (seemingly) insignificant stuff. I read some newsgroup post from a Windows (person on the actual MS Windows team, not someone who devs Windows apps) developer once who said something like 'I WISH I had programmed the clock in Windows, at least then I could show my parents I do something remotely interesting'. For Andrei and many others it is obvious, but for a lot more people it is completely weird why they do the things they do. And I love to read their stories.

I can rant on forever about a guy I met on a summer job at a supermarket distribution hub (yeah; in the 80s as a 15 year old programmer you couldn't get on freelancer and do something cool); he worked there for 20 years and he was very happy. Because of him, people could get their food every day and he felt valuable and lucky to have landed that job. It was a great example and I like hearing stories WHY people like their job, but not only from people we all know (and love or hate).


This is Andrei. You'd be surprised; the interview was very difficult and I might have failed it just as easily. I got no C++ question (we seldom ask language-specific questions). Instead, my interviewers asked me questions related to my research and had me implement a classic algorithm on a very large data set and a simple ML algorithm. I recall at a point I got the curve ball of an NP-complete algorithm that had a polynomial approximation.

Bottom line, the Facebook interview is not easy, and we're determined to not make it easier even though we're hiring intensively. The upside is that you get to work almost exclusively with very bright people, which makes for a very palpable difference from the typical corporate experience.


Um, as one of the three people in the world who understand all of C++, i also doubt if he had to do any jumping.


My name is Ralf Herbrich and I am an Engineer at Facebook. I work on large-scale probabilistic models for ranking - the "stuff" that is used to determine how likely a user is going to engage with a story or ad.

I have worked for over 10 years at Microsoft Research before on large-scale problems, for example, the TrueSkill ranking and matchmaking system used in Xbox Live and the Halo series as well as ranking systems in Bing. I can honestly say that the current projects I am working on are professionally the hardest I worked on so far and it is amazing how much gets done by a very small team of some of the brightest and most talented people in the industry.

I echo Andrei's comments that the interviews were very difficult. I got no specific C++ or PHP question but more general questions to translate algorithms into working code (being able to pick any language). This IS very important when you work here and everyone at Facebook carries a lot of responsibility so having a high bar is the right decision.


Out of idle curiosity, who are some other big name programmers working at Facebook?


I work at Facebook. I think that social networking unfairly gets a bad rap from many engineers. Maybe this is because many of us view, or viewed, socializing and maintaining friendships as a waste of time. I think that is a mistake. Socializing is something that's a core part of what it is to be human, and Facebook is a tool to help people to do that.

My entire family and many of my friends live in another country. Apart from infrequent Skype calls the only way I can interact with them is via Facebook. I am closer to them now than when I lived an hour's drive away and we communicated by email. The first pictures my parents will see of their grandchildren will be on Facebook. It's awesome to think that I've helped build something that is helping millions of other people in the same way.

Social networking isn't a fad, about sharing cat pictures, or something bored teenagers do. Engineers look at Facebook and see a web site built in PHP with "a nice tech stack". Everyone else sees a way to fulfill their need to connect with people.


I don't want to divert this discussion too far here and obviously you're somewhat ~biased~ by default as an FB engineer, but take this from an engineer that doesn't particularly like FB:

* Friendship for me is something offline, mostly. I don't believe that 'remote friends' make a lot of sense. That's a digital version of pen pals (email?) or collecting trophies from trips around the world. Socializing doesn't happen online for me, 'friends' that I cannot see offline will most probably not make it with me into the future. Facebook is a way to drag those people along that in my world just wouldn't have made it anymore.

* You totally ignored the biggest complaint in this discussion: Sharing stuff with a company that has a less than stellar reputation for respecting privacy. I'd argue that the bad reputation among engineers mostly stems from this issue, not from a weird kind of 'maintaining friends is a waste of time' idea.

That said, I _do_ use FB right now (living in IL, parents and family in DE) to connect with family and I have to admit that this works to some degree. I'd have preferred to do that more privately (diaspora? blogs?), but convenience and ease of use have won here.


Your comment is gold. My views on social is completely different now.


It's one place that accepts non-native engineers (I live in Japan), and it's very well-known/prestigious, so I could have a job at other places much more easily after working there. They also pay a lot more than most local employers. This is in addition to the technical challenge, etc. that other people already explained.

Personally I'm not hugely excited about it but it can be a good way to start a career.


That makes sense and that's what I can see; it's a good first stop. At least in the coming 10-15 years no one probably will fault you for having worked there as an engineer. Maybe longer.

I didn't know they accept non native engineers; that's another thing I forgot about; if a company really would like top talent, what's with the closed-border mentality? If Facebook doesn't have that, then kudos to them. If you want talent, it shouldn't matter where someone is from right?


Employees at Japanese companies typically don't speak English (this includes engineers), so they're hesitant to hire someone who may cause communication/cultural problems.

They also generally don't have the same attitude towards hiring and are definitely not hiring for top talent. People are hired because they fit in the company culture first, and because they have potential second. Young engineers are paid cheaply and are not expected to be skilled; they are trained on the job.

Somewhat related: http://news.ycombinator.com/item?id=3845850

It's definitely possible to get hired as a foreigner in a Japanese company, but it's not easy and the conditions are not great, compared to Facebook et al.


Despite that this does sound like trolling: would you like to work with one of the best group of engineers in the world? Would you like to work on an uncommonly small team with uncommonly large responsibilities? Would you like to work on the biggest web property in the world? Would you like to have enormous computing resources at your disposal? Would you like a large salary and excellent benefits? Would you like to work for a very large, very successful company that actual does still feel startup-ish?

Really, yours was a serious question? And by "jumping through hoops" you mean "programming...something you (should) love to do"? Sheesh.


Yes, not sure, yes, yes, sure, i'm not sure if that's through. Yes it's a serious question. I find it interesting to hear why people get so excited by this. I'm saying that I wouldn't (not in this life), but I like to hear why others would. Nothing wrong with that right? You answered my question somewhat, although I believe that you might not land like that; Facebook is not big, but a new person in a crew of 3500 doesn't sound like you're going to get those large responsibilities or those enormous resources or that large salary. And yes, successful or not i'll leave to the trolls.


Everyone who writes code at Facebook has "uncommonly large responsibilities"? Really? How does that work?


Addressing both replies: Facebook continues to have perhaps the highest ratio of users (choose a metric if you wish) to engineers, quite possibly by a large margin. I believe that's a good proxy for responsibility.


reddit, pinterest, and craigslist come to mind as probably having a higher ratio. Instagram too, before Facebook bought them. Edit: And OMGPOP before Zynga bought them.


All attractive places to work but not sure any have higher ratios (except Craigslist perhaps, which has its own peculiarities).


I believe all those companies are above 1M users per engineer, my estimation for FB was just under that. Is my estimate for FB way off?


The most recent estimate I saw was 1.3m users/engineer and steadily climbing. And if we take active users, the gap is even greater. And none of those other companies would enable an engineer's work to get in front of 100s of millons of users.


With 900m users, a ratio of 1.3m user/engineer would mean only 692 of their 3500 employees are engineers. That seems low to me. I'm also having a hard time imagining their ratio is growing, their monthly percentage growth has been steadily slowing down, I doubt their hiring has been slowing even further.


This looks like fun. I'll probably jump through the hoops without trying to get in.


If you're a top-shelf coder who can write his own meal ticket to anywhere: nah, working at a post-IPO facebook doesn't sound particularly worthwhile.

If you're a so-so coder then, hey, big company, steady paycheck! What's not to like?


But why jump through hoops? You can be a programmer at Exxon (or another big company outside Google or Fogcreek :) and get in sleeping. If you are a so-so coder that sounds more interesting?


There's value in working at a company whose primary business is what you do. I expect that programmers are treated better at $AVERAGE_SOFTWARE_COMPANY than at $AVERAGE_NOT_SOFTWARE_COMPANY.


It depends. Some big but untechnical companies will think you're magic and pay you big bucks for very easy work. If you just want to collect a paycheck and go home you could do worse.


Prestige.


When Netflix did this back in 2006 you could win a million bucks!

Now all you win is a job at post-IPO Facebook.

Talk about a down economy!


No, you get an interview that might lead to a job...


"The challenge is to recommend missing links in a social network. Participants will be presented with an anonymized, directed social graph from which some edges have been deleted, and asked to make ranked predictions for each user in the test set of which other users they would want to follow."

When has this kind of data ever been successfully anonymized?

From Netflix's attempt: http://www.securityfocus.com/news/11497 (First link I googled, but has the gist)


You deleted the important part from your quote: directed social graph (no, not Facebook, keep guessing) from which some edges have been deleted

My guess is the data is either something public or a non-user facing dataset they collected internally (like what coworkers have you bought lunch for)


The LSE has a good talk about what they're doing here:

http://www2.lse.ac.uk/newsAndMedia/videoAndAudio/channels/pu...

It helps them find high school dropouts in Maine who might be great employees, but would otherwise never have shown up on their radar.


This looks like it's effectively a newer version of the old puzzles, which look like they've encountered problems:

https://www.facebook.com/PuzzleMaster/notes


It does seem strange that the only reward is a chance at an interview. Most other contests at Kaggle at least offer something tangible. One of the first contests at Kaggle was a chess ratings prediction which offered signed book by Kasparov, Karpov et al.

I suppose it is one way to weed out those who would not be likely to apply to Facebook even if they did well at the contest.


Rather than the puzzles which are now discontinued, I recently did an online timed puzzle through interview street I believe. By solving the problem properly within 2 hours I received a series of phone interviews, and once I start my senior year at college will be able to begin the remaining full time interviews, so they've had something like this for a while.


I would rather put the time and energy into my own startup.


Really like the kaggle platform. First heard about them from a techzing with the founders.1

The challenges can help corporations and others from solving complex problems. No reason why Facebook cannot take advantage of this process.

1 http://techzinglive.com/page/927/166-tz-interview-anhony-gol...


Can we just please have the Netflix recommendation engine?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: