At Facebook, our engineers collaborate to create an open environment where ideas win and are executed quickly. Each week, our engineers will give you a look into what it’s like to ideate and build at Facebook in our new “Meet a Facebook Engineer” Q&A series. Check back weekly to hear from different engineers about what problems they’re passionate about solving right now, what they’re up to at Facebook and what advice they have for you.
Q: What project are you most proud of since joining Facebook?
A: The first would have to be Facebook Chat—it was a really a bold idea at the time. Although we realized your friends on Facebook are probably the people you want to chat with most, Facebook had not been designed to be a real-time chat system. But, when a few engineers created a Chat prototype at a Hackathon, we saw that there really could be a good, scalable way to get it on the site.
Not long after the Hackathon prototype was shared, we formed a small team to make this a real thing and were off to the races. We got a designer and a PM on board, and six to seven months later we were launching Facebook Chat to the entire world. Soon we were watching our graphs go to a billion chat messages a day and then two billion chat messages a day, meanwhile fighting fires and fixing the bugs you’d expect with a new, swiftly rolled-out product all throughout the night. The process of building Chat was just a very typical, awesome example of working at Facebook.
Q: What do you value most about Facebook’s development process?
A: The product discovery and ideation process is very unstructured here—there’s not much worrying about “we need to have a road map in place by now” or “we need to know exactly how long something is going to take.” This kind of process enables new and unexpected projects like Chat to bubble up. It’s also really cool that there aren’t really any restrictions on what assumptions you can challenge. For example, if you’re on the Events team and that thinking leads you to a conclusion that we need to completely rethink Pages, that’s totally fine. It happens all the time. And we have to think that way, given the integrated nature of our products.
Q: What problem are you most passionate about solving right now?
A: I’m really excited about stepping back and looking at all the information that’s flowing through Facebook and asking, “If we were building this again from scratch, what would it look like?” We have News Feed, notifications, inbox, Chat, friend requests—all of which are just information flowing through Facebook. I think they’ve evolved over time in very reasonable ways, but they’re not necessarily all working together to make consuming and interacting with the information as efficient as possible. So, from a product perspective, I’m excited to contribute to the process of constantly rethinking that.
Q: What about the work you do here is meaningful?
A: What I get most excited about now is the product itself, what it’s doing for the world, and the potential that we’re not realizing yet. Given all the information that people are sharing online now and all the info they’ll be sharing online a year from now or five years from now, we have this amazing opportunity and responsibility to make Facebook the most effective and useful tool for that sharing. It’s pretty exciting to not only be able to ask these questions every day, but to also be forced to ask them — it’s my job. If we’re just doing small iterations on what we already have and fixing bugs, we’re not doing enough.
Q: What advice do you have for engineers?
A: Starting a job at a company where you’re basically using the same language and framework for multiple years can calcify your ability to absorb new technical information, so I think engineers need to put themselves in situations where they not only have the opportunity to learn as much as possible, but they’re actually forced to do so. This is especially important when you’re coming right out of college.
For more experienced engineers who are interested in product, my advice is to visualize yourself in different roles to help figure out what company to choose. Imagine that you have an opportunity to join a cool new startup and put yourself in the role of engineering lead. What do you think the big challenges would be and what do you think that company would need to do next? And then put yourself into the role of tech lead for some department at a larger company you’re really excited about. What is your favorite product that the company does, and what would you want to work on? Think about how it would be easier to get your job done at that company versus the small start-up, and vice versa. What is the best kind of role you could imagine having immediately or in five years, and what kind of changes do you want to push forth?