Hey there! I have lot of experience programming but not a lot of CS theory and low level engineering behind it. I find things like HHVM to be really inspiring, and I'd love to one day contribute to such a project. My question is-- how can I cross over from a script kiddie on steroids to a software engineer? Is there any hope if I'm not doctorate track? I'd appreciate any open resources you provide. Thank you for your great work!
It takes all sorts! and the best way to prove your chops is to just jump. You can fork HHVM and start by picking up a few of the easier issues and working through them. Our engineers on that project are really friendly and helpful. What can I say... dive in! What is the worst that can happen?
For NoSQL data stores, there's a significant amount of debate over using HBase vs Cassandra. Many HBase advocates point to the fact that HBase is used at Fb over cassandra. Can you comment on HBase in FB's architecture and which features you prioritized the most, leading FB to use it?
I did not know about React. It looks to be like the solution I need for one of my personal projects. In your experience, how does a React code base evolve as it grows? I've bumped into other libraries and frameworks that look simple at first, but then evolve into a big mess.
I ventured into the careers area of the site. The computer vision engineering position caught my attention. Do you mind talking about what the position entails? The description is rather vague.
I use and contribute to React. By far the simplest (and I mean simpler than backbone) and cleanest js framework I've used. It's also used by Facebook, Instagram's whole website and Khan academy. Scalability is not a worry at all.
Same here, I like the look and sound of React and was not aware of it previously. The funky XML-like syntax seems appealing, but then, I thought that about Scala too and that didn't turn out super well for me.
If this is BS, then that relieves me. This is what a trustworthy acquaintance who is an engineer at Facebook told me. As onedev said below, all access is logged and changes can be rolled back. Engineers use live user data for their local development and testing. But maybe this level of access is limited to certain feature teams.
That's what a Facebook employee told me last month.
For similar stories: Katherine Losse, Facebook employee #51, wrote a biography [1] that includes details about early days when the master password was "Chuck Norris". And this 2010 interview [2] with an "anonymous Facebook employee" (for what that's worth :) also describes how engineers can access user data.
I've been given root access to a handful of internal servers as an intern at some companies in the past, but never database servers or production, customer-facing servers. That seems rather ridiculous.
If you set out to hire great engineers and have the resources and reputation, it can be done. Definitely a good choice over MBA types, but it seems to me that Facebook could stand to diversify their employees as Facebook is a mass market product and engineers often don't see the social world or the internet as the average person perceives it.
Could you guys open source the graph processing architecture, besides giraph, like unicorn or the technology behind the graph search, huh? come on, its christmas! :)
I remember looking at Phabricator for project management stuff, but felt that as a single freelance developer I wouldn't get enough out of it that would replace GitLab... What do you think? I'm going to have a play with it tomorrow to see what it's like.
I suppose if you wish to review your own code outside of opening files or through version control alone, it might be useful. That's its ultimate purpose (and facilitating code review in a collaborative way). I think it's a bit overkill for individual development though.
Engineers at Facebook must be in an interesting position. Working on interesting technical problems behind the controversial social network offering the only way they can make world a better place is by contributing their products to the open source community.
Looking at stuff my friends share, sharing stuff myself and engaging in banter in the comment thread on those items. No, it's generally not the stuff of the court of Sokrates, but definitely fun.