Editor's Note: Wang Huai was a Facebook employee. This is his recent blog post.
1. Stick to your vision, but be flexible in terms of details
As a leader, you need to rely on your own vision (at least in the business area you are responsible for) and those who work with you or for you will rely on your vision. What is vision? Is a description of the final state. It's where you need your team to land. Is a new life after it takes effect. It is the northern star, and the direction. Here is an example. When I start the payment risk team, we only have the rule engine. Rules are written by people. A rule is just a simple logic with very limited variables. For example, if the registration date is less than 30 days and the expense is greater than $100 and the payment is for the first time and the user is from Indonesia, the transaction is rejected"
Humans cannot effectively process more than 10 variables. We need to be more quantifiable. We want to automate things that many machines are better at than others. Therefore, we have established a vision to replace our main rules with the machine learning model. This vision drove us to add a doctor in the machine learning field and another engineer with similar practical experience before joining Facebook. The bet is huge, but this is needed in the future.
But you need to be flexible in terms of details, because there are great roads to Rome. You need to provide enough room for your team (wiggle room), as long as your team is moving in the right direction at the right speed. Another story: At one time, I was more interested in decision trees than regression. But the experimentAlgorithmEngineers told me that they can only ignore the difference when selecting an algorithm. I can stick to my opinion (this is indeed my real idea at the time), but I trust him and let him choose the right algorithm. There are also interesting things in the Process of cooperating with designers. They have a preference for fonts, colors, line spacing, and others. I usually keep them motivated as long as they benefit the final result. We want to choose the right battlefield for war. Such a battlefield must be global rather than local battles.
2. Work with the best people
Niu Ren only wants to work with Niu Ren. They are even better together. First-class people generally cannot tolerate second-class goods. What determines the "best person "? My understanding is that those who can quickly do what they know and learn what they cannot, so that they can accomplish things far beyond expectations. Their instinct is to surpass expectations, or even their own expectations. For them, good enough is never good enough. There are many benefits if you only have the best people in the team.
(1) This makes you more willing to trust. From the experience of saving me, the ox won't trust unfamiliar people. Before accepting your help, they need to know that you are as good as them or even better than themselves. Otherwise, they would rather do everything they can. But if you have been proved, they will trust you very much and are willing to trust you. An awesome team with effective trust is almost omnipotent.
(2) They are examples of each other and use this to improve their performance. This is a great concern for the pressure. If used properly, a virtuous circle of teams can be formed.
(3) cattle are challenged. I remember a head engineer who once asked us if we could complete the website translation before the prescribed time limit.CodeChange to bet that he will dye his hair blue. This challenge is often because the "boring" work has become a game. It will be interesting to be part of the game. Of course, there are often more serious challenges, and cool people like the challenges (whether challenging others or accepting the challenges)
(4) The cattle learned a lot from each other. I wouldn't stay on Facebook for four years if I had so much to learn. This is increasingly true for inexperienced people. We hire very smart graduates who are motivated to prove their strength. They don't want to come to a comfortable and unchallenged company. They want to learn a lot to enrich their experience, complete the tasks that cannot be completed, and improve their career path. They want to prove "Yes, they can ". They want to achieve this together with the cool people.
You don't want second-class goods, but how can you stay away from them? First, recruit people slowly. Be stubborn when giving an offer. I have seen countless recruitment decision-making meetings that people with brilliant resumes cannot be hired only because an interviewer doesn't think this person can impress him. In other examples, the candidates who have received the same pass still cannot obtain the employment opportunity because everyone just thinks that he will be qualified. In most cases, you need to avoid risks. (By the way, we will also hire candidates who fail to pass the ticket, as long as one or two votes are strongly recommended-you will be happy to take the risk of trusting your employees) Second, it is faster to fry. It is like taking chronic poison to make a second stream of goods exist. One day, gradually, but eventually you will be suspended. What you need to do is to kick the second stream onto the squid track (in some cases, the law will not let you do this). I have seen some slow-moving squid, the negative effect on the team is not a joke.
3. Set high expectations and measure them.
As a leader, you need to set high but realistic expectations. High enough to make your team feel bored. The reality is that they do not have to run off the lights. When you create an experience for them to review the end of the journey, they will say: Mom, I didn't even think I did this. This is amazing. At Facebook, like other high-tech companies in Silicon Valley, expectations are combined with returns, so it is crucial to establish clear expectations. And you need to find a way to measure your expectations. I spent a lot of time working with my team to figure out our most important 3-5 goals for the next quarter. The target is assigned to one or a group of lions with different division of labor, or they are taken away from the target. In this case, we not only have a list of 3 to 5 metrics, so that we can quickly tell what we are doing, at the same time, we also know who is behind each specific target. The success of the team is closely related to individual performance. For example, my team's biggest contribution in the past year was to reduce the credit card payment dispute rate by 75% through different quarterly indicators within a year.
One thing to emphasize is that you still need to be realistic. When you only have a 10% market share, it is unrealistic to imagine a 10-fold increase in revenue. Master Steve Qiao is very good at pushing his team to surpass their potential, but also squeeze them out (even so they are so proud of what they do) 99. 9% of leaders are not old Joe, and of course they do not need to be. However, you can still drive a sustainable team to achieve success without conflict with the recognition of their limits.
In Proverbs 4 to 10, I will share my views as follows:
Listen to the data, but do not rely solely on it.
When determining the product direction, we need imagination, passion, and courage, not data. Data allows your team to move in the right direction without being derailed. It also helps the product to gradually optimize and shape from "what is at the beginning" to "what should be at the end. However, data cannot help you decide the direction. For example, when we press on all the resources of our team in artificial intelligence (machine learning), we are uneasy. However, we firmly believe that the existing anti-fraud system based on the artificial rule engine will soon become a dead end because it is too rigid and difficult to scale to process big data. So, like Frodo in the movie Lord of the Rings knows that the road to Mordor is very dark, cold, and dangerous, but it is a road he must choose to go; we chose to put all the treasures on machine learning. Failure makes the entire team very ugly. But we decided to go hard but we thought it was the right path. This approach also applies to the design of tools for user reporting (external tools) and case reviews (internal tools) to deal with potential spoofing. The final decision direction is "automatic processing" and "feedback mechanism ". It is always easy to select a path that is directly thrown to humans for processing, because you only need to build a team of many silly customer support personnel. Lame! We want to solve most of the fraud cases through automatic processing, and focus on the special cases that really need to be handled separately, while also focusing on the Business Support Team (that is, the Customer Support Department) the processing comments are automatically collected and integrated into the next round of machine learning. As a result, our machine judgment will be more accurate and intelligent and keep pace with the times.
However, you cannot ignore the data. Without the support of data, it is easy to go wrong or even make a big mistake by relying on intuition. For some time, we believe that crawling tools (by analyzing the associated cookies, credit cards) may find many fraudulent associates. The experimental results show that whether this expectation is true depends largely on the characteristics of the currently popular fraud. For example, association analysis is an effective method when cases of theft or selling credit cards are very common. However, in most cases, association analysis is ineffective when the accounts are hacked or the little treasures use their mom's credit card to go online for online payment. Intuition touched the gray face before reality. Fortunately, we soon realized this and stopped the project, so we didn't waste too much resources.
In addition, we recommend that you test a/B. A/B Testing won't tell you what products to do, but it can help you determine which minor version of the product can hold your father's mind even more.
The consumer is far away from the time-consuming consumer.
When I first entered Facebook as an engineer, I enjoyed the feeling that I had been immersed in the code day and night. Later, more and more project responsibilities were gradually undertaken, and less time was spent writing code (but most of the time was still the largest ). Sometimes it takes more time to decide the product direction and design. Many things are done with product manager designers. However, Facebook's siege lions have a lot of say and sometimes even the right to make decisions. Facebook wants the lions to be king. Facebook wants the attacker to decide what to do and what to do, rather than always "determined" (a popular saying is "write your own job description ). Therefore, I spent a lot of time thinking about these problems-which functions need to be added, which need to be deleted, and which tests need to be started or stopped, whether we are bleeding and sweating is the most important issue now. Should we take the time to optimize the user interaction process, reduce the error rate, or make the system faster. These questions are a headache, and the answers are often uncertain, which is more difficult than getting cramps. However, these problems are very important and may even determine whether your daily and daily routine is necessary. It is recommended that all Siege lions think about these issues beyond the code, and team leaders are more necessary. Of course, most of the time it takes to attack lions should be spent on code.
Which time should not be wasted?
Many, but I only give two examples that I think are the most important.
Email. Not all emails are sent equally. Some emails are purely Soy Sauce-based. Some emails do not need to be processed immediately. I tried to use filter rules to kill soy sauce emails and highlight the important emails that need to be processed immediately. Here, we will share two points.
1) create a mail filtering system suitable for you. I will immediately reply to important and urgent emails, and suspend the handling of emails that can be replied later in the evening (especially self-sent teams, product managers, brokers and headers ). However, I want to ensure that all these emails are processed, read, and returned before I struggle to climb to bed. For those emails for reference only, the filter system will put them in a fixed corner. I will visit them every other day. Such emails, such as a drunkard asking which wine cellar in Napa Valley is relatively punctual. These emails are usually interesting and time-consuming because they are very difficult to dig. I usually do not jump or do not jump right away.
2) tell us your personal email processing policy. I asked my comrades around me to know how I handled emails and put this policy at the end of all my emails. -"I am trying my personal email processing policy.-To quit my email addiction, I will force myself to view my email every three hours or more, please call/text message/IM me in case of an emergency. "This is more about letting others understand and don't expect immediate response. In fact, I check emails more frequently than every three hours, but at least I don't have to force me to go back to every email immediately. I can hold on to it. If it is really urgent, my iPhone should have been ringing. In addition, batch processing is much more efficient. Don't lie to you.
Meeting. A meeting is too easy for a group of people to get rid of each other. It is a waste of time and no conclusion is found and it hurts. However, meetings are often necessary for teamwork. It is a matter of course to host a meeting. However, you cannot or do not need to attend every meeting that invites you. If you think that your participation in a meeting is less valuable than others, we recommend that you do not consider it. If you want to be polite, write an email to ask the host if you can be absent. When you think about this question and decide to send such an email, the answer is usually yes. In some cases, I may be ashamed to ask my product manager to hold a meeting for me. Of course, I will encourage him to try again. Only make the meetings you really have. Similarly, I asked my team to be cautious when organizing and attending meetings, and often asked them to think about whether they spent too much time in meetings. One approach is to integrate all possible meetings. There is an example. Early on, we often receive casual meeting requests from the support team. This split the day of the siege lions into fragments. All users who write code know that a continuous period of 3 to 4 hours is not easy to climax. In addition, such meetings are usually very inefficient. As a result, we changed our approach and arranged a fixed period of Q & A time every week (office hour) and supported team likes and then follow up. Of course, urgent issues should be dealt with immediately.
There is a principle that is often ignored-consciously think about what should not be done and do not do it right away. For example, what are unnecessary arguments that can be avoided (for example, Han and Fang zhouzi's personal opinions), what functions can be abandoned, what relationships should not be developed, and who should be removed, etc. I often ask myself a very simple question: is what I am doing very important to my goals. If you know what you are doing and what you want, the answer is clear. Go for it.
NLP can effectively reduce the tension between people
There is a tangle of cooperation and competition between engineers and the Support Team (note: the cooperation is prior ). Many people (especially smart people) in Internet technology companies always expect engineers to give a smiling solution to all problems. But the reality is that not every problem can or should be solved under the technical framework. For some specific problems, the customer support and Operation Department will have some profound and unique insights. Engineers are not required. After all, many insights require different professional knowledge and rely on field experience. Yes, engineers can automatically log a large amount of raw data in the code, but it is not always possible to extract reliable insight from the raw data. Just like the Iron thrown in the Age of steel making, iron bumps rather than expected steel. Unlike customers or support departments in many other companies, our Support Department recruited very good-quality employees (many from prestigious American schools-I have 3 Stanford alumni among 20 people in the anti-fraud Support Group I am directly engaged ). So who should I listen to when both groups of smart people have different opinions? Tension is inevitable.
Different engineering teams also have cooperative competitions. There is a close working collaboration between anti-spam, security, and anti-fraud (my team) teams. These teams also try to learn from each other and share their experiences and technologies. However, sometimes teams try to sell their solutions and ideas to each other when they handle similar but different issues independently.
How can we keep cooperative competition in a healthy and orderly state? I think the key is to promote intimacy between people. It's easy to get people closer. I spent a lot of time establishing relationships with other teams. For example, one-on-one meeting with other team leaders once every two weeks or in January 1. The more relevant teams, the more frequent the head touch. I myself or my team members may participate in meetings of other teams (we call it friends & Family meeting ). When I was working for a common big project, I arranged for different department members (engineers, support, data analysis, and finance) to join in the project sprint. This is a very effective way to narrow the distance between each other, especially to reduce the chance of wrangling. Because coffee is frequently invited or invited to each other. I also often agree with some people to have a work lunch. I often talk about it and increase my feelings. Sometimes a long walk can make people speak freely. This close relationship will help you solve problems in the face of critical moments of a very challenging project.
Entrust and make it take effect
It is easier to understand the importance of assigning tasks to others. Because you are not a Superman, you can't pour tea into the water, you can do everything, you can eat and drink. Sometimes, you are not the most suitable candidate. When the team has many things, you must learn to entrust others to take charge of appropriate tasks. For some leaders, entrusting others with an important goal may not be very reassuring, but I am very used to entrusting others, and sometimes I am too used to it. This is a problem that my former boss pointed out to me. Once, I assigned a team member a technical difficulty and a coordination challenge. The process is slow. However, I have given him too much time to make the effort. In fact, he needs some improvement in some aspects, and in some aspects, he needs more active help. My boss pointed out that if I want to make others do whatever they want, the premise is that I need enough confidence. I need facts to prove that my decision is correct. Exercise caution when entrusting. If the project fails, I am the final person in charge, not others. Therefore, I cannot accept the failure of entrusting others.
If you have an important task to delegate to someone else, you can either
1) I already know this person very well. Knowing that he can handle the problem with extraordinary combat power, or believing that he can quickly learn to improve the skill of fighting chicken;
Or
2) You need to teach him at the beginning and ask him from time to time until you have enough confidence in him.
I did this. At the beginning of the project, I asked the principal to give me an overall plan and tasks that can be completed within a few days. At the beginning, we often followed up and confirmed the task in the next few days. Based on the completion status, it is estimated whether he can achieve the final goal with high speed. After confidence is gradually built, details about the project can be reduced. At this time, the delegate can be put more open. However, it should be noted that, if you are too tight, you may feel that you are not at ease with him, and he will also be timid, which may be worse than blindly entrusting. Therefore, there is a subtle balance between delegation and prudence.
I think I need to strengthen it. I would like to remind you of this.
Token feedback is a continuous process, not an event once or twice a year
The annual feedback is very common in Silicon Valley. It is not intended to embarrass employees and make them blame each other. It aims to help employees gain a more comprehensive understanding of others. Feedback includes self-feedback and feedback from colleagues. Self-feedback is a process of self-evaluation, which goals have been fulfilled, which goals have been missed, which have been done well, and which aspects have yet to be improved. However, it is inevitable that you are biased because you are both a player and a referee. Feedback from colleagues is like a mirror that allows you to see yourself beyond 180 degrees. On Facebook, the official 360-degree feedback was twice a year and linked to compensation. However, in recent years, feedback and compensation evaluation have gradually been separated. For example, one thing I do is quarterly Feedback, with incorrect timing and formal evaluation. In those days, I asked all colleagues in the relevant group to write comments and feedback about my members on a voluntary basis. Just a few words would work. I will collect and integrate the information, and finally report it to my team members at the 1-1 meeting.
If you need to wait six months to collect comments, many related stories will be forgotten. The longer the story is, the blurrier the memory, and the more void the comments. Moreover, when feedback and compensation are tied together, normal people (even normal people) will naturally put their eyes more on compensation, rather than opinions.
In addition to quarterly light feedback, daily feedback should be immediately transmitted if necessary. The Effect of Hot-hitting iron is better.
It is also important to pass out the opinions effectively. 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 pass on opinions. I have tried either of the two methods. I'm not sure which one is more effective. I will talk about it here. One is to give priority to questions and gradually promote their thinking, such as "how did you think about the meeting you hosted yesterday", and the other is a straightforward theme, "Hey, let's talk about the meeting you held yesterday, and then start talking about my own feelings. Either way, you must give the other party an opportunity to explain your behavior; always assume and tell him that I believe in his will is good. To avoid falling into the endless round-robin debate "you did XXX yesterday", "no, I did yyy" and "I think you did XXX, first, I want to reach a consensus with them on "what we perceive is facts. Based on this premise, we will focus on how to change others' feelings and finally make things complete smoothly. After all, many people collaborate to complete most important things. When they realize that they want to improve a certain aspect, how to change is a relatively easy problem-smart people have always been able to find ways to improve, and what I do is to cooperate with them in brainstorming. The final purpose of the conversation is to generate a better concrete solution on how to do it next time.
For the effective delivery of feedback, another 4 points are mentioned.
1) feedback is not necessarily negative. It can be one of the strengths of others. You really appreciate it. You want him to stick to this 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 incentive effects.
2) Feedback must be truthful and reasonable. If you only tell others that he is bad, but you don't know when the waves have been wasted or why, it will not be used unless you ignition him. Therefore, when relevant personnel include their own feedback, I need to provide instances. For example, "I think he cocould 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.
3) Feedback must be operable. It is of little significance to give people an advice. It makes much sense to propose a scheme for reference at the same time. But note that it cannot be a command (that is, Qingbao ...). For example, in the previous example, "I think he cocould make meetings transparent and shorter by having an agenda sent ahead of time ..." It is easy to operate.
4) (personal preferences) in the last two evaluation cycles, I wrote feedback to about 15 colleagues (half of whom are not directly affiliated to me. I share what I wrote with them directly. Out of this idea, I was less impulsive in my next assignment. Because they can read the data, I cannot hack it. Because they want to read data, I need to make it meaningful, easy to understand, and add many examples. In addition, I welcome them to discuss with me directly. As a result, they also understand that the painstaking efforts I have made to write these feedback are for their progress.
You can do more than you think.
This is not a case. I have my own example. We once thought that it would be difficult to reduce an outrageous fraud rate to the acceptable level. It is really difficult. But think about it, we finally got a little better, and dropped it down to half of the limit. It feels great. For a long time, the entire team was very confident and engaged in plug-ins.
Niu people constantly surpass themselves. Give them an out-of-the-box goal, with the appropriate tools, appropriate help, enough confidence and a certain amount of time. They will surprise you and surprise you. In this regard, Qiao bangzhu is an expert and has tried and tried many times.
But there is a premise to do this-You cannot be afraid of making mistakes. If a mistake is to be severely punished and the failure is not allowed, the ox can only be captive in the box, and there is no way to achieve a breakthrough. I often say "ask for forgiveness, not for permission". On Facebook, it is easy to be forgiven to make bold mistakes.
But on the other hand, be careful. As mentioned at, you can't just give an outrageous goal to a person and expect him to surprise you. It may be a shock. You need a real cow, at least a potential cow. As a leader, one of your tasks is to help them, encourage them, and detonate their potential. Facebook has no shortage of such cool-men to be detonated.
10 don't over-design or premature optimism
Some engineers have an instinctive impulse to put their ownProgramScale, even before these programs see the dawn of large-scale use. At the beginning of Facebook, I was also a impulsive engineer. But after several failed products, I remember this lesson. Do not design too much or optimize too early. Simplify and refine the design of core functions. You can add features or scale up only when you see the trend of products being used in a large scale. One of my products used a maximum of 2 million users (Facebook's user base was around 40 million in the whole month at that time ), however, my implementation has done a lot of extra work to satisfy more users. I felt very good when I was doing it (I felt very good, and I felt that many people would not crash when using products), and then I felt miserable.
However, this may not be applicable to architecture work. For example, the failure of the Friendster website is that the performance of its infrastructure has long been unable to cope with the rapid growth of users, resulting in a slow website or even a crash. Before the peak of user growth, you should have done enough foreplays on the architecture. Otherwise, it will be like a Friendster. But at the same time, you must be aware that the user access mode you see, your website features, when you only have 0.1 million users, it may be very different from 0.1 billion users. All major architectural actions that are too early and too frequent may be counterproductive. In this regard, you must be careful when judging.
----------
It's fun for Facebook for four and a half years. I learned more than ten items. But I hope this sharing will be helpful to my friends. At the same time, I wish all my friends good luck in their current roles.
(Original address: http://zhichang.umiwi.com/2012/0208/59733.shtml)