分类目录归档:公司的艺术

菠萝和筷子的故事

公司里面有很多的典故,菠萝和筷子是比较流行的一个。今天在Donews谈起,让我想起来提一下。

百姓网每天都会供应水果。夏天里面最受欢迎的是菠萝。阿姨把切好的菠萝泡在盐水里,用乐扣乐扣的大盒子装着放在进门的桌子上。不过阿姨经常忘记拿筷子,让吃菠萝心切的同事们围着菠萝打转。这种事情在每个公司里呆过一段时间的人都会遇到。

所以我们很多时候讨论问题的时候,就常用这个场景说事儿。我们说

我们宁肯有菠萝而没筷子,也不愿意反过来,有筷子而没菠萝

最理想的情况是既有菠萝也有筷子,但如果一定要在两者中间选一个的话,大家更容易看到事情的实质,是菠萝,而非筷子。有了菠萝,就算是拿手抓也能吃到菠萝,而没有菠萝,就算是筷子刀叉俱全也没有任何帮助。

网站有用是菠萝,美观是筷子;买到便宜东西是菠萝,节省时间是筷子。。。能举出来的例子太多了。在资源有限的情况下,先解决菠萝的问题,然后才需要考虑筷子。。。至于用户嘛?有了菠萝,他们自然会找到筷子的替代品的。

大学教育教会了我们什么?

这个问题最广为流传的回答要数教育学家怀特海的阐述:“当一个人把所学的东西都忘记了以后,剩下的就是教育教给你的东西”。剩下的是什么呢?

学习能力

以前在交大菁菁堂,我随便问大家一个问题,这个礼堂有多高?没有人(也不太应该有)立刻举手。但我问:如果明天早上,我再回来,有谁有信心那个时候告诉我答案,举手的人有一多半。有人说“可以查Google”,有人说可以自己做目测的仪器,还有很多方法。我最切身的体会就是,第二天就要考试,但却从来没有读过课本而熬夜的经历,真是大学的精华部分 – 就是学习能力

在离开学校以后,每天面对的都不会是以前经历过或者学过的东西,这个时候,大学这种系统的训练就开始发挥作用了。毕竟很少有哪个环境,比大学更加不那么实用主义,让人把已经被推导上万次的东西重新推导一遍。真的是“结果并不重要,过程才最重要”,这种标准的无用功程就是提高学习能力的过程。

不知不觉就知道的东西

对于是不是要读MBA,我曾经问过很多朋友。其中,让我印象最深刻的是许佚同学在大雪里的小木屋中分享的观点。他说从Stanford MBA毕业以后,再也记不得期间学到过什么有用的东西。直到他和以前的同事和同学聊天的时候,才惊讶的发现,他们居然不知道财务和金融的一些常识。这就是学习四个境界的最后一步:我不知道我知道

我们的很多经历,看似蹉跎,看似没有提高,却不知不觉的,知道了很多,而自己却浑然不知这种变化。在各种经历中间,还有哪些比大学学的东西更加感觉“无用”,却又最潜移默化的影响着我们的思维呢?

常识

上大学的时候,我躲在计算机房里面,几乎逃掉了所有的课。考试前有一节《数字原理》的复习课,我去了,被老师抓住上去设计一个十字路口红绿灯控制的题。当时逼得我是绞尽脑汁,用与门,或门那些基本的东西活生生的搭了一个还能用的东西出来。我们和蔼的老师评价很有趣:“这位同学相当的聪明,没上一节课居然能搭得出来,不过,就是缺乏一些基本的常识。”我们就算自认为聪明和刻苦,也必须承认,如果听了一些课程,懂得那些“常识”和“惯例”的话,做事情会轻松得多。

最近在面试的时候,遇到很多非常聪明和刻苦的程序员,我常常惊讶于大家写出来的程序和思路,但就是一个问题,缺少科班出身的人那种系统性的解决问题的方法。我们认可聪明,但是毕竟承认,计算机学科所面临的很多问题,是有几十年甚至更长时间的数学研究曾经完美解决过的问题。这些,或许也是没有接受过大学的同学们所欠缺的。

