CS50 Lecture by Mark Zuckerberg

Facebook 创始人马克·扎克伯格 2005 年 12 月 7 日(21 岁)在哈佛 CS50 的客座讲述


  • 技术的进步,设备成本的降低,开源软件的发展,让个人开发者越来越有机会和能力去独立创造自己的作品

  • 技术的需求是随着业务的发展而被需要的,过早地建设冗余容错和 HA 分布式系统可能就像穿大鞋不合脚,过早复杂化且冗余可能变成了真冗余(上家公司反省)

  • Surrounding yourself with smart people

  • http://cs50.tv/


I think that one cool characteristic of a lot of the companies that end up being really successful—not that we are really successful, but I think we also fall into this bucket—is that they started off as someone trying to make something cool and not someone trying to make a company. You kind of have Google came out of Larry and Sergey’s PhD Dissertation at Stanford, and Yahoo came out of just, I guess, also some Stanford guys just kind of screwing around in their dorm room, and eBay came out of some guy trying to build a marketplace for his girlfriend to exchange PEZ dispensers. Amazon was a little more calculated. So I can’t imagine that any of those people really had that much advice, and it seems to have worked out OK for them—But, I mean, at the same time I’m not going to sit here and tell you not to get advice on stuff—And a lot of times people are just too careful, too. I think it’s more useful to make things happen and then apologize later than it is to make sure that you dot all your l’s eyes now and then just not get stuff done. (t=1298s)

笔记:很多成功公司的特征是开始仅仅因为这件事很 COOL 去做,而不是预先有很多方面的过多考虑,直接动手做要比过多考虑最后什么都没做更好。也即更多的是生命的冲动本能,而不是理性的压抑限制。

I mean, most companies are started on like a couple of ideas, and those are a few things that they can do well. So, I mean, Yahoo’s like we’re going to organize all this information in the world like by directory. And that was what they started off doing, and then they kind of diversified out as time went on and built more staff. And a lot of that staff is like the core of their business now. I mean, it’s like they didn’t originally do search. And now directory just doesn’t exist. It sucks. There’s no utility for it. I mean, Google’s big thing was like they did PageRank. And then, I guess, out of PageRank, they have search. And now they kind of extend that to do other similar type of algorithms, searching in other spaces. But, I mean, you can kind of tell how all the other staff that they’re doing is sort of tangential. And it’s like they’re trying really hard to make PageRank and other types of algorithms that are very similar to that work in their spaces, and it’s just not as elegant or pure of an idea as the original one was. So in Facebook, for example, when it just got started, what I thought was the most interesting thing was just to be able to type in someone’s name and find out information about them. And there was hardly any of the stuff that was there now. There was no groups. There was no messages even. There was poking. I mean, so it’s like you kind of get started on some kind of core idea. And in generally, the company will do well, because I guess the people who are starting off working on that core idea kind of understand that single core idea in some sort of unique way. But that doesn’t imply that they have any better understanding of anything else, than anyone else. So that’s why surrounding yourself with a lot of smart people is really important. (t=1389s)


But like, I guess in general, the idea is that it doesn’t have to be perfect the first time around. And as long as you get the architecture as right as possible, then a lot of other implementation stuff isn’t going to be as big of a deal, and you can sort of work that out at any time. (t=2038s)


Q: But when you started, it was just sort of you and your roommate as a student. And obviously, there were domain knowledge issues of computer science that you had to deal with and you didn’t know about. I mean, how did you go about figuring out how to do things? Did you decide to take certain classes? Did you get books? Did you go hire or get involved with some more people? How did you work through those issues of learning computer science as you worked through this?

A: The internet is a pretty good tool. I think that that’s how we did most of it. I mean, we kind of make a point of not hiring people for skills, because I guess the theory is if someone has skills in an area and has been doing it for 10 or 15 years, then that’s probably what they can do. And that’s good, and that mean that they can do that. But if you hire someone, say right out of college, or someone younger who you’re just hiring them for raw intelligence, then the idea is that they’re going to be able to learn stuff really quickly. And there’s a lot of information available all over the place, and now, withing recent years, there’s good tools for sorting through that. And I think that the most performant people we have are sort of younger people, who didn’t necessarily know that much about anything specific coming out of college. I mean, a good example is, Dustin, my roommate at Harvard wasn’t even a CS major. He was an economics major. And he’s just a really smart dude, and was able to pick it up. Some of the other good people we have are EE majors out of Stanford or Berkeley. And they aren’t even CS all the time. Like math people, if you studied math, you can learn the stuff relatively quickly a lot of the time. (t=2064s)

笔记:互联网是学习新知识的新工具和新窗口,学习能力是唯一要求。不要只因为技能去招人,比如一个领域 10 到 15 年经验的人,他能够完成任务但也可能只能如此。在这个迅速发展的互联网时代,只有招聪明的学习能力强的没有过多条框约束的年轻人,才能创造抓住新事物的属于未来的新企业,而不是旧技能经验再次重复堆积而来的历史产物,那样永远只是个过时的没有活力的将亡企业。

Q: What’s the actually the priority right now in growing the company?

A: I never really hire people just because they have business skills. It’s actually kind of funny, but knowledge of a lot of core CS stuff is really important in business, too. One of the main things that you learn when you’re studying CS is complexity and scale, and that is a huge issue in business, too. How do you go from having five people to 100 people, and what’s the change in the dynamic there? And like, how is a sales force going to scale from five people to 100 people? It’s like the same type of intelligence that can figure out both of those problems. And it might be a different type of person who cares to solve the problems. But I think that the second part of my answer to what you said is that I think we’re sort of continually in the process of building out infrastructure, and I don’t think you ever get out of that process. And we’re kind of focusing not on just building something and figuring out how to make money off of it and sort of maximizing the value of our business in the short term, but instead, sort of always looking to maximize what the long term value would be. And I think that in doing that, you kind of need to always just be building out your base, and not at any time be worried about maximizing your money. (t=2186s)