Even the Facebook comments on a geeky announcement like this make me question humanity.
"Lol... what?"
"May as well call this site HACKBOOK! IT'S ALL GARBAGE NOW!"
"This is freaking scary coz pipol will be able to hack into any fb ccount they want to. This is crack..."
Let's not forget that we all live inside a cozy little bubble where some level of intelligence and familiarity with technology can be assumed.
Yeah, but I'm glad Facebook (and especially Zuckerberg) is doing their part to change mainstream perception of the word "hack". For example in the 60 Minutes interview:
"I see 'hack' everywhere: 'Hack,'" Stahl pointed out. "It has a negative connotation, doesn't it?"
"When we say hacker, there's this whole definition that engineers have for themselves, where it's very much a compliment when you call someone a hacker, where to hack something means to build something very quickly, right? In one night, you can sit down and you could churn out a lot of code, and at the end, you have a product," Zuckerberg explained.
Not quite sure why this is being downvoted but let me put my more "politically correct" hat on.
I don't feel strongly with the presence of the word hack in the same line with engineering. They just don't gel.
I rarely and hardly seen any engineers pulling one-nighter writing code with lack of automation tests. I see a lot of young hackers do that.
I would strongly suggest the downvoters go to InfoQ.com and search for Aditya's presentation regarding Facebook engineering to understand the issues arise for having a "hacker" culture.
And I'm telling you the fact that Facebook albums have had UI bugs; they frequently re-appear after what I felt is a re-deploy of their updates/newer versions of the website
Back button doesn't necessarily work sometime
One can see other people pictures but can't see their album (can't click the "photo" link but can click the photo in their profile page)
On iPhone, often one can't see "more..." pictures.
When I say those bugs in Facebook albums are exceptions, I truly mean it. Facebook can have buggy code yet they probably won't get penalized by their user. None of their user fled for other social networking sites.
I agree "hacking" and "engineering" aren't the same thing, but they're good complementary skills to have as a developer.
Hackathons are great for prototyping ideas/products/proof of concepts. Engineering is essential for building large/stable/scalable systems. Clearly Facebook is good at both.
I like to think of myself as both a hacker and an engineer. Neither word describes what I do completely.
I don't have any knowledge of the inside workings of FB, but I think some of the issues you are referring to could be caused by
1) ajax errors, packets get dropped, it is going to happen
2) single server instances that somehow didn't get updated. Again, if you think of the number of servers they are running, and the update process across multiple datacenters, I'm sure it is entirely possible that one or two servers take longer to update, or something gets missed and isn't recognized until a later update.
I don't think we can call the fb code 'buggy'. Their ability to scale and manage the volume of data along with how quickly they are constantly making major updates to their entire system is mind boggling. To me anyway, but I'm sure you are a much better programmer than I am.
Pseudo-related random anecdote: In college (circa 2005) I came across some programming puzzles Facebook had posted for people interested in jobs. I thought Facebook might be an interesting place to work, so I came up with solutions to a couple of them, but never sent them in because I wasn't graduating for a year or two.
I mentioned this to a few friends who laughed at the idea of working at Facebook. Not so funny now, eh?
Exactly this. I remember there were 5-6 problems they had: Gamblor, Prime Bits, SuperPatterns, a Unicode problem, and perhaps another graph related one. I managed to finish maybe four of them in my spare time at college, and wasn't too excited about working for Facebook. At the time I thought it was just a poor substitute for MySpace, which I didn't have much respect for anyway, and that it was technologically uninteresting. So, I never sent them in.
I wonder how fb engineers hired (c) 2005 are doing.
I remember in 2007 I was at the Zynga party in Portreo Hill. thrown with some other startups. I think at the time it was only 17 people, and they were looking for engineers.
My friends and I were like, nah, another silly gaming company. Now their cap is almost equal to EA.
The beauty of the valley that every 5 years the landscape changes and roles reverse.
Be nice to other people, your fellow engineers, your employees if you are a manager, as they might be your boss in few years.
Something that I am learning myself, live and learn.
I don't know about that. While being a good hacker probably correlates with being a good engineer, I think that the focus on "hacking" excludes a lot of very capable people. I know from personal hiring experience that a lot of qualified people are put off by the emphasis on being a hacker.
To expand on this, I don't think winning a multi-round programming competition (that is, successfully solving multiple algorithm-based problem statements under a time constraint with the highest accuracy and speed) is the best indicator of a good hire.
I wish more programming competitions followed the format of the ICFP. 72 hours, teams of a half dozen or so, solving an open-ended problem, often an optimization problem where an exact solution is NP-hard. You're judged by how well you do, not by whether you get the correct answer (which often isn't computationally feasible anyway).
That seems to most closely approximate real-world programming problems.
I completely agree the ICFP contest matches real-world problems better. I can't recommend it enough. The longer timeframe requires discipline and good planning, while also providing a bit of a buffer for early (minor) mistakes.
Having a strong and well organized team is huge. You'll learn a lot about your teammates in the process, both behaviorally and technically. However, I've had to go solo the last two years and still enjoyed it immensely - it just changes how you prioritize some of the development.
Looks like fun. Some of the people commenting on that page don't appear to understand the intended meaning of the term hacker in that context. But then, they probably aren't the target audience of the competition either. :)
I'll be honest. My incentive to make it to the final rounds isn't to get a job at Facebook nor money, but to make a bunch of dumb and tired Social Network jokes on the Facebook campus.
"Yes a compile error! Now to take a shot. WTF? Where's my shot? I was promised liquor!"
"Hey don't distract me, I'm connected to the grid." "Sir the competition is over, please leave the facility." "I said I'm hooked in!"
"3rd place‽ It's because you never got into Finals Zack, isn't it?"
The GCJ was google's spin off from the standard TopCoder algorithm competitions (see http://topcoder.com/tc). In fact the first two GCJs were run by TopCoder before Google decided they wanted to run it themselves. I suspect the Hacker Cup is also being run by TopCoder.
The ICPC is fairly different in format though. For one, it's always team-based, and usually has much harder problems since the entrants are always university-level students who have taken advanced algorithms courses. I've participated in both TopCoder contests and the ICPC and the GCJ/HackerCup are definitely TopCoder-style rather than ICPC.
Based on their engineering puzzles[1], I'd maybe expect problems geared more towards approximation/heuristics. The GCJ problems always require exact answers.
"Lol... what?" "May as well call this site HACKBOOK! IT'S ALL GARBAGE NOW!" "This is freaking scary coz pipol will be able to hack into any fb ccount they want to. This is crack..."
Let's not forget that we all live inside a cozy little bubble where some level of intelligence and familiarity with technology can be assumed.