到这里,我常常感叹自己和Wendy的差距。以前我花了很多的功夫把百姓网(当它还叫客齐集的时候)的代码“朝歌”用面向对象的方法重写了一遍,自己感觉非常得意,回家向Wendy炫耀,她让我崩溃的问了我一句:“难道不应该这么写吗?还有别的写法吗?”这。。。还有在解决子集问题的时候,还是靠她指点迷津。Wendy做为交大计算机系科班出身的典型非计算机爱好者,经常性的让我这个仅仅是“计算机相关专业”汗颜。有些事情,不承认不行。

能力是判断一个人的最重要的标准。每个大学都不同,不同人的大学经历也差异很大,但这一段经历,和其他经历一样,与一些能力的相关性还是很大的。望在校的同学们珍惜这段时间,并且理解,会议中美好的过程,在经历它的时候,常常以丑陋,无聊,和迷茫的形式出现。大学教育教会我们的东西,不总那么显而易见。

百姓网公开笔试题结果展示

前几天出的一道笔试题《百姓网公开笔试题:查询条件的子集判断》,收到来自各地的很多解决方案,有C的,有C++的,有PHP的,还有Python的。我建议大家把自己的解答放在自己的blog上面,我这里给链接,大家移步到他们的blog上去看。

原文的评论中也有很多精辟的思路,大家可以借鉴。

《程序员》杂志闫辉在邮件里问了这样一个问题:

你认为程序员的成就感来自哪几个方面?

这是我的回答

每个程序员都是不同的,他的成就感也是不同的。有的人看重纯技术的优秀 (以Linux平台上的C程序员为多),有的人看重结构的完整(以Java程序员为多),还有人看重对业务的贡献(我见到的微软系统 的比较多一些)。各种都有,而且程序的世界是一个广阔的世界,可以从汇编,到Python,从几个字节的纠结,到几个 Terabyte的推敲,里面成千上万的技术爱好者在里面乐此不疲。

如果说一定要概括程序员这个行业对比其他行业来说比较独特的成就感,我觉得是“追求卓越”。程序的世界有点像奥林匹克运动,在相对 一致的预设条件下进行公平的竞争。奥运会是在在一样的跑道或球场上,一样的规则下,追求更快、更高、更强;程序员的世界,也几乎在一 样的 条件下(标准化的操作系统,语言,和硬件),追求更快,更多,更好。程序员的PK,更加公平。所以当两个程序员在PK最优 的实现的时候,结果常常是两个互相佩服的程序员;很难设想两个文学家,政治家,或者银行家的PK之后,会不会有类似的结果。

在这次大家对于同一个问题的不同的解决方案的尝试中很容易看到这一点。大家其实不是为了面试,就是技术人员看到有挑战性的问题本能的反应就是解决它。

再次谢谢大家的参与。

后注:今天的公司简单咖啡厅供应的每日水果是菠萝。不过阿姨过于匆忙,又出现了水里泡着菠萝,但是没有筷子的情况。我一直喜欢“有菠萝但是没筷子”,也不要“有筷子但是没菠萝”。很多事情的轻重缓急,常受此场景启发。

百姓网招贤纳士

以下是发布在百姓网上面的百姓网招聘启事。原文在:http://shanghai.baixing.com/zanzhushangguanggao/a49997799.html。有兴趣的同学欢迎和我们联系。请注明来自王建硕blog。我热忱的期待着和业界最优秀的你一起参与创造一家快速成长,改变世界的技术公司。

