Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
What I Hate About Working At Facebook (worldofsu.com) similar stories update story
273.0 points by dshankar | karma 6337 | avg karma 16.33 2012-08-15 01:52:49+00:00 | hide | past | favorite | 191 comments



view as:

Sounds pretty terrible to work there. On a serious note, it's awesome how much stuff gets converted from hackathons

Used to think this is a great idea. But reality told me this could lead to chaos (way to much chaos), especially when the company is going through a finanancial crisis (hopefully not the case for FB for a really really long time). For most of the companies, leadership should be vital. Things like hackathons are luxury game rich people allow to play.

I was thinking more that you let your employees come up with new ideas every once in a while. Like Google 20% time or LinkedIn HackDays.

It's tough to disagree when I don't actually have experience working there, but there are a few telltale signals that the author doesn't know what he's talking about.

Though I'm also wondering if the whole thing is supposed to be tongue-in-cheek (if so, I'm barely getting it).

#3 "Zuck is too involved" states that rather than planning the long-term strategy of the company, the CEO should be "pumping up the stock price". and #4, too much focus on short-term.

That is the problem with most other companies, too much focus on short term, not thinking long-term about the company. A CEO's job is not to promote the company to investors, it's to move the business forward. That is done through products and marketing, not by 'pumping the stock price'.


This article is clearly tongue-in-cheek. "Too much free food" is a dead giveaway.

> "Too much free food"

that might actually be bad - eating too much has been shown to be detrimental to the health of a programmer who hardly moves all day...


#9 actually does sound hellish. The rest of it mostly comes across as snide, since it's not actually exaggerated enough to be satire.

I think this article needs to end in a ":P". I almost stopped reading at number 3.

#5 needed to come sooner. Otherwise, I really enjoyed this--clever angle!

Good grief people - It's satire. The entire thing is meant to be funny. I didn't even think it was particularly subtle so I'm not sure how others are seeing it any other way.

Pretty obvious only an idiot would write up this rant on his personal blog while still employed at FB. I ignored the content immediately after realizing this. Click bait title. Lame.

Exactly my thoughts. It would actually have been a worthwhile piece to read if it wasn't satire...

As it is, it's just another geek trying to get attention.


Why did you ignore the contents? It's pretty good.

He had me until the second point's header. Overall it was a fantastic read if just for the moment of realization. Still it would have benefited with more subtly or fewer items. Some point's like #4 had great potential but needed less sarcasm.

More subtlety would definitely have done this article well.

As it stands, the satire is both obvious and contrived.


Took me until point 4...

It took me until I read the comments on this thread.

Me too. I was thinking: "Ah, this explains why FB is buggy as hell, changes too much, and irritates me".

Silly me. And I thought satire was supposed to be edgy and humorous in an uncomfortable way.

