10 lessons I learned at Facebook (Part 1 of 3)
(2012-01-18 20:51:46)
标签:
杂谈 |
A quick briefing about myself - I joined Facebook in early 2007
and have been through many challenging projects. A lot of problems
were new and unseen. A lot were above the scale history has ever
seen. A lot of hard times but also great times. By the time I left,
I was managing the risk engineering team that was in charge of
payment fraud and customer service tools. Right now, I am doing
some angel investment work for fun, while preparing to start up my
own company. See more of my background and interest
at
Before we start, here is the disclaimer :)
1- Everything here was derived from my belief and practice from my 4.5 years at Facebook. It worked fine for me within the Facebook culture. That doesn't mean it will work for you. All seeds need the right soil.
2- I would not try to convince you this is the best practice.
It's not.
3- The reason I wanted to write this was because I wanted to
share. It helped me distill my life experience.
4- A lot of these may not be new or useful at all to some of
you, but I hope some do.
OK, let the lessons unfold.
1
Hold on to your vision, but be flexible on the details
As a leader, you will have to rely on yourself on the vision (at least for the scope of the work you are charged for), and these who work with or for you will rely on you for the vision. What is a vision? It's a depiction of the end state. It is where you want the team to land. It is the new life after effort. It is the north star, the direction. Here is an example. When I started the payment risk team, we only had rules engine. Rules were human written. A rule is a simple logic with very limited variables in it, such as "if registered < 30 days AND spending > $100 AND first_time_spending is TRUE AND user is from Indonesia, then reject the transction." Humans cannot deal with more than 10 variables, effectively. We wanted to be much more scalable. We wanted to automate a lot of things machines can do better than humans. So we set a vision that we would want to replace majority of rules to be machine learned models. The vision allowed us to add a research engineer who has a PhD in machine learning and another engineer who had similar hands-on experience before joining Facebook. The bet was bold, but the future needed it.
But you need to be flexible on the details. There are ALWAYS
multiple ways to reach a destination. You need to learn
to
2
ONLY work with the best people
Great people only want to work with great people. They become better by being together. A-players have very low tolerance on B-players. What defines "best people?" My understanding is that someone who can quickly utilize what s/he knows and learns what s/he doesn't to get things done to an extent that exceeds expectations. It's their basic instinct to beat expectations, their own expectations. For them, good enough is never good enough.
There are many benefits of having only the best people in place.
1) It makes you much more willing to delegate. From my experience,
great people don't trust unfamiliar people. They need to know you
are as good as or even better than them, before accepting your
help. Otherwise, they'd rather burn themselves to do the work. But
if you have proved to them, they would trust you a lot and are much
more willing to delegate. A great team with effective delegation
can do way more. 2) They set examples for each other, and by doing
so raise the performance bar. It's amazing peer pressure. If it's
utilized properly, it creates benign cycles in the company. 3)
Great people challenge each other. I remembered one director of
engineering challenged us that if we could finish the code changes
to enable site translations by a certain date, he would dye his
hair blue. Challenges like that make "boring" work more like a
game. It's fun to be part of a game. Of course there were more
serious challenges, and great people just love challenges (either
challenging others or getting challenged) 4) Great people learn a
great deal from each other. I would not have been in Facebook for
more than 4 years if there were not much to learn. For
inexperienced people, this is even more true. We have hired very
smart graduates who were motivated to prove their awesomeness. They
didn't want to come to a company to have a comfortable and not
challenged life. They wanted to learn a great deal to nourish their
experience, to accomplish missions impossible and advance their
career paths. They want to prove yes, they can. They want to be
with great people to make all this possible.
You don't want B-players but how to not have them.
First,
3
Set high expectation and measure it
As a leader, you need to set your expectation high but still
realistic. High enough so your team doesn't get bored. Realistic so
they don't get burned too badly. You want to create an experience
for them so when they look back at the end of the journey, they
could say: hell, I didn't know I could do this. This is awesome. In
Facebook, like most other Silicon Valley high tech companies,
expectation is also linked to compensation, so it's very important
to set up the expectation clearly ahead of
it.
And you need to find an undisputable way to measure it. I spent
a lot of time working with the team to figure out what are the top
3-5 goals for the coming quarter and what the metrics should be to
measure the goals. Thus we have measurable goals. The goals are
assigned to or grabbed by individual engineers or a group of
engineers and their partners in other functions. In this way, we
not only have a list of 3-5 top metrics we can always rely on to
quickly tell how we are doing, but also know who is behind each
goal. The team success is well linked to individual performance.
For example, the biggest achievement of my team was to reduce the
dispute rate of credit card payments by 75% in 1 year's time
through multiple measurable goals in each
quarter.
One thing to emphasize - you still have to be realistic. Having a 10X revenue boost when you only have a 10% market share is probably not realistic. Steve Jobs is really good at pushing his teams beyond their potentials but they got burned badly (even though they were really proud of what they had achieved). 99.9% leaders are not Mr. Jobs, and they don't need to be him. You can still achieve a lot by running a sustainable team while realizing your team's true limit.
In #4-#10, I will share my thoughts on the following points:
#4 Listen to the data but don't just rely on it
#5 Avoid the time suckers
#6 Affinity is effective for reducing people
tension
#7 Delegate and validate
#8
#9
#10