我们成立于2005年3月1日,前身是美国互联网巨头eBay旗下的一家创业型子公司客齐集中国,成立至今已经发展为每月浏览量近10亿,每月新增信息量超过300万条的超大型C2C分类信息网站。想了解百姓网更多,请亲身体验一下百姓网的方便和效果(http://www.baixing.com)

为什么要在百姓网工作?我们总结了以下2大理由:
一,享受创业型精英小团队才有成就感
1. 我们只有竞争对手1/10的人员,但是却始终保持着行业领先地位
2. 我们在09年平均每个百姓网员工给公司贡献的收入超过100万
3. 我们每天都经历着高压力、高成长、高回报

二,享受国际化大公司才有的优越感
1. 我们与全球各个国家的顶尖C2C行业专家分享成功经验,公司一半以上员工去过欧美学习培训
2. 我们有完善的业绩考核体系和人事系统,可以确保按劳分配,多劳多得
3. 我们的办公室位于上海交通最便捷的徐家汇,紧靠地铁1号、9号、10号线
4. 我们为外地来上海的员工全额提供前两个月的房租,并在之后持续提供房屋补贴
5. 我们每天提供免费早餐、新鲜水果,每周组织篮球、羽毛球活动,每季度组织公司旅游,让工作之余充分放松
6. 我们这是美国斯坦福大学的实习基地,动不动就有牛人过来: Facebook CTO、linkedin创始人、amazon的首席科学家…都来过了

如果你对百姓网的职位感兴趣,请将你的简历发送至:shhr@baixing.com,请在邮件主题注明应聘职位。

*****************以下是正在招聘的职位***********************************************************************

信息编号:49997799  
转发给朋友

百姓网公开笔试题:查询条件的子集判断

这是发布在百姓网官方blog上的一道公开笔试题。转发到这里,我知道我的blog读者有很多优秀的程序员,还有我敬仰的一些技术大牛,热切希望能够得到你的来信,并且有机会一起解决一个又一个这样有趣的技术挑战。也欢迎转载,多谢!

=====================================

百姓网需要最聪明,最有潜力的技术牛人来帮助我们给世界惊奇。为了让我们互相找到的过程变得更加直接了当,我这里有一个公开的笔试题目。这是我们日常的工作中遇到的一个典型问题。如果你有答案,请直接寄到 geeks @ baixing.com而不需要使用 shhr @ baixing.com。

题目

请写一个算法,判断一个查询表达式是不是另外一个查询表达式的子集。

稍微加一点解释

就拿SQL语句为例,如果查询A是

age > 21

查询B是

age > 20

我们知道,A所代表的集合是B所代表的集合的子集。凡是满足A的条件的记录,也一定满足B的条件。我需要一个算法,在给出任意两个表达式以后,判断一个是不是另外一个的子集。

if($queryA->isSubSet($queryB)) { echo(“A is subset of B”);}

为了简单起见,只需要实现最简单的AND, OR逻辑操作,大于,等于,小于三种比较操作就好。最好用PHP,其他语言,比如Java也没问题。

这有什么用呢?

这是个我们不到10人的技术团队日常典型需要解决的问题。给个例子:百姓网为了应付更大的搜索数据量,把搜索分布在多个城市的多台服务器上。系统管理员可以根据数据的使用频度等规律,配置几个不同的数据库(MySQL的,和Solr的)。这样,当有一个新的广告出来后,子集算法根据搜索库的配置查询就可以决定,它更新到哪一个或多个库里面。

查询的时候,如果确认给定的查询条件是以前配置的一个库的子集,就可以只从那个库里查询了。这可以让我们轻松地配置几十个搜索库,而不用改一行代码。

热切期待优秀的你和我们联系。重复一遍:邮件请发到:geeks @ baixing.com

这里是百姓网的职位

Facebook的片段

表面看,这只是又一个好运的互联网新秀。但越仔细了解这家公司,你会越觉得他们的成功是有计划出来的,而非巧合—也许这才是Facebook最牛的地方。

2月的湾区阳光灿烂,美国280州际公路两边的绿色山坡,蔚蓝天空和飘逸的白云,让人觉得自己是 Windows XP桌面上的一个图标。下午,2点,终于来到Facebook这个神奇的公司。在他们的新家,Matt向我介绍一个人。他坐在5张桌子拼成的岛的里面一张桌子上,远离光线好的窗户,身后是一个人来人往的会议室。我们握手,然后我看他很眼熟,然后想了半天,总算觉得好像是……“Are you that Mark?”他说是呀。他就是Facebook的Mark Zuckerberg,创始人和CEO。这个比我还小7岁的年轻人,非常的腼腆,低调,不善言辞,就好像一个新来的还有些拘谨的实习生。

Facebook 这家公司一路走来,从外面看起来顺风顺水,comScore给出的从诞生到现在的访问量曲线好似造假般完美,永远稳步的向上。虽然我们可以用好运来解释这家刚刚超越Google的全美访问量最大的网站,但越是仔细的梳理这家公司的历史和文化,我越发觉得它的成功是计划而来,而非巧合。在短短的交谈中,我经常惊讶于Facebook这家公司的战略能力,和对未来的把握。

在这里,我把管窥的一些片段和我的心得,和大家分享。

功能的简约和统一

Facebook尽量把所有的功能的设计浓缩到所有用户需求中公共的那一部分需求,并且把握住这个底线,不轻易做得更多。所有的国家和地区,对于所有年龄的Facebook都是同样的界面,他们像宗教一样守卫者全球一个产品,一个设计。不同的地区,不同的人的页面,或许唯一不同的是他们自己的名字。至于功能?所有人一摸一样。因为功能的简约,内敛,使人没有办法把Facebook简单的称为美国的网站,或者年轻人的网站,因为,他追求的就是全球沟通需求的最大公约数 – 做的不多,确是被最大众所需要的那部分功能。通过果断的放弃看起来很美的小功能,Facebook可以专注于用简单的界面,满足全球的需求。

忘了是如何进入这个话题的,反正我们聊起了Facebook的蓝底白字的Logo。这可能是众多的 Facebook的特征中,比较代表Facebook的产品特性的一个例子。Facebook的logo非常简单,Mark的本意是尽量减少设计,以使它在所有的文化,所有的的地域都是普通的,好搭配的。我能想到的词,就是“百搭”。现在世界上最流行的单一规格的笔记本,多是黑色封皮,并且没有任何 logo。越是简约的设计,越是在最多的场合适合各种不同的需求。对于Facebook这样的沟通网站,越是让自己退到一个不显眼的,不张扬的地位,才越让用户的沟通成为主角。

计划下的扩张

与其他的类似网站第一天就开放给整个世界的用户来用不同,Facebook的扩张步伐显得谨慎和有条理。在Facebook开放给其他学校以前,它先获得了哈佛广场的3000个用户。3000个用户对绝大多数网站来说是个不值一提的数字,但是对于哈佛这个5000个本科生的学校来说,等于牢牢地占据了哈佛的市场。

在一个市场占据了绝对优势以后,Facebook向Boston周边的大学开放,并缓慢的向其他常春藤大学扩展。直到后来才谨慎的加入了高中,之后是公司,直到很后来,才允许所有的用户注册。Mark深知一个道理,与其在各个市场都是第二名(一个最好的反面例子是hi5.com),不如一个一个拿下。当在一个城市达到爆发式增长的临界点以后,才转下下一个战场。纵观Facebook的扩张线路图,每一步都扎扎实实,在扩张的同时,小心的守卫并加强着已经确定的领土。

RISK 游戏

在Facebook两层楼的办公室里,除了硅谷公司标配的开放式办公环境,大得惊人的电脑屏幕以外,最引人注目的是随处可见的RISK桌游盒子。RISK是一个Facebook的老员工经常在谈话中提及的一款桌游,这款1957年诞生就风靡美国的游戏是在一个世界地图上展开的。2到6个人分别用兵力占据一个个国家。每个玩家既可以把所有兵力放到一个国家保证一定万无一失,却只占据一个国家,也可以分散到很多国家,保证占据最大的面积,或者两者之间折中的策略。这款桌游的有趣之处在于,一个小时到三个整天的不等的对弈过程,总以一方消灭所有敌人占据整个世界结束。这和互联网战争,惊人的契合。

Facebook的扩张,就是一个现实版的RISK游戏。先进入那些疆土,如何进入,在何时进入下一个,变得至关重要。 Facebook办公室天花板的国旗,在现在的阶段是装饰,但在开始全球扩张的过程中,更像是令旗。就像RISK游戏一样,他们的市场部门先发现战略性重要的一批国家(比如德国),然后每天都在问一个问题:这个国家有互联网用户中有多少百分比在Facebook上面?一旦这个比例达到一定的阀值,按照他们的经验,Facebook有99%的可能性能够垄断这个市场,他们再次转向下一批国家。Facebook通过清晰的战略规划,阶段性的,十几个国家一批的方式,逐步从美国,扩张到欧洲,再到亚洲,终赢得了大部分的世界。现在Facebook全球超过70%的流量来自美国以外就是初步胜利的结果。

暗流

说道Facebook的扩张,一个很有趣的细节就是,Facebook巧妙的利用了一些传播的暗流,把自己从一个很强的区域,或者人群,带到另一个比较弱的区域。以大学为例,Facebook在哈佛大学的绝对优势,对于西海岸的斯坦福大学却是鞭长莫及。Facebook的市场部门聪明的发现了高中的校友网络是连接这两所大学的纽带或者说暗流。通过有策略的开放高中,哈佛的学生带动了他们的高中的其他高中同学,而这些高中同学有些就在斯坦福读书,并且由此渗透进一个新的疆土。同样的道理,跨国公司和国际的经常旅行者就是这样的暗流,把Facebook从一个国家带入另外一个国家。。。而Facebook是如何发现并且掌控这些暗流的呢?是数据!Facebook的杀手锏就是他们贡献给阿帕奇基金的项目Hadoop Hive。Facebook每天产生250T(25万G)的数据,这些数据进入上千台电脑组成的Hive集群计算,并且快速的产生对于所有问题的回答。一个大的惊人的数据处理能力让他们可以在海量的数据中获得信息,并且用信息指导作战。Facebook在设计暗流的流动,其实就是口碑传播的渠道。通过口口相传的方式传遍了世界。

用户和管理团队的迷思

我觉得最有意思的,就是Facebook对于用户的态度。 Facebook的每一次改动,都会影响上亿的用户。在海量的用户的声音中,找到正确的方向并不比大海捞针更加容易。比如2008年的一次改版,当天就有超过一百万的用户联合签名抵制,上百个用户组在巴黎,在伦敦,在几乎你能想到的任何地方集会,抗议Facebook的改动(在Google的图片搜索中搜索Facebook Protest就可以看到很多夸张的图片)。结果,这个改动依然在众多的批评中铁打不动的保留了。这让外界颇为迷惑。对于用户协议的修改也是同一现象的翻版。在Facebook中,我听到一种有道理,却又总觉得有些怪异的说法:”爱的反义词不是恨,而是默然(indifference)”。到底Mark有多么确定,他比百万的用户更了解,他们需要什么呢?

对于管理团队,同样的迷惑也在外界的脑子里打转。Facebook的管理团队是如此的不稳定,不断传出Mark身边的核心成员离职的消息,包括只工作了三个月的HR和CFO(原YouTube的CFO),也包括另外两个共同创始人。媒体劈头盖脸的指责和怀疑Mark是不是还仅仅是一个25岁的孩子!

现在,当这些来自用户,内部,外部的猜疑统统淡去的时候,我们发现在迷雾里走出来的是出奇的强大的Facebook。Facebook的发展不但没有停步,而且从来没有那么快过。而新一轮的资深得多的管理团队的到位又让围观者人闭住了质疑的嘴巴。在Facebook的办公室,我简短的和Facebook的新任COO Sheryl Sandberg打了个照面,她正站在会议室每口,精力充沛的招呼大家开一个短会。这个以前Google的全球销售和运营副总裁给我留下了深刻的印象,让我惊讶的意识到,牛人就是牛人,她可以帮助Google成为巨人,也可以帮助Facebook。

Facebook在备受质疑的2008年做了些什么,我知道现在也不得而知,那段历史对我依然是一个谜,希望有机会可以更加深入的去了解:Mark当时是如何做那些大胆的,甚至有些胡闹,却事后被证明是正确决定的。

对我们的启发

当我收拾行囊,离开硅谷的时候,我仔细的回顾了我得到的一个个片段。我仅仅能够从不小心开着的门缝里窥到Facebook的一些成功的细碎的小点,还没有办法拼成一个更大的图景,但我是如此幸运,在这次旅行中拜访了像 Yelp, Twitter, Craigslist等等有趣的公司,从他们的创始人或者近距离的投资者听到了这些公司的一些片段,并从这些片段形成了一个模糊的印象,那就是,Facebook的成功,并不仅仅是一家公司的成功,而是一个产业的成功,或者一个地区的成功。我惊讶于硅谷的这一个公司群的管理团队的战略思考的深度,而这些思考,又如此相似,比如:Yelp也是RISK游戏的实践者,Second Life也有对数据的痴迷,更不要说Facebook和Google千丝万缕的相似点。对于中国的创业公司,我们需要竞争,也需要人员在公司间的流动,以及更好的大学,把战略的思考能力,对数据的挖掘能力,以及创业精神深入的解读能力不断提升,因为伟大的公司,毕竟更经常以群体。而不是孤立的形式出现。

=============
后注:这个是我的原文。经修改后发表在《中国企业家》杂志4月期,题目是《Facebook片段:最年轻首富基因解析

没有比解决瓶颈更高效的事情了

我最恨的情形就是在虹桥机场排队等出租车。一边有上千辆出租车在停车场等了几个小时,一边几百个乘客要排一个小时才能上车,就是因为中间有个愚蠢的人心安理得的当瓶颈。新的虹桥机场大了几倍,思路却一样

我受自由市场经济理论影响很深,受不了这种不充分的市场。比如前几天世博会预演的时候,居然要排几个小时的队吃午饭,情形和虹桥机场排队一样。因为进世博园卖吃的,是多高的标准和多大的荣光,结果严格的审查和行政的控制,导致供应量远低于需求。我常常在YY如果这是一个自由市场,我们楼下卖考红薯的武师傅和其他的小商小贩一定推着小车就去了,不说是不是有碍世博会的伟大形象,至少不会出现吃不到饭的情况。世博会的那一堵围墙,就是供和求的瓶颈。

在公司,里面可以做的事情很多,外面可以承担工作的人很多,而一个不高效的面试流程或许就是这瓶颈。只要打破瓶颈,很多奇妙的事情就会发生。比如我家楼下,我本以为不会有任何商业机会的地方,一夜间冒出了85度C味千拉面DQPapa John’s肯德基和一个巴黎春天百货。结果一夜间不知道从什么地方冒出了茫茫多的人,各家店都是人满为患。这个商业中心,就是解决这个DQ要挣钱,我们要吃DQ这种问题的瓶颈。

没有比解决瓶颈问题更高效的事情了。

社会责任和慈善是两个概念

Jack经过一番沉寂,再次推出惊人之作:ppdai.com,一个基于P2P的小额贷款社区。

今天在信里,Jack提到:

这种情况下,该不该借钱? [真实]
我昨天接到一个电话:

母亲住院,需要一笔钱(不多,几k),贫困,还款能力差(月收入800);
我让他带尽可能多的信息过来公司:身份证,户口本,工作合同等;
在网上找到我们的;

我很为难:
1. 是不是骗子?
2. 不是骗子的话,还款能力太差?还不出怎么办?
3. 如果不借的话,是不是将来会后悔?

请帮助一下同样无助的我。这种情况下,我应该怎么做?

我的一点拙见:

这个很难办。我觉得一个金融促进机构(就像ppdai)不应该把过多的社会义务揽在自己身上。是不是借钱,最主要的依据是有没有偿还能力,而不是这笔钱做什么。所以我认为不借。

至于如果有实力建立一些风险基金,就是给偿还能力很低的,但是的确需要钱的如是群体,同时预测这种贷款的坏账率会非常高,并做相应处理,也是不错的举动。但把商业和慈善混起来做,不是什么好主意。

其实,我觉得任何一个商业公司都要有社会责任感,就是商业的活动本身应该有益于社会的进步和发展,对环境友好,对员工,顾客和股东有价值。这是不容置疑的。但社会责任不等同于慈善。两者都是应该做的,但是目标不一致。一个是已持续发展为目标,而另外一个是以付出和回报为目标的。