Jonathan Swift (http://art-bin.com/art/omodest.html) is crap in comparison to this work of masterpiece (AKA "why I love my job").


This guy is being sarcastic.

I think it's sarcasm. Well mostly, but with some truth splayed in (because there probably are things that grate on the poster).

No way this is real:

The food is too good. What’s wrong with good food? Well, here’s what’s wrong: there’s too much of it. Three meals a day. Free. Cooked by award-winning chefs. And too many choices: salads, entrees, desserts, vegetarian food, soups, whole grains, usually a second dessert, organic stuff, barbeque, ice cream, fresh-squeezed orange juice. For someone like me with zero gastronomic self-control, this supposed “benefit” or “perk” is a complete disaster. Why doesn’t the FDA step in?

- Some of us have to pay for our food by the way, all three meals, so if you would kindly save the complaining (and grab seconds).

But also the bit about how it's code, code, code, ship, ship, ship, long-term product view, the engineers are involved, the company looks for innovation with the hack-a-thons. I do think it's mostly sarcasm. And with that, disclaimer: I could be wrong =D


I've had enough unbearable, corporate, cubicle, meeting-every-afternoon jobs that this list makes Facebook sound like a wonderful place to work.

"There is a fully-working hot tub in the New York office that interviews are conducted in. I didn’t believe this until I saw the photos on Twitter. It was billed to me as a way to test candidates’ resilience under pressure. I was told that it’s used rarely, and only on exceptionally good candidates as a way to probe the extent of their mettle. This is about the least professional thing that I have ever heard of, and I’m sure it violates laws in several states."

Not surprised.


That probably does violate laws in several states.

I was expecting some real criticism of Facebook and not a recruitment piece. What a waste of my time.

wrt #8, why no ads on mobile? isn't that, like, where all your money comes from?

I realized it was satire at point #5. Well played.

I went from "I disagree" to "This guy is a moron" to "Oh, thank god this is satire" at #3. It's amazing that they can keep this environment after growing so big.

Well done, combined efforts of Facebook's PR and HR departments. May you poach all of the engineers from your greatest competitors.

Look for the comment by Zechmann on the article, whoosh.

> 4. Do not introduce banner ads that’s moving waaayy backwards...


Wouldn't this be better as "10 things I love about working at Facebook"? Why not just drop the "hilarious" satire angle and say what is awesome directly. I hope I don't sound like the death of fun... It sounds a little smug as it is now.

Satire is useful to detect people who have decided to agree or disagree before they've read what you've written.

wow, that is actually a pretty slick move

Wait, what? You lost me at "Satire is useful to detect people".

To me it seems like a passive-aggressive jab at those who complained about working at facebook, and left.

"It's just a joke" is just a lame way of saying something, without anyone being able to actually call them on it.

And to call this stuff satire is kind of extreme, too? Let's ignore the lameness for a sec: what, exactly, does it make fun of and shed light on?


I was making a broader point, not one about this piece in particular.

I still don't see how satire is supposed to detect anything other than who gets that it's satire, and who takes it at face value -- which is not even possible until you, uhhh, read or saw the satire. So that point of yours, it's lost on me unless you elaborate.

My premise is that people who fail to detect satire do so because their existing bias makes them see what they want to see. People apparently disable their critical thinking apparatus when presented with an argument that even superficially resembles their own viewpoint.

Ah, that is much clearer, thanks.

I completely agree. The article didn't say much new, but it came off as very smug. If the engineers at Facebook are that smug, I'm pretty sure I don't want to work there.

That said, it's good to here Zuck is still focused on building the company and not appeasing the critics. Long term value is what matters.


I agree, and he's slyly discouraging serious debate of his points since Facebook is so "cool". Software actually does need to be discussed. Leadership is critical in any structure of any size. The thought that every brogrammer is making decisions makes me think that he's either overstating this fact (every programmer in the world makes some decisions everyday), or that Facebook is chaotic. The rate of source code commits is fairly meaningless: with 1 shitty rushed commit, you might have to check in another 4 to fix it up. So, with 5 commits in, are you 5x more productive? Hackathons are a great way of interfering with life outside the office. There are other (possibly better) ways to give people a chance to crank out good work on side projects. Like a sabbatical where you spend a few weeks working on something you think is important. The hot tub thing makes me think Facebook is a testosterone-heavy environment.

Maybe I'm just uncool and took his flame-bait. Facebook does sound like a great place to work. But these kinds of puff pieces have a naivete that makes Facebook look like a frat house with a dark side that is not actually discussed.


It would have been funnier if he took a few jabs at facebook. Good satire sometimes mixes actual insults with the satire. I don't know anything about the author, but this reads like something written by a third rate facebook recruiter.

How far you make it down the list before you realize it's a troll is the quality of said troll... I give it a 4/10.

0/10. I knew it was steaming troll feed before clicking the link. If the title was "What I Hated..." instead of "What I Hate...", then we could have had some sweet juicy content.

I was thinking to myself the whole time, "this is awesome" until it hit me

Reverse linkbait, let's hope that's not the new PR trend.

Judging from the success of this piece we have much more of it to which to look forward.

Yeah if it weren't for #5 I would've thought you were completely out of your mind.

I actually agree with #1. Code is the enemy of all codebases. Though i'm not arguing against the company culture that produces such productivity. It's just more a case of "with great power comes great responsibility".

Jeeze.. Facebook has taken it on the chin since it's IPO. It is great to see an insider's positive perspective from a satirical perspective.

turns out Su actually got the Seattle office a (waterless) hot tub http://seattletimes.nwsource.com/html/technologybrierdudleys...

Satire is well and good, but i can't grok #9. Interviews in a hot tub? So... even for the women? Or is it used preferentially for high pressure engineers only (whom of course are all men)?

It may be just me, but I can't see the HR department in any state being okay with that. And if it's not for interviews... what's it for?


They say they only use it for high calibre candidates, who presumably already have the job our could otherwise just tell then to stop being silly

Are women allergic to hot tubs or something? I wasn't aware there was anything particularly masculine about a hot tub.

Do you seriously not understand how a hot tub could be inappropriate as part of a job interview?

Not as bad as a casting couch or a swimsuit competition, but still bad. Obviously, indisputably bad. I just hope that part of the article was not inspired by truth.


Perhaps the post was edited later, but they don't actually use it for interviews (ever).

See the photo album: https://www.facebook.com/media/set/?set=a.10151055286951458....


Read the paragraph again:

There is a fully-working hot tub in the New York office that interviews are conducted in. I didn’t believe this until I saw the photos on Twitter. It was billed to me as a way to test candidates’ resilience under pressure. I was told that it’s used rarely...

...

I installed a hot tub (non-functioning) as a conference room in Facebook Seattle. Interviews are never done in them.]


I'm not sure what you're trying to point out to me. You're just confirming what I wrote.

Philip Su, the blog author, installed the (non-functioning) hot tub and was joking about it being used for interviews.


According to the blog post there is one they use for interviews occasionally in New York and one in Seattle they do not use. So saying "they don't actually use it for interviews (ever)" is incorrect according to this article.

