8 ms·
I'm biased, but I'd say out of all the "big" tech companies, FB has the best engineering culture. * With few exceptions, engineers aren't hired for a specific
by United857 10y ago
I'm biased, but I'd say out of all the "big" tech companies, FB has the best engineering culture.
* With few exceptions, engineers aren't hired for a specific team; they go through bootcamp where they get exposure to all parts of the stack and tasks from different teams.
* Ideas usually come from engineers. Managers are there to be a sounding board/connect you with people resources as needed.
* Moving fast is valued (we used to be famously known for "move fast and break things" but now it's "move fast with stable infra". I.e., our dev infra is developed with a eye towards enabling rapid iteration.)
* Lots of internal knowledge sharing.
* Scale. Probably only Google, MS, Amazon come close.
* With only very few exceptions, every engineer has access to the near-entirety of source code at FB (Oculus, Whatsapp, Instagram...).
* Internal mobility is quite straightforward; after a year you can generally transfer to teams with available headcount without a formal set of interviews.
Of course, it's not everyone's cup of tea and like any big company it's not always 100% perfect and we don't always live up to this in every circumstance, but in general this is what it's like and what we're aiming for.
- newscracker 10y ago> * With only very few exceptions, every engineer has access to the near-entirety of source code at FB (Oculus, Whatsapp, Instagram...). Sorry, this could be slightly off topic for this thread. I'm curious if this kind of access also applies to all the data that users put up on the platforms? To put it in other words, how does FB prevent or work to prevent LOVINT [1] like cases? If it's the same kind of access, wouldn't working in the company make the employee uncomfortable that there are people who can look at all information? [1]: https://www.washingtonpost.com/news/the-switch/wp/2013/08/24/loveint-when-nsa-officers-use-their-spying-power-on-love-interests/ https://www.washingtonpost.com/news/the-switch/wp/2013/08/24... P.S./disclaimer: I personally dislike FB as a platform and as a company for privacy and other policy reasons I don't agree with (like "authentic names", for one). So my bias may be showing in my question, although it's intended to know more and not meant as an attack.
- plandis 10y agoWhy do you think that having access to source code implies having access to customer data?
- newscracker 10y agoI do not think that, but am curious to know since the GP seemed to know about how FB works internally.
- bluebknight 10y agoIt sounds like a great place to work at. Kinda sucks that, they only interview new grads from top schools unlike the other Big 4.
- gabipurcaru 10y agoNot true. I've interned three times at FB and will join full time, and I'm from a Romanian university that is nowhere near "top".
- praneshp 10y agoDefinitely wrong. My wife recently interviewed there, not from a top 50 university
- ggregoire 10y agoI'm quite sure it's not true. There are at least 2 engineers from the React team who have dropped out of "normal" schools/colleges in their first years.
- Bahamut 10y agoI've interviewed at Facebook 2 1/2 years into my career and have an open invitation to interview whenever I want without having gone to a tier 1 university for undergrad or grad (although I went to a prestigious program for grad math, UIUC) - my education turns out to be a poor indicator of what I can do. A caveat is that I originally entered FB's pipeline through a referral from a friend who interned and works at FB right out of CMU computer engineering. Referrals are often enough at these big tech companies.
- sjtgraham 10y ago> * With only very few exceptions, every engineer has access to the near-entirety of source code at FB (Oculus, Whatsapp, Instagram...). What are the exceptions?
- danpalmer 10y agoI think the author meant that the exceptions were Oculus, WhatsApp and Instagram. This would make sense given that they are acquisitions and appear to have separate offices, deployments, datacenters, etc in some cases.
- traviscj 10y agoData point: I read it the other way, that all employees could look at all of those things, and that the exceptions were un-named. I'd imagine the exceptions are some small black boxes that try to catch abuse/spam/etc in various ways & places, or are closed off to prevent a code leak from exploiting a loophole in said software. Defense in depth, and all...
- United857 10y agoYeah, that's what I meant. In general, Whatsapp/Oculus/Instagram source code is accessible (at least read access). For the most part, the exceptions are acquisitions (but those get integrated eventually, see above) or some third-party IP subject to obligations.
- akerro 10y agoI think Facebook has very poor engineering culture. They built their iOS app with 18k classes, then claim that iOS and Git can't handle their 'scale'. Let's avoid putting here obvious companies and companies who over-engineer, maybe? http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so http://quellish.tumblr.com/post/126712999812/how-on-earth-th... https://www.reddit.com/r/programming/comments/3m5n2n/facebook_engineer_ios_cant_handle_our_scale/ https://www.reddit.com/r/programming/comments/3m5n2n/faceboo...
- treehau5 10y agoThe first tumblr link at the bottom in the comments linked me to FizzBuzz Enterprise Edition https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
- danpalmer 10y agoI've spoken to Facebook engineers who work on their internal source control systems, and it was pretty obvious from talking to them that Git wouldn't work for their purposes. There is plenty of writing about this topic that explains in some detail why Git is unsuitable, and why Mercurial was a better option for them. As for the 18k classes in their iOS app, I don't see why this is a sign of bad engineering? I'd expect that a large number of these are auto-generated, for example from Thrift API definitions, and I'd also expect that what we see as users is the tip of the iceberg in terms of the code needed. There's obviously a lot of analytics code, and also I'd expect the resiliency and reliability needed requires much more code than we'd expect.
- mattmanser 10y agoIt's nothing more complex than 100,000s of other apps out there. Yet somehow they managed to create 18k classes? Scale is handled at the back-end.
- throwaway698769 10y agoYou are completely right. As a small-company person who migrated a few years ago to one of the Big Four, I can confirm that almost every time someone tells you about "scale" they are bullshitting you. Most developers on those companies either do not deal with scale at all (anyone dealing with front end stuff) or do so by using abstractions which allow them to ignore scale (99% of developers). But scale sounds sexy so everybody pretends they have something to do with it. And it sounds better than "bloat" which is what they really mean. The other variant of "scale" is "I have this single-computer application running on X hundred thousand servers" or some ambarrasingly parallel problem of that sort. Then they will claim boldly that something that has a 0,0001% chance of happening "happens multiple times a day here" which sounds impressive until you realize that that thing has no impact on the SLA and you get saved by the load balancer so it isn't particularly important anyway. The 1% of people who work on real problems in the area don't need to brag on the Internet about "scale" because they are too busy working.
- taway_1212 10y ago> With few exceptions, engineers aren't hired for a specific team; they go through bootcamp where they get exposure to all parts of the stack and tasks from different teams. How is that good? You essentially don't know what you sign up for.
- deleted 10y ago[deleted]
- jabagonuts 10y agoI'm assuming that after the bootcamp they would put you on a team based on your interests and aptitudes. For me, having a choice - or at least feeling like I have a choice - over teams and projects is empowering and exciting.
- taway_1212 10y agoIn other companies, you have that choice during recruitment. Here, you need to basically trust that they won't screw you over ("Look, it turns out that the only opening we have that matches your skills is maintaining this internal CRUD app for HR - but no worries, stick with it for a year and maybe something better comes along!").
- kj01a 10y agoBut that would be evidence of a bad engineering culture. Which is United has said is not true. So we can probably assume they meant FB's bootcamp is more about placing their engineers on teams they would enjoy and are good at, most of the time.
- driverdan 10y agoExactly! The people you work with are far more important than the tech.
- greenspot 10y agoI agree about Facebook. They must have a great culture. Look what FB did for the JS ecosystem just recently—yarn, React, React Native, Immutable. Really excellent stuff which you not only need superb people but also a good culture. So, I'd say that excellent products, both the commercial ones but also open source, are a good indicator for 'culture'.
- criddell 10y agoI don't think I could work in an open plan office. I just can't concentrate well enough to do really good work in an environment like that.
- badthingfactory 10y agoHaving worked in a bullpen style office (I now work from home), it wasn't the open floor plan that was a problem, it was the number of people management crammed into that open floor plan that became problematic. At one point, we had completely outgrown our space and we were constantly tripping over one another. It was miserable and everyone was constantly sick. Eventually, we got more real estate and everyone was happy, more productive, and less ill. As long as you have the real estate, open floor plans are nice and help you feel less imprisoned than cubicles imo.
- criddell 10y agoOh, cubicles suck too. I prefer an office with a door.
- DashRattlesnake 10y ago> and help you feel less imprisoned than cubicles imo. That's not help. I don't feel imprisoned in a cubicle. I like walls, the taller the better. I'm currently in a short-wall cubicle farm where we have enough space to not to all get sick, and even there the cross-talk from multiple conversations can be completely distracting. While management/facilities ignorance can definitely make open plan offices worse, I think they're still not for everyone. Some people seem to not mind being distracted, other people are really sensitive to it.
- ma2rten 10y agoAll these things also apply to Google, except: * you decide on a team before you start, but after you know you passed the interview * moving fast is not valued as much I would also add that Facebook uses a lot of Open Source, meaning your experience will be applicable elsewhere. Here are some potential advantages about working at Google: * Being ethical is a core value of the company. * Google/Alphabet is more diverse (Search, YouTube, Android, Hardware, DeepMind, Waymo ...) and has more offices worldwide. * It has an advantage in Machine Learning and Research. Google even has an internal research conference. * Google even has it's own incubator for entrepreneurial employees (Area 120). * Google is trying hard to make it's hiring and promotion process objective and unbiased. That's why they happen by a commission of peers.
- Insanity 10y agoBeing ethical? Maybe the engineers need to have some ethics but not all products do.
- ma2rten 10y agoI am assuming you are talking about privacy issues. Google collects a lot of data, but is very thoughtful about how they use it, who has access to it and gives users options to view and delete it.
- Insanity 10y agoThat is what I was referring to. They take measures like you said, but do non-technical people even know about it? It is not advertised as far as I know.
- blakeyrat 10y agoNobody who's been a victim of ContentID scammers (basically, 80% of YouTube Creators) would never say Google is "ethical".
- V-2 10y ago"Being ethical is a core value of the company." How does it make them stand out? What does it translate to in practice?
- deleted 10y ago[deleted]
- jansanchez 10y agoHow is the work/life balance at Facebook?
- deleted 10y ago[deleted]
- lingua_franca 10y agoFB's culture is ... immature. That's the best way I can put it.