Company inspiration

10 experiences I learned on Facebook


10 experiences I learned on Facebook
1. Stick to your vision, but be flexible with details.
As a leader, you need to rely on your own vision and those who work with you or work for you will rely on your vision. What is the vision? It is a description of the final state. It's the place where you need your team to land. It is a new life after it takes effect. It is the North Star, and the direction. Here's an example. When I started the payment risk team, we only had a rules engine. The rules are written by people. A rule is simply a simple logic with very limited variables, such as "If the registration date is less than 30 days and the expenditure is greater than $100 and it is paid for the first time and the user is from Indonesia, the transaction is rejected."
It is difficult for humans to effectively handle more than 10 variables. We need to be more measurable. We want to automate many machines that are better than people. Thus we set a vision to replace our main rules with machine learning models. This vision has driven us to add a Ph.D. in machine learning and another engineer with similar hands-on experience before joining Facebook. The stakes are huge, but this is needed in the future.
But you need to be flexible with the details, because the roads lead to Rome. You need to give your team plenty of room, as long as your team is moving in the right direction at the right speed. Another story: At one point I was more interested in decision trees than in the return. But the engineers of the experimental algorithm told me that they only had negligible differences when choosing algorithms. I can stick to my opinion but I trust him and let him let go and choose the right algorithm. Interesting things happen in the process of working with designers, and they have a nitpicking preference for fonts, colors, line spacing and others. I usually let them be as good as the end result. We want to choose the right battlefield to fight. Such a battlefield must be global, not entangled in local battles.
2. Only work with the best people.
The cows only want to work with the cattle. They are even more powerful when they get together. First-rate people can't usually tolerate second-rate goods. What determines the "best person"? My understanding is that those who can quickly do what they know, learn what they can't, and accomplish things and far exceed expectations. Their instinct is to exceed expectations and even their own expectations. For them, being good enough is never good enough. Only having the best people has many benefits in the team.
(1) This makes you more willing to pay. To save my experience, the cattle will not trust unfamiliar people. Before accepting your help, they need to know that you are as good as they are and even stronger than themselves. Otherwise, they would rather do it as much as they can. But if you have been proven, they will trust you and be willing to entrust you. A powerful team with effective entrustment is almost omnipotent.
(2) They set an example for each other and thereby improve their performance. This is a good focus on stress. If used properly, it can form a benign circle of the team.
(3) The cattle people challenge each other. I remember that an engineer supervisor had bet on the code changes I needed to complete the website translation before the deadline. He would dye his hair blue. Such a challenge is often a "boring" job that becomes a game. It will be very interesting to be part of the game. Of course, there are often more serious challenges, and the cattle like to challenge (4) cattle people learn a lot from each other. If it is not because there is so much to learn here, I will not stay in Facebook for 4 years. For those who lack experience, this seems more and more correct. We hire very smart graduates who are motivated to prove their strength. They don't want to come to a company that is comfortable and has no challenging life. They want to learn a lot to enrich their experience, complete unfinished tasks and improve their career path. They want to prove "yes, they can". They want to work with the cattle to achieve this.
You don't want second-rate goods but how to stay away from them? First of all, slow down to recruit people. It is stubborn when giving offer. I have found countless times in the recruitment decision-making meeting that those with a glorious resume can't get hired just because an interviewer feels that this person can't impress him. In other cases, candidates who have been unanimously still have no access to employment because everyone just thinks he will meet the requirements. In the case of employment, in most cases, you need to avoid risk. Second, the fried squid should be fast. Let the second-rate goods exist like taking chronic poisons. One day, gradually, but after all, you will hang up for it. You have to push the second-rate stuff to the squid track as much as you can. I have seen some sluggish squid, and the negative effect on the team is not a joke.
3. Establish high expectations and measure them.
As a leader, you need to set high but realistic expectations. High enough to make your team not bored. The reality is that they will not be exhausted. You have to create an experience for them so that when the journey ends, they will say: Mom, I didn't think I actually did this. This explosion is over. Like Facebook, like other Silicon Valley high-tech companies, expect to combine with returns, so setting clear expectations is critical in itself. And you need to find an indisputable way to measure expectations. I spent a lot of time with the team to paint the most important 3-5 goals we have in the next quarter. The targets are assigned to separate siege lions of a single or a group of workers, or they are snatched away. In this case, we not only have a list of 3 to 5 metrics, so we can quickly say what we are doing, and also know who is behind each specific goal. The success of the team is closely related to individual performance. For example, my team's biggest contribution in the past was to reduce the disputed card payment dispute rate by 75% in a year by different indicators per quarter.
One thing to emphasize is that you still have to be realistic. When you only have 10% market share, you are imagining that 10 times the income growth is unrealistic. Master Steve Joe is very good at pushing his team to surpass their potential but also to squeeze them 99. 9% of the leaders are not Joe, of course, they do not need to. But you can still succeed by driving a sustainable team without recognizing their limits.
4. Listen to the information but don't rely solely on it.
When deciding on the direction of the product, it is imagination, passion and courage, not information. Data can get your team moving in the right direction without derailing, and it helps the product to gradually optimize from the "what is the beginning" to the "what should be the last". But the information can't help you decide the direction. For example, when we put all the resources of our team on artificial intelligence, we are uneasy. But we firmly believe that the existing anti-fraud system based on the manual rule engine will soon become a dead end, because it is too rigid and not easy to scale to handle large data. So, just like in the movie Lord of the Rings, Frodo knew that the road to Mordor was very dark and cold, but it was a road he had to choose to go; we chose to press all the treasures on machine learning. Failure, the entire team will be difficult to see; but we decided to go the hard but we think it is the right path. This approach is also applied to how to design tools for user reporting and case review to address potential fraud. The final direction we decided was "to automate" and "build feedback mechanisms." Directly throwing it to humans is a way to always be chosen, because it's just a matter of building a silly customer support team. Lame! We want to solve most of the fraud cases through automatic processing, and focus on the special cases that do need to be handled separately, and automatically collect and integrate the processing opinions from the business support team into the next round of machine learning. . As a result, our machine judgments will be more precise and intelligent and keep pace with the times.
But you can't ignore the information. Without the support of the data and blindly relying on intuition to take the black road, it is easy to walk the road, and even big mistakes. For a while we thought that crawling tools might find many fraudulent associates. Through the experimental results, it is found that whether this expectation is established depends largely on the characteristics of the current popular fraud. For example, correlation analysis is an effective method when the case of theft or sale of credit cards is very common. However, if the main situation is that the account is hacked or the small treasures use their mother's quota card to go online, the correlation analysis will not be effective. Intuition touched the gray in front of reality. Fortunately, we quickly realized this and stopped the project, so we didn't waste too much resources.
In addition, take the A/B test by the way. The A/B test doesn't tell you what to do with the product, but it can help you determine which subtle version of the product is better at the heart of the user.
5, away from the time to devour the person.
When I first entered Facebook as an engineer, I really enjoyed the feeling of day and night in the code sea. Later, the project responsibility that was slowly undertaken was getting more and more, and the time for writing code was getting less and less. Sometimes it's more time to spend time determining the direction and design of the product. A lot of things are done with product manager designers. But the Facebook Lions have a big say and even sometimes the power to make a decision. Facebook hopes that the siege lions will have a kingly demeanor. Facebook hopes that the siege lion can decide what to do and what to do, not always "decision". Therefore, I spent a lot of time thinking about these issues – which features need to be added, which features need to be deleted, which tests need to be started or stopped, and we are bleeding and sweating is not the most important issue now, we are It takes time to optimize the user interaction process, whether to reduce the error rate, or to make the system faster, and so on. These questions are very nerve-racking, and the answers are often uncertain, which is harder than a cramping hand. But these questions are very important, and may even determine whether you have a day or night. It is recommended that all the siege lions think about these issues outside of the code, and team leaders are even more necessary. Of course, the majority of the siege lion should still be spent on the code.
So what time should not be wasted?
A lot, but I will only mention two examples that I think are the most important.
mail. Not all emails are sent equal. Some mails are purely soy sauce. Some mails don't need to be processed right away. I tried to use the filter rule to kick off the soy sauce mail and highlight the important messages that need to be processed right away. In this regard, share two points.
Create a mail filtering system that works for you. I will respond promptly to important and urgent emails, and will suspend emails that can wait until the evening to respond. However, I want to make sure that all these mails are disposed of, read, and returned before I struggle to climb to the bed. For those messages that are for reference only, the filtering system will plug it into a fixed corner, and I will go through it. Such emails, such as a drunkard, ask Napa Valley which wine cellar is more punctual and so on. These emails are usually quite interesting. The pits that are dug are very large and deep, so they are also time consuming. I usually don't jump or jump right away.
Tell your personal email processing strategy. I let my comrades around me know how I handled the mail and put this policy at the end of all my mail. If you say - "Trying personal mail processing strategy - in order to quit email addiction, I will force myself to check email every three hours or more, please call / newsletter / IM me in a hurry." Do more to let others know not to I hope to get a response right away. In fact, I check email more frequently than every 3 hours, but at least I don't have to force me to go back to each email. I can squat. Because if it is really urgent, my iPhone should have already rang. Moreover, batch processing is really much more efficient. Do not lie to you.
meeting. A meeting is too easy to become a group of people pulling each other's eggs. It was a waste of time and it was found that there was no conclusion and it was very painful. But the meeting is necessary for teamwork many times. How to preside over a meeting is a matter of learning. I won't go into details here. However, you can't and don't need to attend every meeting that invites you. When you think that you have a lot of value when you attend a meeting, I suggest you not consider it. If you want to be polite, write an email and ask the host if you can be absent. Usually when you think about this issue and decide to send such an email, the answer is usually yes. Sometimes I am also very shameful for my product manager to go to the meeting for me. Of course, I will encourage him to fight too. Only make the meetings you really have to. Similarly, I asked my own team to be cautious when organizing and attending meetings, and often asked them to think about how much time they spent on meetings. One approach is to integrate possible meetings. There is an example. Earlier, we often received more casual meeting requests from the support team. This made the day of the siege lion split by the meeting. Write code knows that there is no 3-4 hours of continuous time is not easy to climax. And such meetings are usually inefficient. So, we changed our practice, scheduled a fixed Q&A time and support team ideas and then follow up. Of course, the urgent issue should be dealt with immediately.
There is a principle that is often overlooked – consciously thinking about what should not be done and not doing it right away. For example, what are unnecessary arguments can avoid intervention, which functions can be abandoned, which relationships should not develop, who should be opened, and so on. I often ask myself a very simple question. Whether I am doing it now is very important to my goal. If you know what you are doing and what you want, the answer will be clear. Go for it.
6, love can effectively reduce the tension between people.
There is a tangled cooperative competition between engineers and support teams. Many people in Internet technology companies always expect engineers to give a solution that makes everyone smile. But the reality is that not every problem can or should be solved under the technical framework. For some specific issues, customer support and operations will have some very insightful insights. Engineers may not be able to do it. After all, many insights require different expertise and rely on field experience. Yes, engineers can automatically log a large amount of raw data in the code, but refining a reliable insight from the original data is not always possible. Just like the steel that was thrown in the steelmaking era, it was the iron shovel, not the steel that was expected. Unlike many other companies' customers or support departments, our support department recruits people of very good quality. Therefore, when two groups of people who are very intelligent have different views, who should they listen to? Tensions are inevitable.
There are also cooperative and competitive relationships between different engineering teams. There is a close working relationship between anti-spam, security and anti-fraud teams. These teams also learn from each other as much as possible to share experiences and techniques. However, sometimes when teams deal with similar but different issues independently, they try to sell their solutions and ideas to each other.
How to keep cooperative competition in a healthy and orderly state? I think the key is to promote intimacy between people. When people get closer, things are easier. I spend a lot of time building relationships with other teams. For example, once a week or once a month, a one-on-one meeting with other team leaders. The more relevant the team, the more frequently the head touches. My own or my team members will selectively participate in meetings of other teams. When working for a common big project, I arranged for different department members to sit together for the project sprint. This is a very effective way to get closer to each other, especially to reduce the chance of wrangling. Because they often ask or are invited to drink coffee with each other. I also often agree with some people to have a working lunch. I often talk about homework and increase my feelings. Sometimes a long walk is more open to people. And such a close relationship will help everyone stay close to us at a critical moment in the face of a challenging project.
7. Entrust and make it effective.