The post also mentions that hot tub interviews at Facebook New York are completely untrue. Then goes on to say what is true, which is that there's a non-functioning hot tub in Facebook Seattle which is never used for interviews.

To be completely sure, I contacted the author and will post another reply when he verifies what's actually the case.


I think I misunderstood the "editor" note referring to "this is completely untrue" - I interpreted it as saying it being illegal was untrue. Thanks for the repeated clarification.

If you're still interested, the author replied: http://i.imgur.com/LdZ51.png

Maybe it was added later, but the article has a link to a photo album of a "hot tub" in the Seattle office. There's no water in it, people are just using it to hang out.

And does Facebook supply the bathing suits?

Absolutely hilarious.

I'd pretty much assumed that it was tongue in cheek from the title. I'm completely baffled as to how anyone can read more than a few lines without realising it's not serious.

Is there something wrong with me or everyone else?!


Everyone else.

Probably because the first 4 sound like they could be problems. Facebook is super buggy, perhaps they do need to slow down. I think a lot of the feature could be better designed. Zuck very well could too much of a micro manager. And yeah, the ad's aren't working so perhaps the should be thinking about how to make money.

Too much code being committed? Too many decisions being made by engineers? Building a great product?

Wow, talk about navel gazing. I get the satire point, but...

This internally arrogant, externally ignorant attitude is why the stock is where it is. These ideals are not necessarily good for a mature business that needs to pay back the kind people that gave it money in the first place.

Enjoy your free lunch, as there are none.


Facebook and "mature business"?

But more seriously, I think this is an all-too-human trait - once you are successful you start to greatly approve of yourself and look for reasons in your very DNA why you are where you are and then you start marketing that... when really, it was all a lot of luck and people seem to forget that pure chance is the biggest innovator and the bigger part of what they have actually done right is NOT spoiling the success that luck has brought them. There are and were a ton of companies with the same culture, the same great benefits for developers, the same productive environment but you never heard of them and they are gone now.


The stock price is where it is because various players hyped a $40B company into a $100B valuation. If you think that is a failure for anyone working at Facebook (except very recent hires who believed the hype when they evaluated their comp package), you are mistaken.

I understand it's tongue-in-cheek, but #2 is actually worrisome:

> There’s even a “no meeting Wednesday” meme in the company, which you might as well call a “failure to communicate” death wish. Software needs to be talked about and debated, not simply written. It’s lunacy to be writing and shipping code at a blistering pace, instead of letting things bake a bit in committees representing broad swaths of all semi-affected parties.

There are a lot of companies where failure of communication is a very real thing, and where semi-affected (or totally affected) parties are completely ignored. In my experience, ideas for code do need to be talked about and debated, not simply written. Facebook has had a lot of very public privacy/other failures that could probably have been avoided if there was more communication going on.

If you're just writing code at a blistering pace, without a lot of communication, there's a good chance you're not writing the right code.


No meetings != no communication.

Meetings != Communication

(always avoid double negations)


Except (No Meetings != No Communication) != (Meetings != Communication)

If you define "No meetings" as !meetings, and "No communication" as !communcation, which to me sounds reasonable, then they are in fact equivalent.

This becomes apparent when you create a truth table for it:

    !meetings != !communication

    meetings | communication | expr
    F        | F             | F
    T        | T             | F
    T        | F             | T
    F        | T             | T
This is the same truth table one would get with "meetings != communication" so they should be logically equivalent.

But in dealing with language here, there are subtle differences in connotation between the two options. Just like how saying "not bad" isn't that same as saying "good".

But in dealing with language here, there are subtle differences in connotation between the two options.

We're not dealing in language, formal symbols exist to remove the ambiguity of language.

Plain and simple, the symbols used don't mean what the poster thinks they mean.


The symbols are simply shorthand. Trying to parse it as a mathematical equation was your mistake, not his.

Pies and cactus.

Jackalope.

If you read the above as anything other than a nuanced and well reasoned response thats your mistake, not mine.


"No meetings != no communication" is analogous to saying "Without meetings, people may still be communicating."

"Meetings != communication" is analogous to saying "At meetings, communication doesn't necessarily occur."

In terms you would personally appreciate: (No Patrick Hernandez != No Dancing) similarly is not equivalent to (Patrick Hernandez != Dancing)

One says without Patrick Hernandez, there may be dancing. The other says with Patrick Hernandez there certainly is not any dancing ;-)


You're referring to implication then, i.e. P => Q <=> !P || Q and in that case, I definitely agree. ;-) That's also why I started my comment with a propositional "if" on how one could define "no meetings" and "no communication" to show that there is something to be said for the P != Q interpretation.

In short, I believe neilk should have used => instead of !=. Or just plain english. ;-)


You can't replace a complex concept with a boolean. This isn't JavaScript.

Actually, yes, it means exactly that.

neilk incorrectly used a comparison operator to try and point out the logical fallacy known as affirming the consequent. But thats not what was said.

At least thats what I think is happening here. I can't be sure because instead of using logic symbols they used symbols that are ambiguous at best.


