Employee Handbook: Facebook
A comprehensive guide on Facebook written by VTS and Facebook engineers
Contributors: VTS, Facebook engineers
Summary: Recognizing that jobseekers find it difficult to know what it is like working as a software engineer at Facebook and that new SWE hires do not know who to contact for mentorship/sense of community in the company, Vietnam Tech Society introduces this guide to provide an in-depth and holistic view of the company for job seekers interested in SWE roles. Furthermore, through this guide, new hires at Facebook will have a better sense of career progression and will have access to a community of Vietnamese at the company for friendship or mentorship. This guide will be maintained by both VTS and the Vietnamese professional community to ensure it is up to date.
Company profile
Software Engineering Roles FB
At Facebook, software engineers can fall into many areas of expertise: product and systems, infrastructure, iOS, machine learning, and other specialized fields. Software engineers in Product and Systems teams would build new features and improve existing components of apps and services. Those in Infrastructure, on the other hand, build and maintain many system resources for all the components of Facebook. Software engineers in the specialist groups would focus on one area, which could be, for example, iOS, Android or AR/VR.
Green card policy
Generally, the green card policy at Facebook is favorable for international students. The company would start the green card policy as soon as engineers join a team. A lawyer from a third-party firm will be provided to assist in the process. For one engineer that we interviewed, the whole process from start-to-finish took 18 months.
That said, in 2020, there was a lawsuit against Facebook regarding the green card process, which led to FB’s PERM process not being approved. The engineers, however, are hopeful that this issue will be resolved soon.
Work-life balance
Work-life balance (WLB) at Facebook used to be notoriously bad, but has improved over the years. Usually, engineers work from 9-7, since working 9-5 is simply not enough to meet expectations, unless your ability to focus is exceptional. That said, WLB is mostly dependent on the teams and your manager.
What is good working at FB
At Facebook, there are many interesting problems to solve in all three areas of expertise and many opportunities to learn. For example, you can learn a lot by being in a team with a mature infrastructure, or you can help build applications with huge impact in the Product area.
In addition, engineers can access all the cool beta features from Facebook (fun fact: our Facebook app is actually yellow on iPhone). There are also many other exciting products like Portal or Oculus.
One engineer cited technical familiarity as a perk of working there: engineers build the products that they themselves use in everyday life (Instagram, for example).
Hiring process
Intern: The process varies for different applicants at different times of the recruiting season, but in most cases, you will be reached out by a recruiter to schedule a phone interview, followed by another round of interviews if you make it through the phone call. You will receive an offer once you’ve passed all these interviews, and will have a say in the team you’ll be working with in the post-offer team matching process.
New grad: The process for new grads is similar to the one for interns, except that there is another onsite interview (usually consists of multiple interviews with different people) after the 2 rounds mentioned above. The onsite round is typically 3-4 hours long.
FTE, non-new-grad: There is no hiring season for FTEs who aren’t new grads. Applications are reviewed on a rolling basis, and the process varies based on applicants’ background.
Other notes: At Facebook, spots for new grads run out quickly because the majority of FTEs are converted interns. Think about it this way: A company would easily pick someone who, at some level, is familiar with the company’s tech stack, workflow and culture over someone who doesn’t know much about how things go, although that person might be a LeetCode or interview expert. Therefore, apply early, especially if you are a new grad.
Resume Focus
GPA is not important, students should highlight achievement and explain the project clearly. Relevant experience in software engineering and math should be prioritized.
Importance of referrals
Although a referral has lost some of its value (mainly because almost everyone has a referral these days), it still helps recruiters pay attention to your application. Sometimes you’re rejected not because you’re not good enough, but simply because the role has been filled even before your application is viewed. A referral remedies that problem by making sure your resume gets noticed. How to snatch an offer from here is up to your qualifications and what you have put on your resume, though.
Focus of interview questions
For interns and new grads, interview questions are mostly traditional LeetCode questions, which would test your data structure & algorithm knowledge, regardless of your front-end/back-end position. Question topics can vary from string processing to graphs and trees. As a college student, you should focus on some important courses such as Intro to algorithm, dynamic programming, greedy algorithm and data structure.
For experienced hires however, it seems like Facebook no longer asks LeetCode-style questions. Instead, they have a question bank, from which the interviewer will pick one to ask candidates. Questions will be removed from the question bank if they appear online, so if you plan to dig hard with hopes of knowing the question beforehand, don’t. If you’re interviewing for senior roles, make sure to also prepare for system design questions.
What do interviewers look for?
Most importantly, they look for clarity in your logic. Why are you going with a certain approach? Are you leading yourself to a dead end, and if so, how do you turn back? Do you care about testing your solution (i.e., provide unit tests)?
Communication is another key factor to evaluate applicants. Are you a person who’s easy to work with? Can you let people enter your mind and walk them through your thoughts, or no one besides yourself can understand what you think? Do you take instructions well? Those are the things you should be mindful of before and during your interview. You can improve communication skills through being teaching assistants or working with peers on a group project. You should learn to explain your approach, work in group setting, find partners for group project to practice communication
Last but not least, interviewers care about your time management skills. They have a lot to ask for in a limited amount of time, and they certainly care about how you adjust your speed and use your time effectively, because mind you, reality isn’t so far from this situation.
Further, in addition to our engineers’ advice, those interested in Facebook can also consult Facebook blog pages on Onsite Interview Guide and Interviewing at Facebook: The Keys to Success.
Post-offer stuff
How to negotiate?
As an intern/new grad, negotiating is relatively hard because everything is standardized (as in there is a set salary for all interns/new grads at the same level). However, it’s not impossible, and if you have competing offers, you can leverage that to negotiate. Most of the time, Facebook will match the highest competing offer you have, and based on the experience of our interviewees, they usually take what you say as it is and don’t fact-check. However, lying is NOT recommended/condoned for obvious reasons.
What’s the career progression at this company?
New grads (Bachelor’s and Master's degree) at Facebook start at E3 (the first level). At this level, participating in product design is not required, but because of that, you’ll spend most of your time coding. Typically, your manager/tech lead will assign tasks to you, and the scope of those tasks will be within your domain for the most part.
The next level, E4, has to participate in design and planning, and coding will also be harder. PhD grads or people from other companies with experience usually get offers at this level. At E5, you will play the role of a tech lead and will be in charge of a particular feature. Expect to be responsible for making important decisions at this point.
It should take you no fewer than 23 months to be promoted from E3 to E4, and 33 months from E4 to E5. If you can’t get promoted within that time frame, you’ll be put in “red zone” (performance review). In order to be promoted, you have to meet/exceed expectations consistently in a couple of months to a year. From E5 to above are permanent positions, which means you won’t be fired even if you don’t get promoted. At this level, besides your technical skills, your manager skills can also help you get promoted as well.
How to perform well in internship and get return offer?
During their internship, a student will be tasked with one project and bring it to production. To do well, they need to study the project and know how to communicate to the intern manager as well as other team members in order to make clear the goals and milestones of the project. Feedback is important! Ask for it frequently and from multiple people.
How to find a good team in the team-matching process?
The only way to learn about a team is to talk to the team manager/member. Prior to the start of your time at Facebook, you will have at least 5 weeks (usually 6-9 weeks - this is called Facebook Bootcamp) to network with teams and talk to engineers to learn about what the team does and their culture. Things to pay attention to include but are not limited to their tech stack and scope, WLB, working on-call (some teams may require you to be around 24/7 for some days to resolve customer issues, if any), and other expectations the team have of your role. One advice our engineers give is to find out what you want/your priorities early in the process so you can narrow down your options.
From the experience of our interviewees, infrastructure teams generally have to work more than product teams, and the first promotion will be harder since it can be hard to assess your visible impact at first. However, at higher levels, getting promoted at infrastructure teams is indeed easier (features and products can sometimes fail).
How to transfer between teams?
At Facebook, transferring between teams is rather easy. If you wish to transfer to a team that better aligns with your intended direction, you reach out to the team (which can be done in a blink of an eye with the help of internal tools) and talk to them. If the manager/tech lead of the team approves you, you are pretty much free to move (your current manager has no say in this). Generally, you won’t have to re-interview, and they will let you know if the team has any special requirements. Although there’s no limit in terms of the time you have to be in a team before transferring, most people suggest that you stay for at least a year.
Vietnamese community
At Facebook, VTS is honored to know Quang Nguyen, Hieu Le, Linh Nguyen (ex-FB), and Tuan Tran, who have all agreed to answer further questions and mentor new hires (subject to bandwidth).
In addition to the Vietnamese community at Facebook, VTS is also planning our flagship product TechSphere, which is an on-demand mentorship platform that makes searching for help and booking/scheduling easy and seamless. Stay connected to VTS on Facebook and LinkedIn to get notified when our product will be launched.
About the handbook
What is VTS? What does VTS offer?
Vietnam Tech Society is a non-profit organization, aspiring to be a top-of-mind organization for Vietnamese people in tech. It is our ambition to be a strong representation of the Vietnamese tech community in the U.S., E.U., Singapore and Vietnam.
Regardless of numerous tech talents worldwide, the Vietnamese tech community outside of Vietnam is still under-represented. This is partly due to the lack of a platform where Vietnamese people get together for mutual support and professional growth. To address this, Vietnam Tech Society (VTS) was established.
VTS focuses on helping tech students and professionals whose fields include but are not limited to Software Development, Data Science/Analytics, and Product Management with first job search, career switch and development in general.
Who wrote this handbook?
This handbook came from hours of one-on-one chat between VTS and Facebook Software Engineers. VTS first compiled a list of topics that VTS members are interested in, then interviewed the engineers about those topics. The answers were then anonymized and synthesized into this handbook.
VTS would like to sincerely thank Quang Nguyen (FB), Hieu Le (FB), Linh Nguyen (ex-FB), Tuan Tran (FB), and many others who offered their insights and feedback on the handbook.
Policy for sharing the handbook outside the VTS domain?
If you think someone might benefit from this guide, feel free to share the link with them! The content on VTS Blog shall not be copied without reference to the original source (e.g. the text shall not be copied and posted to another website).
How to contribute to this or a new handbook?
If you have any additions/modifications/feedback for this particular handbook, please submit them at this link. A team member will then incorporate your feedback into the handbook and update the revision log below.
If you want to contribute to another handbook that has not yet been published on our website, please submit your contact information here. A member of our team will then reach out to you.
VTS appreciates any contribution from working professionals! :)
Disclaimer: this handbook was written by VTS after consultations with our network of software engineers at Facebook. This handbook does not reflect, nor does it try to, reflect the views of FB employees.
Revision log
07/14: initial publication
Awesome guide. Thank you VTS
1 năm trước mà mình có cái guide này thì tốt quá!! Mình vừa sign up contribute cho guide của công ti mình hiện tại qua cái link trên rồi nhé! Mong có nhiều người việt join bb :)