The importance of assigning tasks to delegate others is easier to understand. Because you are not a superman, you can't pour tea and do whatever you want to eat and drink. Sometimes, you are often not the most suitable candidate. When the team has a lot of things, you must learn to entrust others to take responsibility for the right tasks. For some leaders, entrusting others with an important goal may not be very reassuring, and they may not sleep well; but I am very accustomed to entrusting others, and sometimes I may be too used to it. This is a question that my former boss pointed out to me. Once I assigned a team member a difficult problem with both technical difficulty and coordination challenges. The process is slow. But I gave him too much time to toss, and in fact he needs some reinforcement in some aspects, and some aspects require more active help from me. My boss pointed out that if I want others to toss casually, the premise is that I need to have enough confidence. I need to have facts to gradually prove that my decision is correct. Need to be carefully commissioned. Because if the project fails, for him, the person responsible is still me, not someone else. So I can't pay for the failed commission by others.
If you have an important task that needs to be delegated to someone else, you are already very familiar with it. Know that he can handle the extraordinary fighting power; or believe that he can quickly learn to improve the blood of the chicken;
Either you need to teach him at the beginning, and ask him from time to time until you have enough confidence in him.
Specifically, I did this. At the beginning of the project, I asked the client to give me a master plan and tasks that could be completed in a few days. I often meet up at the beginning and then determine the tasks for the next few days. Based on each completion status, it is estimated whether he can complete the final goal "highly". The confidence build-up can reduce the detailed discussion about the project. At this point, the commission can be opened more. But one thing to note is that if you follow too tightly, you may feel that you are not worried about him, and he will be timid, which may be worse than blind commissioning. So there is a delicate balance between commissioning and caution.
8. Feedback is an ongoing process, not an event once or twice a year.