It should be obvious that != in this context is read as =>

Meetings are a very expensive way to communicate. A concise, well-edited email is more difficult to prepare, but cheaper for the company. If something takes you an hour to write but the ten recipients can understand it in six minutes, you saved nine hours of time over having an hour meeting. That's like having an extra person on your team, without having to pay them or buy them a computer!

(That's why a textbook costs $100, but a semester of class costs $2000. Economy of scale.)

Of course, if you anticipate the discussion to mostly be back-and-forth, then a meeting could be necessary. But have an agenda and stick to it. If you just want to socialize with your coworkers, duck out early and hit the pub.


Email and face to face communication are completely different beasts though, particularly for tougher issues.

Sure, but not all issues are "tough". Many people never write and always meet. And that's the wrong balance that annoys engineers.

Engineers typically go the other way though: always write email and never meet. Then they wonder why their project goes south because the specs are incomplete or the users aren't happy.

I think it's largely a knee-jerk reaction against bad meetings - hour long no-point crapfests - but they don't have to be like that.


Agreed. On my team at Kabam, we have meetings, but

1) They are as small as possible, typically including just 2 or 3 people.

2) Are always optional.

3) Typically last around 15 minutes.

It helps to have plenty of space/rooms where you can just pull someone aside to hash out a quick issue, and a mature, responsible team that doesn't need baby sitting to get stuff done.


I want to take on of your points and go on a bit of a tangent about meetings. Specifically, this one: "They are as small as possible, typically including just 2 or 3 people."

I think everybody's goal should be to make meetings as small as possible. If you don't know why everybody there is there, then either they're redundant, superfluous, or lost.

One thing I like to stress in my meetings that I run is that everybody knows why they are there. Even if that's just to listen. Too often, people think that because they were invited to a meeting, they need to say something. This is what generates hour-long bullshit meetings. Sometimes, you just need them to shut up, listen, and take notes.

I've found that if, when you set the meeting, you send a note to them after the invite with, "Hey, I know you're busy, but I'd like you to listen in on this so you understand what's being discussed. I'll get your feedback on it after the meeting." Works wonders and keeps meetings short.


I think that's exactly it.

Some meetings useful, even helpful. But holding a useful meeting is not easy, which means there are many bad meetings. And that's what we should all avoid. Not meetings all together, but bad meetings.

I've been to great meetings that were facilitated well and had clear, productive goals. Those we should keep. And fortunately, when meetings are productive, there don't need to be as many of them.

But those hour long no-point crapfests, yea, no one needs those.


If your meeting absolutely positively must happen on a known weekly no-meeting day then there's really only three cases I can see: 1. You are bad at planning 2. You are bad at communicating 3. Something really, really bad happened and people will understand breaking policy

There's a big difference between "no meetings ever" and this.


Sadly there is a particular type of person who discovers the day that nobody is supposed to go to meetings is the day when everybody is free and the meeting rooms are available. And then starts scheduling meetings for that day.

All meetings are optional - it just depends what you're prepared to pay for missing them.

In this case, I'd say there's no/negligible cost to missing the meetings on a no-meeting day, unless the entire group of people have decided that it is worth breaking the no-meeting rule. Of course, you should let people know that you won't be there in advance...


This is the same kind of person who discovers that people, and rooms, are "available" from 12-1pm, and 6pm-

After too many days of back-to-back meetings from 10am to 3pm I've taken to creating a repeating lunchtime meeting with myself. Then I discovered the people who don't care if you're available or not...they consider themselves important enough that you'll drop everything for their meeting.


I personally enjoy disabusing people like that of that particular mistaken notion. But there can be associated fallout.

I haven't found a strict ordering, though, for which is better at tougher issues. Sometimes face-to-face is much quicker, especially if it's hashing out high-level disagreements or overcoming misunderstandings about motivations and general directions. Sometimes for architecture or deciding on features or cuts as well. But when arguing more complex technical points, I prefer LKML-style discussion, where you intersperse code and text, and have time to properly research a serious reply.

An hour to write plus 10 * 6 minutes of reading time = 120 minutes total. That's an average of 11 minutes for each of the 11 persons.

It's very difficult to hold meetings that only interrupt employees for 11 minutes. In addition to this, emails are async so they have less interruption overhead.

So being able to write very well is important, it's a very underrated skill in many companies.


I work at Cloudera, and engineering has work from home/no meeting Wednesday. It allows people to work wherever they prefer and are most productive, and to have the whole day to focus with minimal distractions.

That said, we do still communicate as needed for the active work. But we do so in terms of emails, chat messages, and sometimes phone calls between only the necessary parties, without any long scheduled meetings or meetings that provide value in the longer term (eg. interviews or longterm planning meetings) as opposed to helping someone do the right work today.

It works great, we've been doing it for basically the whole life of the company, and I don't see it stopping.


