5 ms·
I also work at Facebook. These comments do not reflect any internal wisdom at Facebook. The article should probably be retitled "...from a junior front end engi
by madhadron 9y ago
I also work at Facebook. These comments do not reflect any internal wisdom at Facebook. The article should probably be retitled "...from a junior front end engineer."
Facebook uses Haskell internally for a handful of projects[0] and its C++ library, Folly[1], uses a lot of functional programming idioms (which are actually used extensively internally).
[0]: https://code.facebook.com/posts/745068642270222/fighting-spam-with-haskell/ https://code.facebook.com/posts/745068642270222/fighting-spa...
[1]: https://github.com/facebook/folly/tree/master/folly https://github.com/facebook/folly/tree/master/folly
- johnmyleswhite 9y agoChristopher Chedeau's original post clearly doesn't represent Facebook's official stance on functional programming (nor does it ever purport to do so from what I can see), but I'm not sure that describing him as "a junior front end engineer" is appropriate either.
- madhadron 9y ago> I'm not sure that describing him as "a junior front end engineer" is appropriate either. What else would you call someone five years out of college and working on the front end the whole time?
- true_religion 9y agoNot junior. They hate that since resume wise they have 9 years experience including school.
- magnito2123 9y agoThis goes into a bigger problem in the industry. I see people with inflated titles because they have X years of experience. But if you delve deeper, you will realize their knowledge of programming hasn't really improved in X-1 years. They were never curious enough to learn outside their comfort zone, like how a crawler works, how distributed transactions are handled, and why FP offers a different approach to programming. They are comfortable in their little dugout. They will ace the interviews because they remember all those algorithms by heart and know the right people. Its just a sad state of affairs. There are more qualified people out there that just don't have the same opportunities because they didn't start their careers at the "right" firm or go to the "right" school.
- kgraves 9y agoTo be honest, it's just the way it is and nobody wants to change it.
- thesmallestcat 9y agoA front end engineer.
- chatmasta 9y agoPretty sure he’s one of the original creators of react. Does that make him a junior engineer? You tell me.
- madhadron 9y agoI'd say yes, but I don't understand the enthusiasm around React. It solves a very specific problem for Facebook: it prevents the refresh rate of a page generated from many, independently developed pieces from getting clobbered by one misbehaving piece. If you don't have that problem, classic MVC or full FRP are preferable.
- chatmasta 9y agoRegardless of your personal thoughts, it’s one of the most widely adopted open source projects of all time. And yet you’re asserting that one of its original creators (to say nothing of his other projects) qualifies as no more than a junior engineer?
- madhadron 9y ago> it’s one of the most widely adopted open source projects of all time. Nope. The BSD network stack? The Linux kernel? Apache? React is part of the small, insular world of frontend development, where there are very few that aren't junior engineers. So, yes.
- chatmasta 9y agoDepends how you define "adopted." In this case I personally was defining it as how many people are touching the code. You seemed to define it as how many systems rely on the code. At the end of the day, we are all people using computers. We interact with code at all levels of the stack. In any given request cycle, a person is interacting with the hardware layer, application layer, operating system layer... and those of dozens of other external systems connected to the internet. Each layer, each system, is just as important as the others. Together they form the experience that is delivered to the user by the computer. So I don't think you can place a value on the "importance" of a piece of software; all software should be created equal, so to speak. Therefore you cannot evaluate the "adoption" of a piece of software based on some multiple of its importance. You can only rely on the number of people that touch that software as an indicator of how many other people, or systems, might rely on it. If many people, and therefore systems, rely on a piece of software, then I would consider it "widely adopted." Software has developers and consumers. Both are important. React, Linux, BSD, Apache... they are all software projects. You cannot compare them based solely on what type of software they are. You need to look at the codependencies they create and the value they provide. Their value comes from the product that developers create, and consumers use. Their codependencies arrive when the consumers are also developers, who incorporate the code into their own project with its own consumer users. Software with developer consumers is not necessarily more important than software with end user consumers. Neither can exist without the other. So I guess I'm saying it was presumptuous of me to describe react with the superlative of "most widely adopted" software project (of all time), but I would put it in a class parallel to that of those projects you mentioned. Really, in one class -- software.
- WhitneyLand 9y agoWhen I first came out of school and resented such condescension, I wondered if it was something that would seem more acceptable later in my career, instead it now only seems more clear. Meritocracy is one of the things that makes our field special. Its not perfect, we have our biases, but wearing shorts or tennis shoes to work is not a statement of rebels. It’s a statement, in my view, about less respect for formalities and most respect for people who think, do, innovate, and advanced the state of something. Those people, a lot of times they are the senior and experienced ones, but it’s really not much of a surprise when their not.
- IncRnd 9y agoI welcome madhadron's clarification as to the provenance of this advice.
- yawaramin 9y agoNot to mention, OCaml in a bunch of places. Most significantly, the Messenger.com frontend codebase is about half OCaml and their bug reports dropped significantly since the conversion.
- cies 9y agoWith the ReasonML syntax and tooling :) https://reasonml.github.io https://reasonml.github.io
- vjeux 9y agoHey, I'm sorry I misrepresented Facebook here. This was a small rant I did in response to a comment on my latest blog post. This is not extremely well thought out.
- stablemap 9y agoIt was the submitter who invoked Facebook.
- dbnoch 9y agoIMO don't apologize. OPs comment is meant to discredit you and is rude for someone WHO WORKS AT THE SAME COMPANY. There is a larger issue where the use of "junior front end engineer" means "Don't take this persons opinion seriously". Your are 1. an engineer 2. work at Facebook. There are far better ways to say "there are other opinions at our company too"
- camus2 9y agoDon't apologize, you have the right to have an opinion. What is not normal here is people attacking you on that very thread for your seniority (or lack there of), this is absolutely shameful. Bon courage, tu n'as rien fait de mal. Je pense que ce genre de "rant" est mieux adapté à un blog ou il est clair que c'est juste ton opinion et pas celle de l'employeur.
- d0m 9y agoI didn't even know you were at Facebook, it wasn't mentioned in the gist so I don't think it's fair to say you've misrepresented Facebook.
- detaro 9y agoThe submitter originally added that to the title, it was removed later.
- ConAntonakos 9y agoDo not apologize. You did nothing wrong. You explored your curiosities and are learning like everyone else.
- WhitneyLand 9y agoIt shouldn’t read junior engineer, it should read one engineer’s opinion. It’s your argument that’s weak, if you must resort to using his rank as a point of persuasion.
- deleted 9y ago[deleted]