5 ms·
In my experience working at Facebook, not a single thing you said was true. People plan and think before they code. People are rewarded for impact, not for la
by a13n 7y ago
In my experience working at Facebook, not a single thing you said was true.
People plan and think before they code.
People are rewarded for impact, not for landing useless code.
Code is carefully designed and tested, or it doesn't land.
Impact rules all, not velocity.
- notacoward 7y ago> In my experience working at Facebook, not a single thing you said was true. Well good for you. Either one of us has had an anomalous experience, or... > People plan and think before they code. "Planning and thinking" != design process. Of course people plan and think. I plan and think before I go to the grocery or hardware store. Of course it's only for a moment, and the typical process I've seen at FB is a lot closer to that than to the design processes I've seen elsewhere in nearly thirty years producing software. > People are rewarded for impact, not for landing useless code. Again, you're playing extremes against the middle to paint a picture more favorable than accurate. Very little code is totally useless. However, I've seen plenty of "impact" awarded for code that made a very tiny increment in functionality, far outweighed by the missing/misleading metrics or spurious alarms or outright bugs in something even the author knows will be replaced next half. Every day I encounter stuff that's broken as a result. This morning it was a distcc script that nuked a build, because someone's desperate to get their impact in before the end of the half. I can't count the number of times I've followed the trail back from an incident to a diff with "test in prod LOL" or some such for its test plan. So "carefully designed and tested" just isn't true in general. The common case is very far from that.
- a13n 7y agoYeah. I worked in infra, so it could also be the difference between working on infra (where stability is valued) and working on product (where shipping fast is valued). When it comes to software design though, the design of your infra is what matters most, since everything else is built on top of it.
- notacoward 7y agoI work in infra too (storage) so that's the majority of what I see. If all that PHP/JS stuff on the front end is worse I kind of don't even want to know about it. ;)
- omarchowdhury 7y agoWhat are some critical parts of Facebook written in PHP, if you know?
- dymk 7y agoThe entire web fronted, and most site “business logic” is implemented in Hack (sort of PHP, statically typed)
- julienreszka 7y ago"Hack" correct name
- talonx 7y agoIf these principles are followed throughout the engineering org, can you explain how the recent reports of password and other information being stored in plaintext happened? That is Security 101. Genuinely curious.
- jeremyjh 7y agoI don't work at Facebook but my understanding is passwords were not stored in a database in plaintext, but there was verbose logging of web requests that were not sanitized. Sanitizing logs is definitely common sense and a basic security practice, but it can be difficult to be sure you are doing it adequately without good tooling to monitor it.
- a13n 7y agoNo idea haven't worked at Facebook for over four years