I work from home / where ever every day. And, it is wonderful. I can even take as much unpaid time off as I want, whenever I want, as long there is no disruption of business services to our clients. This works because I get paid hourly (I don't work = I don't get paid) and we have very fine granularity in tracking what work was done when. There is also high trust amongst all the team members that everyone is being honorable.

It does work, but has its drawbacks, for one it's communication requiring extra skill (and effort) when people don't see each other frequently. Seems that way to me (I currently operate in an environment similar to yours).

Meetings are fine if they have an agenda, someone to enforce the agenda, no extraneous parties, are timeboxed and have a predetermined outcome should no consensus be arrived at. "We're going to shelve this unless we can come up with an acceptable solution within 30 minutes"

The point is (1) Is all this stuff true? How true? (2) Is it really all good? Seems like they have a very free wheeling engineering culture. Are there downsides to this? Is it sustainable as Facebook grows? From what I've heard Google is considerably more controlled.

Also I must say that as a daily Facebook user I haven't noticed most of these "thousands" of features being launched. They must be exceedingly subtle features or else they bundle them up for an annual release (which is actually a good idea).


Why make it impossible to read more than two lines, if the point is to show off how cool FB is?

It is fascinating, that I really want to learn the good things, but I cannot get myself to read through the satire. Normally, I would be able to skim through it; even that triggers a gag reaction. Anybody has the same problem?


yuppies and humour don't mix. people who can't laugh at themselves will never be funny.

not to mention the only portion of the site I use (photos) is couldn't possibly be worse :p

I see what you did there

A lot of this is believable (i.e. can be taken for real, not satire) if you don't read into each point, because a lot of it is quite different from how Google does things:

1. At Google, code has to be designed, written, tested, and reviewed. You can't just start writing and shipping stuff, partly because there's so much infrastructure, and partly because you pay for shoddy code later. Google has long outgrown the kind of "start-up" velocity that you feel at Facebook.

2. Arguably, software does need to be talked about and debated. Google and many others hold meetings to make sure teams don't end up with 5 incompatible siloed components when what they really needed was a server and multiple clients. Teams have been bitten in the past by the "shit, let's rewrite all this except with a good design" problem. Certainly, they try to keep engineers out of meetings as much as possible.

3. Google doesn't have Larry and Sergey micromanaging things, and PR has been something that Google's struggled with. The role of a CEO is debatable.

4. Sure, although a low stock price isn't without consequences.

5. Several design changes have been made to food at Google: healthier snacks on the snack shelves, color-coding snacks, more plates of the smaller variety in cafes. Some people do get the Noogler 15.

6. Engineers can be pretty bad at making certain kinds of decisions, especially because they spend a lot of time heads down on a small components. (Have you seen the typical engineer-designed UI?) Google PMs that work between teams focus a lot on product decisions that affect the users and other products. Remember criticism that Google just makes a bunch of random, disconnected products?

7. Facebook has had some embarrassing "launches" of Hackathon products. One poorly thought-out launch can mean multiple criminal investigations and loss of user trust.

8. Social is important to Google, but it's hard getting people to agree that it's important.

9. Does it drive away candidates?

10. Trust is all fun and games until you give people in your PRC office extensive privileges to the internal network.


+1

I can kind of see the logic behind the author's first point. When I write code for fun, I don't write design docs or invite friends over for design reviews. I just do whatever I want, mostly typing in lines of code, until I can't stay awake anymore. And it is a lot of fun. The problem is, it's ignoring things like "making money" and "not annoying users" and things like that. When you need to engineer instead of play, then you need to think about things like: "how can I not write this code". And that's why you need design docs and design reviews and meetings: to learn, to share knowledge, and to ensure that your time spent programming is the best possible use of that time.

If someone said, "your job is to write as much code as possible and push to production every eight seconds", that would be fun. I just don't think the company would last longer than ten years. At that point, that company would do nothing but extinguish fires, and a new upstart would be doing "more with less" and out-innovate them. Name the popular tech companies from twenty years ago that you interact with on a daily basis today. Yeah.


Thank you for demonstrating the truth of Steve Yegge's observation in https://plus.google.com/u/0/110981030061712822816/posts/KaSK... that Google's software culture tends towards risk-adverse conservatism.

Don't worry, I don't think there's any controversy there. Google is quite conservative, engineering-wise.

First, what are you trying to say? Are you being sarcastic like the original post? Or are you making genuine observations about Google and approve of them?

> 1. At Google, code has to be designed, written, tested, and reviewed. You > can't just start writing and shipping stuff, partly because there's so much > infrastructure, and partly because you pay for shoddy code later. Google > has long outgrown the kind of "start-up" velocity that you feel at > Facebook.

you are assuming it's impossible to design, write, test and review a small change or a small set of changes and get it into production quickly. The assumption is wrong, all you need is good people, the right processes (formal and informal, i.e. discipline) and the right tools. That's what continuous deployment is about


1. At Google, code has to be designed, written, tested, and reviewed. You can't just start writing and shipping stuff, partly because there's so much infrastructure, and partly because you pay for shoddy code later.

What makes you think Facebook doesn't design and test code, or that the other concerns don't apply to them as well?