Annual or bi-annual feedback is very common in Silicon Valley. Its purpose is not to set up to embarrass employees, let them blame each other. Its purpose is to encourage employees to have a more comprehensive understanding of others to help progress. Feedback has two parts: self-feedback and colleague feedback. Self-feedback is to assess yourself, what goals have been accomplished, what goals have been missed, what has been done, and what needs to be improved. However, due to his own playing and referee, it is inevitable that there is bias. Colleague feedback, like a mirror, lets you see yourself beyond 180 degrees. On Facebook, 360-degree formal feedback is twice a year and is tied to compensation. However, in recent years, feedback and salary assessment have gradually separated. For example, one thing I did was quarterly feedback, and time and formal assessment were staggered. During those few days, I asked all colleagues in the relevant group to write to me about the feedback of my direct members on a voluntary basis, in a few short sentences. I will collect, synthesize, and finally give feedback to my team members during the 1-1 meeting.
If you need to wait for half a year to collect opinions, many related stories have long been forgotten. The longer the story, the more blurred the memory, the more empty the opinion, and the equivalent is not said. Moreover, feedback and compensation are tied together, and normal people will naturally put more of their minds on pay, not the opinions themselves.
In addition to quarterly light feedback, daily feedback should be passed immediately if there is one. Hot iron is better.
How to effectively deliver the opinions is also very important. There is a saying that "it's not what you say that matters, it's how you say it". I am not that extreme, I think it is equally important to convey opinions. I have tried both ways, not sure which one is more effective. Let's talk about it here. One is to gradually deepen the thinking based on the question, such as "how did you think about the meeting you hosted yesterday"; the other is the naked straight-through theme, "hey, let's talk about the meeting you held yesterday", and then start talking My own feelings. Either way, be sure to give the other person an opportunity to explain his or her behavior; always assume and tell him that I believe his will is good. In order to avoid falling into the "you did xxx yesterday" "No, I am doing yyy" "I feel that you are doing xxx" dead circle-style controversy, I first try to be with them "What we perceive is fact" A consensus is reached on this point. Based on this premise, we focus our discussion on how to change the feelings of others and finally let things go smoothly. After all, most important things are done by many people. When they realize that they want to improve an aspect, how to change it is a relatively easy problem – smart people have always been able to find ways to improve, what I did was to brainstorm with them. The purpose of the final conversation is to produce a better concrete solution for how to do it next time.
Regarding the effective feedback, there are four other points to mention.
Feedback is not necessarily negative. It can be a strength of someone else. You appreciate it. You want him to stick to it and do more. For example, "hey, I really love your weekly summary email with the key metrics at the top. Please keep them coming" may produce good incentives.
Feedback must be factual and reasonable. If you just tell someone that he is bad, but don't say when he has passed and why, except for adding anger to him. So I asked for an example when the relevant personnel included their own feedback. For example, "I think he could make meetings transparent and shorter by having an agenda, like the weekly data review meeting on last Friday" is more effective than "his meeting is too long".
Feedback must be actionable. The opinions that make people unable to start are of little significance. It would make more sense to propose a plan for reference while making comments. But note that it must not be the way of command. For example, the previous example "I think he could make meetings transparent and shorter by having an agenda sent ahead of time..." is very easy to operate.
In the last two evaluation cycles, I wrote feedback to 15 or so colleagues. I shared what I wrote directly with them. Out of this idea, I was less impulsive when I wrote. Because they can read, I can't do it. Because they want to read, I need to write meaningful, easy to understand, and add a lot of examples. And, I welcome them to discuss directly with me. As a result, they also understand that my painstaking efforts to write these feedbacks are for their progress.
9. You can do more than you think.
This is not to talk about it. I have a personal example of myself. We used to think it would be difficult to reduce an outrageous fraud rate to the allowed range. It is really difficult. But think about it, we ended up with a slap in the face and lowered it to half the upper limit. It feels so cool. For a long time, the whole team's morale was high and confidence was overwhelming.
The cattle people always constantly surpass themselves. Give them an outrageous goal, with the tools they deserve, the right help, enough confidence and a certain amount of time, they will surprise you and surprise you. This point, Joe is the master of the expert, tried and tested.
But there is a premise to do this - not afraid to make mistakes. If the mistake is to be severely punished, the failure is not allowed. The cattle people can only be kept in the frame, there is no way to achieve a breakthrough. There is a saying that I often hang on my mouth "ask for forgiveness, not for permission". On Facebook, it is easy to be forgiven for making mistakes.
But in turn, one thing to be careful, as stated in point 7 – you can't just give an outrageous goal to a person and expect him to surprise you. The blindness may be frightening. You need a real cow, at least a potential cow. And as a leader, one of your tasks is to help them and encourage them to detonate their potential. Facebook does not lack such bulls to be detonated.
10. Don't over-design and premature optimism.

Some engineers have an instinctive impulse to scale their programs, even before these programs have seen the dawn of mass use. When I started Facebook, I was also an impulsive engineer. But after several failed products, I remember this lesson. Don't over design or prematurely optimize. Simple and refined design of core functions. Only when you see the trend of the product being used on a large scale, can you increase the function or increase the scale. One of the products I use is limited to 2 million monthly users, but my implementation has done a lot of extra work to satisfy more users. It feels so good when I do it, and it feels terrible afterwards.
But this does not necessarily apply to the work of the architecture. For example, the failure of Friendster's website is that the performance of its infrastructure has not been able to cope with the rapid growth of users for a long time, so that the website is slow or even collapsed. Before the user's growth climaxes, you should have done enough foreplay on the architecture. Otherwise, if you are not good, you will be like a friend. But also be aware that the user access patterns you see, your website features, when you have only 100,000 users, may be very different from when you have 100 million users. All the big moves on the architecture that are too early and too frequent may be counterproductive. At this point, you have to be careful.
4 years and a half on Facebook is very fun. I have learned far more than the above ten. But I hope this sharing can help a little bit of friends. At the same time, I wish all my friends good luck in the role they are playing now.

recommended article

popular articles