As I promised in a recent thread, I will write up my experience at FB and my view on impact. A little bit from myself. I was a SWE at FB, joined at E5, no competing offer, first job in big techs. I was unemployed when a FB recruiter reached out to me. I was shutting down my startup. My initial offer was around $300K (175K base, 360K/4 year, 30k signon, bonus). During my 4 years at FB, my rating was always EE or GE (Exceed and Greatly Exceed Expectation). Itâs not extremely rare, but not super common either since getting EE+ for the first half is not easy. I was promoted to E6, and getting EE+ at E6 is not easy either. I didnât ask for it but I got AE (Additional Equity) once. When I left FB, my TC was ~700K. So, some people asked me about how to have more impact at FB. Itâs an interesting question and I try to reflect on my experience and provide some advice here. There are many different ways to be successful at FB and this is my story. First of all, letâs go backward from calibration (FBâs performance review). Every 6 months (now 12 months), engineers write about their impact during the last performance cycle. Managers will get the writing, format it and prepare a package for performance review. The room is full of managers, directors, and some E6+. Every package will only have 2-3 minutes to discuss. Itâs very common for me to see people in the room as questions to clarify the impact. Here is number 1 mistake I often see: âPeople misunderstand effort vs. impactâ. You delivered several projects, landed hundreds of diffs, with thousands lines of code. There will almost always be someone in the room who askes: âso what?â. Your effort is not your impact! Surprisingly, I saw many people write about their achievements like this: âLast half, I worked on project X and delivered it. The feature does A, B, C. It was a difficult project but I worked hard and delivered it before the scheduleâ. Itâs a horrible way to describe your achievements in my opinion. This is how I would do it. The paragraph would consist of 4-5 sentences. (i) What was the outcome? You moved some metrics, you unblocked other projects or teams? (ii) Why was the outcome important? Would the app stop working or if the company will lose money? It doesnât need to be at that level, but it needs to be something people care about. (iii) What were the difficulties you were facing? Was it technically challenging? Was it messy legay code? Complexity that requires collaboration of multiple teams? No support from Data, PM, or Design? (iv) What did you do to overcome all the difficulties? This is super important to help you get promoted. Promotion is about your behaviors, not impact. You can meet the expectation and get promoted, or you can greatly exceed without promotion. Impact -> rating, behavior -> promotion. Now, as I said early, we will go backward. The above is how you would sell your result. Some people told me itâs hard to define metrics or evaluate the outcome. Everything you do should solve some problem. The reason why it is hard, is because the problem you pick is not clearly defined. How do you know if it is a problem? There should be some indicators, right? It can be metrics, or some teams/projects are being blocked. If you cannot clarify the problem, then usually you donât have a problem. Focus on the problem! Common mistake from engineers is to focus on the technical aspects or a cool technology, instead of the business outcome. How can you pick the right problem? You need to focus on your team roadmap, your bigger org goals. They are public information. Everything you do, should contribute to your team goals and org goals, period. The most important advice I can give here is (i) be nice, be selfless (ii) trust your manager and the leads. They have more context than you do. Donât be shy to ask for help, itâs not because you cannot do the job, but you donât have enough context. If you want to work on something, discuss with your manager, your tech lead, tell them why the project is important and how it will contribute to the team/org goals. If you are correct, thatâs great. If you are not, they can help you. You donât want to work on something for months and find out nobody cares. Also, they are the people who will evaluate you, the more they are familiar with your work, the better for you. Why should you be nice and selfless? Nobody wants to work with difficult people. Iâve seen in performance reviews, we lower the rating of people from EE -> MM (Meet Most) (2 down) because they were difficult to work with, and the room wants to send a strong message. Be selfless. If you give some idea to your teammate and their project was successful, the tendency is you might want to claim some credit. Please donât. Idea is great, but the effort your teammate puts in might be a lot more. There was an engineer in our team who gave their favorite, impactful project to a new hire because it was well defined and easier for the new hire to ramp up. They didnât get much impact and credit for that project. But you know what, they were on the fence for promotion (E4->E5), so we brought up that example and decided to promote them. If you are E5, giving advice or help E3, 4 is great and expected. But I donât think you should claim any impact in their project either. E3, 4 level impact might not help you at all at your level. But the point is, people will like you and your life will be much easier. Now, you pick the right project to work on. You need to set some goals. How much you want to move the metrics, how much you want to deliver. The advice here is to âunder promise but over deliverâ. For any project, have a backup plan, think about risk. Thereâs no guarantee that you can deliver it on time or deliver it at all. If you need to fail, fail fast. You have time to recover. If the project will be delayed, be outspoken about it, let your partner teams know about it. Donât cover it. There was a great engineer who worked on a difficult project, it was pushed back a few times but they didnât communicate efficiently with partner teams and messed up their plan. During performance review, that engineer got their rating from GE -> Meet (2 down). While working on your project, communicate the difficulties either its technical or collaboration challenge. People might help you or give you some pointers. Summary: 1. Clarify the problem you want to work on. If you cannot evaluate the problem, it might not be a real problem. If you can, how you evaluate it will be how you evaluate your result. Communicate the process with your manager, tech leads, etc. 2. Pick the right problem. What you do should contribute to your team roadmap/goals. Confirm that with your manager, tech lead. 3.Always have a backup plan and fail fast. 4. Communicate any difficulty you are facing. Be clear if you need help or you just want people to be aware. 5. Focus on the outcome when talking about your project. During my 4 years at FB, I had 5 different managers. Some were great, some were Ok. I always trust my manager and believe that nobody would dislike a high performer. I treated my manager as a partner and cared about their success and the success of the team as well. Iâve never asked for a specific rating because I trusted them and I was pretty sure they had all the context of my work. Iâve never asked for promotion or pushed for it either because I trust my manager and the system. I only knew about my promotion when my manager told me about it after everything was finalized (I did express my goal to get to E6 with both my manager and my director). When I first joined, I worked about 45h/week because there were many things to learn at a new big company. After 1 year, I worked less than 40 hours/week. After getting to E6, nothing was changed in my schedule or the way I worked. Everything stayed the same because I was quite ready for it. So that was my story, very unorganized since I donât have time for it. I just sit down and write whatever comes to my mind. You might like it, you might not like it. I highly discourage fake impact or ass licking. Many senior folks I know and myself, we try hard to kick their ass. I hope this helps as a data point for people who are joining FB. Itâs a great company to work for. I wish you all the best. But if it doesnât work out, donât stress too much. Life is a lot more than just work and TC. Many software engineers not working at big tech and not making 500K a year, they are still happy.
Too much text. Tldr? EDIT The real TLDR: Impact >>> Effort
The real lesson is probably being a white male like the OP.
Sir, this is Wendy's. My ice cream will melt down by the time I read this post.
Eat while you read then
Thatâs what she said
F off?
Great post. Thanks
Thank you for this write up.
That sounds really stressful. What if the business metric is super hard to move and all experiments lead to no movement at all. Kiss half yearâs effort goodbye?
It happens. There were an engineer working on a tough project for 2 years and failed. Leadership decided the direction will not work. The engineer was still reworded. You need to communicate well and learn from the failure. I didnât talk about it in my post since it applies to the higher level, at least E6+
Is infra side slightly easier than product side at fb?
So much text and no current TC. Other than that great write up. I would add that thereâs no such thing as over communication at Facebook. Share as much as you can.
Hey interesting read, thanks for sharing your perspective
Thank you for sharing, this is super helpful not just for those looking for promo but putting forwards reports for promo for the first time!
Tech Industry
Yesterday
606
Do you prefer shorter women or taller women
Software Engineering Career
Yesterday
1865
Cleared Amazon onsite, but lowballed.
World Conflicts
Yesterday
461
American police seem to work only when Israel is challenged
Tech Industry
7h
1923
Asians - what are your thoughts on asian female white male ?
Tech Industry
Yesterday
2725
I am starting to think Chinese interviewers currently fail non-Chinese candidates on purpose.
TLDR dude
Missed the first rule of a WP post
Thatâs right. I really miss WP after leaving FB.