Also, does anyone know of any better companies or how Facebook compares to other companies (as far as interesting projects, culture, work/life balance, etc)?
I'm a former facebook employee (just created a new HN account so I can speak freely).
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.
As a current member of that group, I can say that it's relatively low-traffic and hasn't even had a post in the last two months. I don't expect that any of the comments on this post are PR-endorsed; rather I expect you'd be discouraged from commenting at all if you asked. I do enjoy working at Facebook though.
Well, let's see. Today I worked 8:30 to 5:30 or so. I spent some time cleaning out emails. I did two interviews (which is unusual). I reviewed several changes to central C++ libraries in the codebase. I spent awhile with some people debating how to improve our ability to turn on new compiler warnings (or other diagnostics) on a huge codebase and get them all fixed so we can eventually add them to -Werror. I looked at some crash monitoring and debugged a core dump. I committed one small fix of a crash. I read reddit for no more than 15 minutes. I had a free burrito for lunch.
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.
> 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?
All code needs to be reviewed and approved. The official technical rule is something along the lines of anyone can approve anyone else's change (to anything) so long as they both aren't interns.
Socially, it ends up being more like "someone who maintains and cares about this code should approve it" almost all of the time.
Not sure how it is on the prod side, but certain chunks of infra may also have designated "owners" and you needed to have someone on that list approve the diff to land it (e.g. rando engineer can't get his buddy to approve a diff that changes the push process...unless that buddy is chuckr or someone more heavily armed than chuckr)
So never needed to "invert a binary tree" on the actual job? :)
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?
I work with a lot of ex-Facebook folks. In general, they speak highly of it.
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.
Maybe check on Glassdoor? Unsure now, but when I worked there (~2015) teams had a lot of autonomy to do what they felt was right, projects (while choices were sparse in remote offices) were varied and you could choose teams based on what you enjoyed. Work/life balance wasn't awful depending on the team. During crunch-time on a project you're expected to grind but I don't think I often put in a ton of time over 40 hrs/week.
As far as my thoughts on Facebook engineering go, your experience will depend heavily on what group you join. It's very difficult to give a single description of life at facebook as it varies so much throughout the company. You'll find differences in work hours, independence, project difficulty, prestige, opportunities for advancement, and the kinds of people in those teams. For me personally, there were plenty of groups with projects that interest me. But there are also many more groups that I wouldn't enjoy.
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.
On a slight tangent, for those from FB who bump across this thread, I'd also be interested in hearing perspectives on the Production Engineering side of the house. :-)
I've been a PE@FB for 5.5 years now. Still enjoying every day.
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.
FB is one of the few places where SRE is actually an "Engineer". Very challenging. One of the top 3 SREs orgs in the world IMO (along with Google and AWS).
It's the best! As a previous SRE from Google the way FB does Production Engineering is really great. They have less of a barrier between software engineers and production engineers, where it's more about collaboration / knowledge sharing than "oh no this is SRE work"
I am an intern but I work on Reason (https://github.com/facebook/reason/) and love it. The project is interesting, the people are smart and friendly, and the work culture is great. I far enjoy my project here than at two past internships; Facebook actually let me choose what I wanted to work on. Work/life balance is roughly the same as my past internship, but definitely not as hectic as Uber.
As far as perks go, I think the food and bike are tied in 1st place.
You can create one that you only use for work, but having an account (even if it's just a blank one) is kind of necessary. Edit: I don't know if you need one to apply, just to work
Do the interviewers view your FB account before an interview? Seems legally risky because of the potentially sensitive information (i.e. family, children, health, etc.).
I don't have much of a view on it. I don't have a facebook account and don't work there. Just noting there are those with strong opinions on whether one should work there at all which is another dimension worth considering. Read and decide for yourself.
He's a cranky old unix dude who wrote one of the first major cross-platform web browsers (his old blog has plenty of great rants about platform-specific unix fuckery in the 90s), then cashed out and now sells beer to clubgoers in SF (after a not-so-brief tango with the SF and CA local governments during the renovation and relicensing of his club). If that plot arc doesn't yield a severely cranky and antisocial person, nothing will.
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.
Netscape. I hope that's not a name that's fallen out of public memory. Not that he was the only person by a long shot, but he was a minor celebrity at the time.
He also has the same general profile as Richard Stallman: strident about seemingly trivial things that in retrospect were clearly big deals.
I've been working at Oculus (within Facebook) for a couple of months now - I'm enjoying it quite a bit. I worked at startups previously and my work / life balance is much better now. My projects have been interesting as well.
> Also, does anyone know of any better companies or how Facebook compares to other companies (as far as interesting projects, culture, work/life balance, etc)?
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.
As someone who works for Google (but is expressing his own opinion), most of what you're saying about Google seems reasonably accurate. One note:
> 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."
Yeah, I didn't mean it like that. From what I know, it's more of a "look at this enormous library of knowledge and premade tools I can use instead of doing it myself" kind of old than "look at this steaming pile of plop that hasn't been touched in years" kind of old.
"A standard engineer at Google can work on Android, transfer to YouTube, then decide they'd like to work on Google Flights or Cloud" - this is more true in theory than practice. In practice you're beholden to the perf cycle, and the other team's manager. i.e. you can't just decide to move to a team and that's it. You still have to "apply" and get interviewed by that team. For instance, it's not like you can just move from the Angular team to the Google Brain team - otherwise there would be a lot more people on the Google Brain team :)
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.
People at Microsoft (Redmond) traditionally had offices but they're aggressively redoing buildings into open plan introvert hells. The Azure buildings are just about done but don't know who's scheduled next.
It makes me wonder why more companies (especially the large ones that attract dev talent) are doing this. I've read studies and articles detailing what seem like likely explanations, but I wonder if maybe it is something else?
...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?
>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"
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 think it's a trend like any other - I saw the beginnings back in the Internet boom and now the corporate laggards are getting to it. It's unclear whether it will be enduring.
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.
Facebook has large engineering offices in New York, Seattle, London, and Tel Aviv, and smaller presences in Boston and Dublin.
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.
> Facebook has large engineering offices in New York, Seattle, London, and Tel Aviv, and smaller presences in Boston and Dublin.
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 also have some questions to Facebook engineers. How do you feel about working on something that is destroying the free and open Web? How do you find satisfaction in developing a virtual cage for humanity? Do you ever become depressed when
thinking about that you are using your best years, working at an extremely unethical company whose only purpose is to tricking people into clicking on ads?
Not only is this not really an appropriate response for the topic, but I'd imagine its presence will also make FB employees feel unwelcome and less like answering the OP's question.
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.
What is this mythical "appropriate conversation" you are alluding to?
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 :-)
I am not a huge fan of Fb or other soc media, but I consider this data mining era as unavoidable and from other hand, some day all that info might even help humanity (or damage it, of course). So, we can consider this power as a Pandora's box and I am pretty happy that it is only there in FB (well, and Google, Microsoft, etc.) and i am pretty sure you, as well as many others would like to open that box and see inside. Good is that you, or me, or anyone else cant do that. Good is that if something will go very wrong, we will know who to blame. But nothing will go wrong as long as bad guys (who afraid surveillance) does not have a chance to touch that box.
Eh? No comprendo! Nothing is unavoidable. If you really are from Lithuania you should go and ask some older people what they think about personal data collection. Having lived under USSR I'm very sure that they don't like that, as they have seen it can suddenly be used against them.
Ah, you must be part of the Facebook 'Humanize' group managing my controversial post. Think about it, it's actually scary as hell a internal group like that exist. It's like something in Scientology. Thanks to the former employee telling about this in another post.
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.
Your comments in this thread have been breaking the HN guidelines. We ban accounts that do that, so please read and follow them when commenting here. That means posting civilly and substantively, or not at all.
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.
I don't understand how your response addresses the question asked. I don't understand your hetero white men comment either. I would argue that Facebook and its ilk are destroying the ability to keep a private life (nevermind "harassment at scale"), and that's uniformly true for minorities as well as majorities.
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)
I support FOSS initiative and open web but as a software engineer, working for company like FB is pretty challenging.
It's exciting to work on a software used by billion of user, you learn a lot, you cannot argue against that.
It's not by developing this kind of software you support the capitalization of internet but by using it.
It's a loaded question, sure, but let me play devil's advocate here for a sec. You're basically using the same argument that NSA engineers use to validate the creation of spy software.
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.
I don't think that applies. There is been ethical questionability in almost every company. If not their business model then some of their actions. "It's just business" is the mantra. I think most people are smart enough to understand even if they are taking a salary from the company.
It sounds like you feel FB is the king of companies to work for; why is that? I've no experience working there; however I would consider my work place to be among the best places to work. I'm sure others on HN work at amazing places too.
This reminds me of this time I went to Olive Garden, and asked how the penne bolognese is, and the waitress said "It sounds like you feel penne bolognese is the king of pastas to eat; why is that?" Before I had a chance to answer, she continued, "I've no experience eating pasta bolognese; however I would consider my own fettucine alfredo to the among the best pastas to eat. I'm sure others have eaten amazing pasta too."
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.
Well played. As you point out, my comment did not add much. Re-reading the original question, I see where I went wrong. I took it as the op looking for places that have great work life balance, awesome projects, and such (which I thought many HNers can likely boast about) and limiting the response to Facebook. Reading again, I see they want a compare and contrast with Facebook or folks to just give their impressions of working there. My bad.
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.