11 ms·
Ask HN: What’s it like working at Facebook as a Software Engineer?
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)?
- matheweis 10y agoOn 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. :-)
- ofiner2 10y agoIt'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"
- matchagaucho 10y agoFB 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).
- brettproctor 10y agoI'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.
- ha470 10y agoMaybe 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.
- harry8 10y agoI 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. https://www.jwz.org/blog/2016/11/facebook-still-literally-the-worst/ https://www.jwz.org/blog/2016/11/facebook-still-literally-th... More from him here: https://www.jwz.org/blog/?s=facebook+the+worst https://www.jwz.org/blog/?s=facebook+the+worst
- matheweis 10y agoAlmost downvoted, then realized this really was jwz... definitely the right place to go if you want a strong opinion. 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...)
- electricEmu 10y agoNote that direct linking to that site from HN yields some interesting redirection logic.
- harry8 10y agoHilarious redirect. Didn't know that would happen, love it! Yeah cut and paste those links if you want them.
- lloydde 10y agoHere I thought it was also on topic as jwz's views regarding FB.
- adtac 10y agoIt's hilarious that he has a "Like" button in the upper right corner embedded on every post.
- vinhboy 10y agoSo whats his beef with FB? And HN? outoftheloop
- mjeremy575 10y agochetre
- lbrandy 10y agoWell, 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.
- evincarofautumn 10y agoYup, sounds like a regular Wednesday in infra. 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.
- patmcguire 10y agoWhat does it for code to be approved at FB? Who can approve?
- lbrandy 10y agoAll 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.
- sethammons 10y agoIt 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.
- khazhou 10y agoThis 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.
- HeavenBanned 10y ago?
- synicalx 10y agoI went from thinking that was real, to fake, then back to real, then fake again and now I'm confused and just want a drink.
- lucaspiller 10y agoAnd a free burrito...
- synicalx 10y agoActually yeah, could definitely go a burrito
- aarongeisler 10y agoI'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.
- Veratyr 10y ago> 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 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.
- ma2rten 10y agoThis previous thread may be of interest to you: https://news.ycombinator.com/item?id=13316462 https://news.ycombinator.com/item?id=13316462
- raizu 10y agoI 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?
- tasuki 10y agoAll three questions you pose are loaded questions.
- deleted 10y ago[deleted]
- hnarn 10y agoHave you stopped beating your wife?
- lnalx 10y agoI 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. Makers are not necessarily users.
- mathgeek 10y agoIt'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.
- ionised 10y ago“It is difficult to get a man to understand something, when his salary depends on his not understanding it.”
- pinewurst 10y agoCan you get a job at Facebook without a Facebook account? Serious question.
- chrisper 10y agoI don't think so. You need a Facebook account to apply online.
- afpx 10y agoDo the interviewers view your FB account before an interview? Seems legally risky because of the potentially sensitive information (i.e. family, children, health, etc.).
- lbrandy 10y agoNo.
- smashingx 10y agoyou are concerned about interviewers seeing you account when there are millions of people that who knows who they are that can see you FB profile?
- tekknolagi 10y agoAbsolutely not. I asked this when I started and it's 100% not allowed.
- deleted 10y ago[deleted]
- pinewurst 10y agoGoing to their careers page and picking a position lets you apply via form sans FB account.
- chrisper 10y agoOkay I did not know this. I thought it was connected to the FB account, just like how AirBnB and Dropbox require an account.
- hkarthik 10y agoI 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.
- ljk 10y ago> Titles are hidden so you can walk into a room and be talking to a Director and have no idea. what does "Titles are hidden" mean exactly?
- tekknolagi 10y agoI am an intern but I work on Reason (https://github.com/facebook/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.
- cierra 10y agoAs 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.
- denvercoder904 10y agoI wouldn't know. I applied online but never heard back from them :-(
- cierra 10y agoI'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.
- sophiebits 10y agoAs 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.