The funny thing about this list is that a few of the items, while intended as satire, are actually spot-on. Especially item #1:

"But the rate of source code commits continues to grow proportionally with the number of engineers. This is in clear violation of the law that Fred Brooks established nearly 40 years ago in The Mythical Man Month."

Whoop de do.

This might, just maybe, because no particular behavior of FB really matters all that much. You're not building a space shuttle launch program or even a spreadsheet that people rely on to give correct answers.

I'm sure that a business model that can allow 80 godzillion developers to fling spaghetti at a wall in parallel with a view to seeing 'what sticks' is quite a bit less subject to Mythical Man Month type scaling problems.

And is there anyone so naive that they don't understand the agenda behind "3 free meals"?


It's likely that the code is not coupled. Fred Brooks studied OS/360, which was essentially one big component. Facebook is, presumably, many separate components that don't depend on each other in any way, and so the "teams" are much smaller than "all of Facebook".

If you watch velocity on individual components, you'll probably see sub-linear scaling as Brooks predicts.


Facebook is, presumably, many separate components that don't depend on each other in any way

How could that even be possible?


The messaging back-end is probably completely decoupled from the stuff running other components of the site. I would imagine everything interfaces with each other, and as long as you don't break the interface, things could be changed pretty orthogonally.

Indeed. They have quite a toolchain and a wide variety of libraries. While a change in the javascript framework or PHP compiler affects everything, it isn't dependent on everything.

Or it's because an ever growing fraction of those commits are bugs and fixes.

"Facebook is, presumably, many separate components that don't depend on each other in any way"

Based upon the public statements about their build system and their revision control system and pain when trying to put it in Git I would be confident in saying that is false and that the source code is one big intertwined ball and no separate components.

Edit: Also based upon the way they treat public API which is always better than internal API even if they had internal separate components one could only imagine the horrors of api design (or lack of) you might find.


Question is how well peer-reviewed the code is before deployment. Facebook is handling a lot of personal data about their users. Security vulnerabilities may not harm Facebook as much as their users.

As a user, I'm not so sure #1 and #2 are haha funny. Things are being added and changed constantly, reducing usability. Features seem to be broken or at least temperamental all over the place.

Just read the bold in a sarcastic voice and it all makes sense. That being said,it reads like each point has a grain of truth.

Real reasons why working at Facebook isn't that attractive in my opinion:

1. Giant php codebase.

2. All the excitement is gone post-IPO, they've reached an inflection point and growth is slowing down.

3. Mark Zuckerburg doesn't have great social skills/intelligence. Which wouldn't be a problem, except that he runs a giant social network.

4. The corporate mission of making the world more open and connected just doesn't seem very high impact. Facebook at it's core is a way to share photos and keep up with old friends, it doesn't really change social interactions.

5. Their focus is very narrow, they don't work on many novel exciting problems.


My favorite thing about Google is that I haven't seen a single "Keep calm and carry on" poster.

Oh, except for one making fun of said poster.


"Violate privacy and break things" perhaps?

Sad to say I know where one is non ironically posted.

Finally a use for my shinonome_nano template.

re: growth. Facebook has one billion active users. There are seven billion humans in the world. There is a lot of growth left.

What so the third world doesn't exist? Seriously?

The average Nigerian or Bangladeshi has more phones than you do.

Facebook has not yet exhausted mobile.


Knock 1.3 billion off that number because FB is blocked in China.

one billion active? are you sure? I have two accounts and one of them was a joke account from the get go, the other I haven't used in months. But that's 2 "active" profiles in the stats right there, I constantly get email for them.

Oh, yeah. You could add all the people that earn 1 dollar a day and spend tens of dollars/year on each of them using money from more pension funds investors.

That would be great...

Some advice, you could go out of Western countries and see how people live there.


No, they don't have a billion users. And no, there's isn't growth left. Theoretically there is the potential that they could grow still, but it isn't happening.

Would you mind explaining item 3?

> "3. Mark Zuckerburg doesn't have great social skills/intelligence. Which wouldn't be a problem, except that he runs a giant social network."

I'm not calling you out for stating this without supplying the supporting evidence. I'd just like to know what you do. Is it with respect to his business missteps, or is there something else you see?


3. I don't know why you say that MZ does not have great intelligence. I met this kid in two occasions (outside the States) for professional issues and IMHO he is kind of shy- awkward but that someone does not speak up does not mean that he is not intelligent. Usually the opposite is true.

Playing devil's advocate: "Better to be silent and others think you a fool, than to open your mouth and remove all doubt."

I work for a medium sized public company (500 people), that went public about 5 years ago. After going public we had a CEO that was decent, but didn't know how to run a company to make it profitable. After 1.5 years of missing earnings we got a new CEO and our stock is 10x the value it was back then.

If Zuckerburg is still playing a part in engineering, he should be the CTO of the company, not the CEO. Having a business minded person person holding the reigns of a company can help the shareholders, otherwise the stock price will have a good chance to continue its descent.


