10 lessons I learned at Facebook (Part 2 of 3)
(2012-01-24 22:39:49)
标签:
it |
Part 1 is
here:
中文版回来的. 再等等 :)
4
Listen to the data but don't just rely on it
To decide a product direction, you need imagination,
passion, and strong nerve. But not data. However, you will need to
rely on the data to keep your team on the course. And the data can
help tweak the product from what it is at first to what
it needs to be at last. Here is a story. We didn't have strong
confidence that we would be successful by going all-in on machine
learning. But we knew we had to do it because it's the right way,
if not the only way. We wanted something that is smarter and more
scalable than rules engine.
But you need to listen to the data. Without data,
it's only your hunch that's working, and you can be wrong, very
wrong. Data can help validate your hypothesises, filter out the
wrong guesses, and find the best alternative from the many. At a
time, we thought the linkage tools (people sharing cookies, credit
cards) should yield great results. It turned out that it's only
true to certain degree depending on the fraud characteristics. In
certain period, the stolen/sold credit card cases were dominant.
That's when linkage analysis would be helpful, not when hacked
accounts were more common. The hunch didn't fit the then reality.
It was
Just want to mention A/B test a bit. A/B test doesn't tell you which product to build; it tells you which variation of a defined product might be more successful.
5
Avoid the time suckers
When I started as an engineer at Facebook, I really
enjoyed the days and nights mostly immersed
What's time not well spent?
There are many time suckers. I will only pick the top
two in my mind.
Emails. Not every email stands equal. I learned to
use filters to distinguish the important ones from the
others.
Two tips I'd like to share
here.
1) I have a tested filtering system (I cannot say
it's absolutely good, but it works for me); I reply to important
and urgent emails right away, and flag these (especially from my
team, PM, partners, and managers) that I can wait until the end of
the day to process. I make sure I read, and respond if necessary,
all the flagged emails before I go to bed. For a lot of FYI-only
emails, the filters put them rest in peace in the right place and I
take a peek at them once in a while - like the social emails asking
what's the best winery to visit in Napa. They are usually great
threads, but I don't have to jump onboard.
2) I have a personal email policy which I inform all
the people I work with closely. This is how it reads "p.s:
experimenting a personal email policy, and only checking emails
every 3
Meetings. Meetings are popular time suckers, just
like emails. You don't and shouldn't attend every meeting. And it's
perfectly fine to skip meetings if the perceived value (to you or
others) is trivial. If you want to be more polite to the host, send
him/her an email and ask whether you can be MIA. Usually the answer
is yes if you have already thought about sending such an email.
Many times I ask my PM to attend in lieu
One thing that usually gets neglected is to
consciously think about what things you SHOULD
NOT
6
Affinity is effective for reducing people tension
There is always coopetition between the engineering
team and the support team. There is always a wish that engineers
can solve all problems. But the truth is that not every problem can
or should be solved in a technical fashion. There are insights from
the customer support and operational folks that even the best
engineers cannot obtain, because engineers are simply not in the
field reviewing fraud cases.
There is also coopetition between related engineering teams. The brotherhood exists in deeply connected teams, like the anti-spam, security and the anti-fraud team (my team), etc. These teams try to learn from each other and share experience and technology as much as possible. But sometimes we made independent efforts on slightly different but similar problems, and we tried to sell each other our solutions and ways of thinking.
I found the key to keep the coopetition in a healthy
state was to increase affinity among the people, which inspired
mutual trust. I spent a great deal of my time building
relationships with related teams. I had bi-weekly or monthly 1-1s
with these team leaders. The frequency depends on how close we were
on the problems in concern. Either I or someone from my team would
regularly attend selected teams'
In #1-#3, I shares my thoughts on the following points:
#1 Set high expectation and measure it
#2 Hold on to your vision, but be flexible on the details
#3 ONLY work with the best people
In #7-#10, I shares my thoughts on the following points:
#7 Delegate and validate
#8
#9
#10