While there are some good answers given, people also need to keep in mind that many of the facebook employees who post online are part of an organized public relations campaign. Facebook has an internal group where employees share links to posts like these and encourage employees to respond positively. This group is called 'Humanize' because it wants to give the impression that these responses are coming directly from real employees while hiding the fact that they aren't exactly casual responses.
I don't know whether any of the particular responses in this thread are part of this PR campaign and am not calling out anyone directly. You can usually assume that popular and controversial posts are being actively managed by the Humanize group. But it's not clear if this post has enough traction to being on their radar.
Of course, there is nothing wrong with Facebook asking employees to share their experiences publicly. However, like most online reviews, it's not ideal that people do not disclose when their posts are part of an organized astro-turfing effort. It's not clear to readers that some of these responses have been composed or edited by PR before they are posted.
Not a great day, all things considered, but.. free burrito.
I suspect some of the answers to your questions will vary depending on the org you are interested in (ie infra vs product). And also there's lots of FB engineers who frequent HN so I suspect you'd get answers if you had specific questions.
Background: this guy was my manager when I was at FB. My day was similar, something in the realm of 10:30 to 6:30—hours are flexible, but there’s some accountability for meetings, and you generally want to overlap as much as possible with your coworkers.
Typically I would deal with emails, do code review (you can review pretty much anybody’s code if you want), write new code, do the weekly or bi-weekly release if it was my turn to be on call, sometimes pair-program, and of course enjoy the free food and facilities (arcade, gym).
The software development flow (task management, tooling, reviews, testing, deployment, monitoring, etc.) is all very well polished, and I miss it at Microsoft.
Confused by this. The flow is good at FB, but better and missed at MSFT? Or vice versa. Or they're both good?
Socially, it ends up being more like "someone who maintains and cares about this code should approve it" almost all of the time.
Btw, your day sounds like a day in a typical software company. During your interviews did you ask relevant (to the job) questions or usual "Google like" CS riddles?
Not FB, mind you.
Positives: Teams are fairly autonomous, platforms are stable and support experimentation pretty freely. Great for product/growth oriented hackers. Titles are hidden so you can walk into a room and be talking to a Director and have no idea.
Negatives: The backend is pretty abstracted away so as an engineer, you aren't encouraged to dive deep into the stack and see how it works. I've seen eng leads and managers operate with surface level knowledge of the backends that they work on. Going to startups or less mature companies will require a lot of learning to go deeper down the stack.
what does "Titles are hidden" mean exactly?
Some groups are much more structured/organized than others. In some heavily organized groups, you can easily get bored by being a small cog in a large company. Or you may be happy to be able to coast by working less than 40 hours a week while cashing a fat paycheck. In less structured groups, you may love the opportunity to create your own projects and jump from group to group. Or you may get stuck without any interesting project and have difficulty switching to a better role.
Depending on what excites you, some groups have some really interesting work, while others are more mundane. The best way to get a feel for Facebook is to figure out what kind of groups would be interesting to you and talk to people in those groups. Before interviewing, I would recommend you find out which groups you like and try to get the recruiter to schedule your interviews with engineers on those groups (but there is no guarantee the recruiter will be able to do so).
Some top candidates are able to pick their group before joining. However, most new employees will not be allowed to choose until after they've started at facebook and go through the 6 week on-boarding process. When facebook was smaller, it was easier to pick your group. But in the past couple years, new employees have complained that they didn't have too many choices and felt like they had to re-interview again after joining. Some people felt they were falsely promised being able to choose between many interesting projects, but ended up getting herded into a very small number of groups that most needed engineers. So you should definitely try to negotiate your role in more detail when interviewing and accepting an offer.
Of course, many new college hires frequently don't know what kind of work interests them. Blindly joining facebook without a group in mind could still be a good way to get experience for a couple years. Once you have a better idea of what you want to do, you could either try to change groups or companies.
I worked on data-infra for first 3 years as an individual contributor and ads for past 2 as a manager.
The thing I love most about PE is that it really allows for people to do their best work. During team selection you get a feel for what each team needs in terms of skills and can pick a team where your skills will be best utilized.
Also, we really believe in mobility and encourage folks to do a hackamonth after being on a team for a while. They can sit w/ a new team for a month, and after the month decide if they'd like to think about staying on the team or go back to their original team.
I guess those two are also pretty common w/ SWE. I think the most PE-specific element is that you're given a lot of latitude in the type of things you work on. You can choose to focus on reliability, scaling, performance, architecture, disaster readiness, monitoring, security, network, coding, whatever. There is a lot of flexibility to focus on skills you'd like to develop.
As far as perks go, I think the food and bike are tied in 1st place.
More from him here: https://www.jwz.org/blog/?s=facebook+the+worst
Yeah cut and paste those links if you want them.
FB (the organization) and HN sort of embody a lot of
the attributes that tend to make the SFBA insufferable at times, to be sure.
Mix in one person constructed by the universe explicitly to embody maximum crankiness, and you've got yourself a scrotal egg cup on your screen.
He also has the same general profile as Richard Stallman: strident about seemingly trivial things that in retrospect were clearly big deals.
I think he's pissed at HN because of the conversation surrounding https://www.jwz.org/blog/2011/11/watch-a-vc-use-my-name-to-s... (copy paste advised). His tales have been repurposed to get you to stop questioning management.
He evidently has strong opinions about HN too. ;)
(For those it's not immediately obvious to, you'll need to visit the link without an HN referral...)
Which of these companies is "better" really depends on your preferences. For example, do you want to leave the US? If so, Google may be the best as it has numerous office in Europe. Do you need lots of holiday time to see the family you relocated from? If so Facebook is the best to work at as it gives you 4 weeks PTO straight up. Do you want a closed office? Only Microsoft will give you one.
I've knowledge of Google, Facebook and Microsoft (mostly through coworkers). My thoughts:
In terms of work/life balance:
- While Google has a very diverse selection of engineering offices throughout NA, Europe and Asia, Facebook and Microsoft are more limited away from their headquarters. For example in Europe, Google has engineering roles available in London, Paris, Zurich, Warsaw, Aarhus, Stockholm and Ireland. Facebook has roles in London and Dublin alone. Microsoft only London.
- Facebook does 21 days PTO from hire, Google does a seniority based system starting at 3 weeks/yr and ending at 5 weeks/yr (after 5 years employment), Microsoft does a similar seniority system but with less PTO (can't remember the number).
- I haven't heard any major horror stories from any of them in terms of overtime.
In terms of what it's like to work there:
- Microsoft actually gives you an office. Google and Facebook are into the open floor plan thing.
- My impression is that Google and Microsoft do treat engineers/products in the more "traditional" way. The company is structured as a hierarchy, you take a potential project/feature up the chain, get it approved, it's pushed back down the chain. Facebook seems to be less hierarchical and small groups are given more autonomy.
- Google is very very large and very (for a web tech company) old. It has a lot of internal technology that's not available elsewhere and it's built to make it easy to build extremely large systems. Microsoft has a lot of technology but its business is mostly selling it rather than building products on top of it. Facebook is a relatively new company and has a lot of cool shiny stuff.
- Google and Microsoft have a very diverse (in the case of Google extremely diverse) set of projects and a reasonable degree of internal mobility. A standard engineer at Google can work on Android, transfer to YouTube, then decide they'd like to work on Google Flights or Cloud. Microsoft is similarly diverse (Azure, Windows, MS Office for a few examples) but I believe it may be harder to move around internally. Facebook has plenty of mobility but not as many choices of product to work on (Facebook, Instagram, WhatsApp, Oculus unless I'm missing something). The products are monolithic (Facebook's "YouTube" competitor is Facebook itself) so there's still a lot to do in terms of engineering work but you can't really do a totally different thing like you can at MS (desktop software to cloud) or Google (cat video hosting to mobile OS).
- In terms of moral things like data collection and net neutrality, Google and Microsoft, despite certainly not being perfect, seem to be quite clearly ahead. While Facebook makes it near impossible to see your data, let alone delete it, Google allows you to permanently delete it or prevent it from being stored at all (https://myactivity.google.com/myactivity). Microsoft was the first big company to challenge the US government when it tried to use a court order to gain access to data stored outside the US.
> Google is very very large and very (for a web tech company) old. It has a lot of internal technology that's not available elsewhere and it's built to make it easy to build extremely large systems.
Please don't read this and get the impression that we have a lot of legacy code that just sits around. Our systems have a tendency to turn over very quickly, to the point where we joke that all infrastructure systems are either "beta" or "deprecated."
And if the manager accepts you there can still be costs. Most notably it can put you behind in your performance review cycle. This becomes a much bigger deal as your level increases because the timespan between promotions increases.
I have a lot of friends that work for Google and it's usually years between when they change teams. And when they do, it's a big deal that they think about for a long time.
You meant, Google and Facebook are into the open floor plan thing?
...like perhaps the people going into software development/engineering are more extroverted now than they were in the past (that is, they constitute a larger percentage of total applicants)? Could it be that the concept of a software developer as being the "overweight nerd in the corner" (or whatever pejorative view you want to subscribe to) is no longer the case?
There seems like there should be evidence for it. I know that with there being a larger international base for software engineers, those cultures don't seem to have a many into the field that are introverts vs extroverts (I could be wrong there). Also, since the field became known as a way to make a lot of money fast, there are also likely fewer introverts making up the total population (whereas in the past they might be a greater proportion of the whole). Also - I've noticed that there are more than a few people in software development who espouse and live a "healthier" lifestyle - going to the gym, exercising more, and other outdoor activities - things that in the past would be looked upon as "jock activities" - but this might be a conflation between the first two possibilities. I'm sure there are other reasons as well.
...and so, to cater to the new crowd (and because they may also be demanding it from employers - as employee or potentials), the employers are opening up their work area. That it saves them money and other factors may just be the icing on the cake so-to-speak, and not the driving reason(s).
The downside is that it leaves the introverts feeling that the workplace is being hostile to them, and either decline to join such companies, or move on from such places rather than stay. Because why would an introvert stay in such a "hell", as you put it?
Your other stuff about introverts vs. extroverts made sense, but then you got here, which makes no sense at all. Exercising and doing outdoor activities aren't the domain of extroverts, in fact outdoor stuff can be seen as an introvert's passion because it lets them get away from people. I'm rather introverted and I love outdoor activities like hiking; I'm very happy on hiking trails when there's absolutely no one else out there with me.
The "healthier lifestyle" thing is just a general societal trend. People in general are more worried about this, and outdoor activities like hiking are much more popular now than they were ~50 years ago. It's not an introvert vs. extrovert issue.
>The downside is that it leaves the introverts feeling that the workplace is being hostile to them
That's not a feeling, that's a fact. These workplaces are hostile and toxic.
I've run every day for years and am a musician but neither makes me want to compromise my high-focus responsibilities with distraction. That's not to say that others don't find it somehow (shudder) energizing.
Personally I have had the choice and have avoided it but never had to transition an existing job from office or even cubicle. From what I've seen of the new MS offices, as expensively pretty as they are, I'd be looking for another position internally or otherwise. I can't imagine that others there haven't done so - though maybe Amazon is bad enough to keep them at Azure.
There are gradations of this too. My spouse, a stone introvert, works in a mostly open environment - very low dividers - being remodeled to full open, no hiding. Her group, including the extroverts, managed to fight off the change in their area as destructive distraction. But they're policy people, not developers.
There's also a vast range of engineering projects, from VR through video, mobile apps, machine learning, compilers and programming languages, operating systems, on to data centers.
Updated my comment to reflect this better. I was just looking at the jobs site earlier and didn't see much in Europe outside London. Wasn't looking at the US.
I'm not the biggest fan of everything FB does, but you're basically wrecking someone else's sincere "Ask HN" post here.
The question isn't asked in good faith, so it doesn't deserve a good faith answer. The account was also created just to make that post. And yet it was upvoted by the community. And that speaks poorly of said community's ability to have a good faith conversation on the topic too.
For better or worse, this isn't a place that this conversation can happen productively, so it doesn't. There was a time that I and others would have happily had this conversation on HN but the community has changed quite a bit from then till now.
That Facebook's primary incentive is to create as much detailed information about the individual as possible, in order to broker that information to advertisers and surveillance regimes?
I think you just don't want to have that conversation :-)
Yes, I created this account to post as I never had one before. One post has to be the first. How long should I wait before I'm allowed to ask critial questions related to Facebook? You attacking the HN community for upvoting my post and using this as a reason to close the whole conversation down is simply amazing.
Facebook is far from being the first company to have these criticisms leveled at them, and it won't be the last.
There are people who work at Facebook and Google who care about having a free and open web. That's how you get the Open Graph Protocol, Download Your Info, GMail Email Markup, and Google Takeout.
But living in a free and open web is really something only hetero white men can do. Virtually anyone else (women, lesbian/gay/bi/trans, ethnic minorities) needs tools to protect their privacy and manage/block/prevent harassment at scale.
Ads are a way of paying engineers' salaries. Many ads suck, and one way to help make the world a better place is to work on weeding out the bad ones (the ones that install malware) or making it easier to create good ones. The good ads are the ones that are relevant, that inform, entertain, and make you feel good. Heck, I'd argue that half the articles on the front page of HN on any given day are native ads that serve this purpose.
Good answer about ads though. And working in this business seems more morally defensible than working in the defence sector, although the more you think about it the less that holds up. (and Google is definitely not Facebook, which works to normalize the panopticon existence)
It's not by developing this kind of software you support the capitalization of internet but by using it.
Makers are not necessarily users.
I'm not saying FB is inherently evil, or that it's immoral to work there. Just pointing out the similarity in your specific base of argument.
Someone didn't get the call back from FB recruiters.
But really, bringing this kind of vitriol to an Ask HN is counter productive
While I stammered and tried to think of the appropriate reply, she started clucking at me like a chicken and chased me out of the restaurant. Before I reached the parking lot, she put an empty burrito wrapper into my hand and said "I got this free at Facebook," with a smile and a wink, and I never saw her again after that.
You my friend, have won the internet for today!