Facebook is in a quandary because it would be difficult to monetize (to the extent that it reclaims the 100B market cap) and still retain its user base. And if these business people existed, don't you think Facebook would have already hired them?

> 1. Giant php codebase.

As a Python enthusiast who works in a N-hundred kLOC PHP codebase for a living, I have to say large PHP codebases aren't really a problem if they were written by competent people who took the time to think ahead a little.

Sure, PHP has it's deficiencies like any other language, but my day-to-day experience is more along the lines of "I dislike not having <feature that's somewhat unique to Python>"; I don't find myself thinking "wow, I hate PHP, it's such a terrible language and makes my life miserable!", as many people are prone to think with PHP.

PHP may not be your favorite language, but in good hands it's a perfectly workable language, and IMO its use should be a small factor in where you work.


It's important to create an awesome work environment. But in my experience it's usually a trade off, the downside of which can be having diminished social life outside of the office. You're also probably expected to sacrifice some compensation and the deal tends to be in favor of the employer.

why is this on the front page of HN?

fb culture is toolbagish

Must admit I've stopped after the firtst, but: With thousands of programmers, what real features have been released to facebook.com? I often ask myself what those thousands of programmers do, as a user (I know not customer in this case) I can't see it. All of them mobile? Ads? Image recognition? With thousands of programmers should't the output be (5 people dev teams, one feature a month) hundreds of features/stories per month? Could users live with that?

I'd also think commits are not a productivity metric.


A lot of our manpower goes into designing, implementing, and maintaining highly scalable systems and tools that allow the actual product teams to do their work. And of course there are plenty of teams that are simply focused on improving the scalability of existing features.

It's hard work to scale something as complex and inter-dependent as Facebook when you're operating at the scale of almost a billion monthly active users.


How is productivity measured than? (OP)

Hell if I know; I've only been here for two months. I'm just reporting what I've seen as a production engineer in that time. :)

That still leaves the question about what features are there?

It's not like you can search for people with common names, or organize your own profile in any meaningful way, or search it. You can add stuff to the stream and that's that. I remember when they rolled out the timeline, and what a joke that was/is..

I get it, scaling is hard. Do you get that scaling is only required when stuff is completely broken? If facebook was a protocol and free code, there would be no scaling problem, there would just be a lot of servers. So yeah, they don't fucking understand the internet and like money, so they create problems for themselves which they then solve.

Awe-inspiring! That still leaves us with a set of features no CMS would be caught dead with.


I'd also think commits are not a productivity metric.

An interesting topic. If you look at commits on the same project for a long enough period, trends do emerge.

The time scale is important, because committing a 3rd-party library or a bunch of docs isn't really productivity, but it evens out over time.


Features can sometimes only be visible in the aggregate. If facebook improves ranking of stories in a way that improves time on site and their user engagement metrics by 5% that will likely be invisible to nearly all users. Same for their ads. Plus they would be running many A/B tests, some making it onto the site, others only ever being seen by a small percentage of their users. Chat, integration of acquisitions, billing, APIs, 3rd party integrations, future products, etc.

As a recent hire, I have to agree completely with everything he said. It's such a terrible working environment that I just might have to stay here for an inordinate amount of time so I can continue to complain about it.

I was way too naive to expect a Facebooker to not actually be drunk on the cool-aid and actually bother to offer a comprehensive good/bad overview of FB.

The thing is that had he actually did that, I would have a more positive view of working for FB. I would be impressed by the caliber of people who work there -- people who're capable of parsing out the nuances of a given situation and take a holistic view of the situation. Those people are the type who can work through difficult situations and salvage a bad one. Instead, I walk away with the impression that FB is full of immature toolbags.

Yup, pretty much. My view of FB prior to this was luke-warm because of their contribution to open source, but it's just gone in the toilet.

So your entire view of facebook was changed based on one blog post? It seems to me you were looking to justify your already negative view.

You know things are all good and well when a company is doing well and pre-IPO but the truth is, Facebook will need to so major results quarter on quarter to prevent the stock from tanking. A little less satire and a little more business is what's needed. Given the state of Facebook's stock performance post-IPO, I would say the joke is on him.

I can't believe the comments on that blog post are real. Apparently sarcasm isn't a language everybody speaks.

A not-so-subtle pretend recruiting/bragging piece, except perhaps it had the reverse effect on me.

#1 reason I won't want to work at Facebook so I can avoid smug, not-so-witty, immature douchebags like the author. With the stock price where it is, I guess FB might have to resort to these kinds of tactics to attract talent these days.


And they're smart enough to make it corporate policy to upvote their shitty HR blog posts onto HN.

"The food is too good. What’s wrong with good food? Well, here’s what’s wrong: there’s too much of it. Three meals a day. Free. Cooked by award-winning chefs. And too many choices: salads, entrees, desserts, vegetarian food, soups, whole grains, usually a second dessert, organic stuff, barbeque, ice cream, fresh-squeezed orange juice. For someone like me with zero gastronomic self-control, this supposed “benefit” or “perk” is a complete disaster. Why doesn’t the FDA step in?"

