
Ask HN: What’s it like working at Facebook as a Software Engineer? - baccheion
Also, does anyone know of any better companies or how Facebook compares to other companies (as far as interesting projects, culture, work&#x2F;life balance, etc)?
======
cierra
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.

~~~
sophiebits
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.

------
lbrandy
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.

~~~
evincarofautumn
Yup, 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.

~~~
dandr01d
> 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?

~~~
tru3n0rth
He/she is saying that the flow is better at Facebook than Microsoft.

------
hkarthik
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.

~~~
ljk
> _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?

------
ha470
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.

------
cierra
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.

------
matheweis
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. :-)

~~~
brettproctor
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.

------
tekknolagi
I 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.

------
pinewurst
Can you get a job at Facebook without a Facebook account? Serious question.

~~~
chrisper
I don't think so. You need a Facebook account to apply online.

~~~
afpx
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.).

~~~
tekknolagi
Absolutely not. I asked this when I started and it's 100% not allowed.

------
harry8
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.

[https://www.jwz.org/blog/2016/11/facebook-still-literally-
th...](https://www.jwz.org/blog/2016/11/facebook-still-literally-the-worst/)
More from him here:
[https://www.jwz.org/blog/?s=facebook+the+worst](https://www.jwz.org/blog/?s=facebook+the+worst)

~~~
electricEmu
Note that direct linking to that site from HN yields some interesting
redirection logic.

~~~
lloydde
Here I thought it was also on topic as jwz's views regarding FB.

~~~
adtac
It's hilarious that he has a "Like" button in the upper right corner embedded
on every post.

------
aarongeisler
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.

------
Veratyr
> 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.

~~~
zeusk
> \- Microsoft actually gives you an office. Microsoft and Facebook are into
> the open floor plan thing.

You meant, Google and Facebook are into the open floor plan thing?

~~~
pinewurst
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.

~~~
cr0sh
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?

~~~
Arizhel
>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.

------
ma2rten
This previous thread may be of interest to you:

[https://news.ycombinator.com/item?id=13316462](https://news.ycombinator.com/item?id=13316462)

------
denvercoder904
I wouldn't know. I applied online but never heard back from them :-(

------
raizu
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?

~~~
thenomad
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.

~~~
collyw
It would still be nice to hear Facebookers thoughts on this though.

~~~
lbrandy
Do you really want my thoughts?

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.

~~~
strgrd
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 :-)

~~~
LithuaniaFirst
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.

~~~
raizu
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.

------
sethammons
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.

~~~
khazhou
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.

~~~
synicalx
I 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
And a free burrito...

~~~
synicalx
Actually yeah, could definitely go a burrito

~~~
dllthomas
There's a "Facebook uses Haskell" \+ "monads are like burritos" joke here
somewhere, but I'm not finding it.

~~~
bbcbasic
Not just burritos. Free burritos. A la carte.. ok I'll stop.

~~~
dllthomas
Well done!