Is he complaining that he's getting too fat from eating at Facebook's buffet?


> specifically Zuck’s idealism (perhaps even naïveté) that focusing on building great products will lead to solid long-term businesses

Nothing against that. Also I find it a good thinh that he's still involved in the products ...

But what good products does he think does Facebook make? Quality does not really come to mind when I think about Facebook. This is common among my peers too. To us Facebook is the place where soccer moms get ripped off by clicking on pixel cows.

That's also why I'd never work for them. It's something my hacker honor wouldn't allow.


When someone talks, with a straight face, about

- "building great products" - "solving interesting problems" - "changing the world" and/or "transforming the way people view/do X"

It's pretty obvious they're just repeating what they learned in sophistry class. Or to paraphrase Zuckerberg: "they actually mean that. dumb fucks."


I got about 5 points in before i realized this is actually 100% sarcasm. You had me pretty worked up for a minute there.

This explains the hideous broken interface, with options spread everywhere and auto-resetting choices.

An interesting litmus test. I caught the satire at 3 but double taked when I started wondering how this stuff would translate to my company of choice.

True story, two weeks ago my team launched a feature and decreased latency. We hunted for an explanation and finally found out that some code that blew away our feature was launched coincidentally at the same time. It was a pretty unlikely scenario, and we have controls designed to prevent it, but it happened anyway. I wonder how many collisions like this Facebook will have to deal with as they expand.

I would vote for free healthy food though.


I haven't felt the need to downvote a post since PG stripped us of our ability to do so, but this is unmitigated crap. A poor attempt at satire in service to some large corp is not something that should grace the front page, and the resulting conversation helps no one. It's blog spam in a different form.

That's what the flag function is for

I don't see a flag button. Is this a feature that's only available after reaching a certain amount of points?

I used to see it, then one day it vanished.

hisyam: Yes, it's something you get after getting 20 points or something like that

jamesbritt: I've heard of people losing their flag priviliges because of 'abuse' whatever that is


I suspect I flagged too many posts that ended up as popular so now I cannot flag anymore.

If so then there's a serious flaw in that kind of strategy since it erodes counter-balances.


I don't know that it's necessarily flagable, unless we extend the definition to "everything deserving of a downvote". If we do that, we've simply offloaded post moderation from the users to the mods.

I'm glad this made it to the front page, otherwise I wouldn't have read all the interesting debates in the comments.

At first I wasn't sure if this was real - which is kinda scary. For those that have ADD, if they read perhaps just the first 3 - 4 points they could come away feeling like this is a real gripe about FB.

Not sure it was executed as best as it could.

Maybe this is one example of something that should have been 'peer-checked' before pushing to production.

Just saying.


Just a recruitment propaganda piece. And actually what #1 tells me: "Come to Facebook, and have your share of ever growing giant smoking unmaintainable pile of (php) code."

php is maintainable if you actually know it and not just put it on a resume, Drupal runs the whitehouse.gov, Wordpress runs 15% of all sites and Facebook has the largest member base in mankind history, PHP is not hieroglyphics it is actually has roots from C...

Really? This guy is a tool. Happy that he's scored points with his manager though.

I can see why this guy got the job: he has the "I don't think the way you do" mentality that is so typical of silicone valley employees, I'm sure they probably loved him for it in his interview. That said, I think this guy is a misfiring canon. He's getting mad at all the wrong people for what seems to be his own dissatisfaction with not being in charge, ad he's getting mad at them for doing most of the things that have caused such dysfunction in traditional companies. Is like this guy's ideal work environment is an Innitech next to Michael Bolton and Samir.

In my experience, companies that fight to boost their stock prices in the short term end up making them plummet further in the long run. It's the companies that have the restraint to accept a loss in order to build toward a bigger reward that end up changing the world.

Look at Apple. They used to spend so much money on R and D that their stock prices were miserable. But shit, they got the iPod out of it, and look where it took them. If they had instead tried for short term profit, they probably would have ended up putting out another garbage iMac. Or a Zune.

And finally, you can't be so shortsighted as to overlook the impact of encouraging creativity an freedom. If you force beaurocracy on your employees you might end up getting more done at first, but as they start to lose the excitement that comes with being enabled and excited by a company that believes in their ability to be autonomous, the quality of their work will start to decline.

Short point: don't play devils advocate just because all your peers are stoked to work for Facebook. And especially don't do it to get hits on your blog.


"What I hate about those working at Facebook"

I like the sarcasm and wished I worked there. Argghhh devs just want to code and be trusted to code.

"Decisions made by interns" = probably why FB is constantly raping user privacy. I hope.

Too bad I don't use Facebook.

11. The stock price is too low

The stock has been sliding in recent months. This sucks because stock options granted to people being recruited now will have a higher potential upside than similar grants made around the time of the IPO. New recruits should be the have-nots on the totem pole.


Legal | privacy