The Culture of the Computer World

The Culture of the Computer World

为什么书呆子不受欢迎

答案就是他们真的不想让自己受欢迎。 文艺复兴时期的代表人物阿尔伯蒂有一句名言: “任何一种艺术, 不管是否重要,如果你想要在该领域出类拔萃, 就必须全身心投入。 ”虽然“书呆子”饱尝不受欢迎之苦, 但是为了解除痛苦而让他们放弃“聪明”, 我想大多数人是不会愿意的。 对他们来说, 平庸的智力是不可忍受的。

《极客与团队》

1. 天才程序员的传说

  • 能让 Google Code 上的 Subversion 隐藏某个分之么?
  • 能不能实现这样的功能: 先把新建项目隐藏起来,等到准备妥当的时候再公开发布?
  • 我想推倒重来,能不能删掉整个历史记录呢?

这里的要害就是缺乏安全感,人们不喜欢自己做到一半的事情被别人指手画脚。


隐瞒是有害的:如果你一直单打独斗的话,你其实是增加了自己失败的风险,而且浪费了自己成长的可能性。

真正做出产品之前不愿分享好创意实际上是一场很大的赌博。一开始就踏错步的概率总是很高的,越早征求意见和反馈,就越能把风险降低。记住这句久经考验的原则—-“确保失败尽早发生,尽快发生,经常发生”。 相比担心自己的创意被偷走或是被别人笑话,你更应该担心自己是不是在错误的方向上浪费了大量时间。一个人躲在自己的小黑屋抖聪明是没用的

公车因子: 一个项目里,需要有多少人被公车撞到才能令其完全瘫痪。


社交技巧三支柱: 谦虚、尊重、信任。

  • 谦虚: 不要去担心你的个人形象是不是高大,而应努力去营造一种团队和集体荣誉感。
  • 尊重: 只有真正关心对方的人才会提出建设性意见,希望对方在自身或是工作上有所进步。所以学者尊重对方,礼貌地给出建设性批评吧。
  • 信任对方:

“老兄,你完全把这个方法的控制流程给弄错啦。你应该和大家一样用标准的 xyzzy 代码模式才对。”

(谦虚地把问题归到自己头上) “嗨~我有点看不懂这段代码的控制流程。要是用 xyzzy 代码模式的话会不户更清楚一点?维护起来也方便?”

接受意见改变自己没什么大不了的。不要随意挑起争斗。不要忘了,要别人听你话,首先是要学会当一个听众。承认自己犯错或是无知从长远来讲其实能提升你的形象。事实上它蕴含了 HRT 的全部方面;它对完表示了”谦虚”,这是有责任心、负责的态度,这也是表示“信任”别人意见的态度,同时作为回报,别人也会因为你的诚实和坚强而“尊重”你。

3. 团队文化

团队或者公司的创始人决定了团队大部分的特点,但它还是会随着时间不断变化发展。

大多数工程师都会犯的第一个错误是假设建设团队文化是负责人的事。

如果你想要优秀的工程师为自己的团队工作,首要的就是雇佣出色的工程师!

沟通的指导原则之一就是在同步沟通的时候(比如开会),人越少越好。而在异步沟通的时候(比如 E-mail),涉及的听众越多越好。


设计文档:

开发新项目的时候,往往很难抑制住那种想要立刻开始写代码的冲动,但是这么做的结果往往是糟糕的(除非你只是打算很快地做出一个粗糙的原型出来)。


在线聊天:

害怕自己会出傻问题的不安全感会让人更倾向于一对一的讨论,以避免当众出丑的风险。可惜这么做只会给团队增加负担,因为这样一来知识就无法分享,同事之间可能会重复不断地问同一个问题。

4. 大海航行靠船长

经理若能表明对手下员工的信任,员工就会感受到正面压力,并努力让自己对得起这份信任。

作为主管,不要忘记你创造的是不同的价值。

仆人式领导要为团队填补前进道路上的裂缝,并在必要的时候给予建议,同时还要勇于冲到第一线。仆人式领导唯一要做的管理工作就是对团队的技术和人事健康状况负责。


找到对的那个人的成本(不管是付给面试官的钱,还是花在广告上的钱,还是寻找推荐的费用)比起招到一个不应该招的员工的代价来绝对是微不足道的。

通常你怎么待人,他们就会怎么处事。所以如果你把他们当成孩子或者犯人,那么别吃惊,他们的行为真的会像孩子和犯人一样。


人们对有勇气道歉的领袖反而会倍加尊敬,和广泛的认知相反,道歉并不会降低你的威信。

CEO 只要动一动,就能让六七层之外的工程师齿轮飞速旋转!


工程师来问你建议通常不是要你去解决他的问题,而是要你帮助他解决问题,所以最简单的方法应该是问问题。


遭受失败的时候指责个人不利于团结,而且会从根本上阻碍承担风险的意愿。

刚开始的时候,指导你的手下,给他们自学的机会是非常困难的事情,但这却是优秀领导必不可少的素质。事实上,你只需要具备三个条件就基本可以胜任了:

  • 熟悉团队的流程和系统
  • 向他人解释事物的能力
  • 估计被指导的人到底需要多少帮助的能力

只要帮助团队设定好方向和目标,你就可以放手给他们更多的自主性,只要定期检查看他们有没有偏离方向就可以了。

“我不会对你撒谎,但是我会告诉你有些事情我不能说,或者我确实不知道。”


警惕三明治赞美法


我们认识一个主管,他自制了一张表格,列出了没人想干但是一定要完成的脏活累活,然后平均地分配给大家。

在刚刚担任领导职务的时候,你往往需要克制自己,把工作交给其他人去做,即使他们比你要花更多的时间才能完成。如果你已经有了领导的经验,然后去领导一支新的队伍,那么获得团队尊敬,并且跟上大家步伐最简单的办法就是卷起袖管亲自动手—–最好是那些没人愿意做的脏活累活。


你应该”雇佣比自己聪明的人”


知道什么时候做恶人:等待只会延缓问题的爆发。


真正优秀的主管一般对事物有没有回旋余地都有很准的直觉: “一两天试用说不定可以提升产品的类库”、”发布一个未来十年都需要提供支持的产品”,一定要好好权衡。


内部激励和外部激励: 工程师拥有自主权的意思就是他可以独立工作,不需要别人盯着才能干活。工程师的水平就和刀刃一样,只用到不磨刀的话,用不了几年,这把刀就钝了,运气差点干脆就废了。要让你的工程师有机会学习新技能,在现有的基础上继续磨炼提高。

4. 对付害群之马

要剔走的是行为本身,而不是人,单纯地区分好人和坏人是很幼稚的想法。

大多数人在行为出格的时候,要么是没有意识到自己过分了,要么就是根本不在乎别人的感受。无知和冷漠其实比蓄意更严重。绝大多数出格的行为都可以归结为缺乏基本的 HRT。


太追求完美会变得瞻前顾后、犹豫不决。

别太感情用事:

你的任务是写出漂亮的软件,没有义务讨好所有人,也不需要一再去证明自己存在的价值。你越是情绪化,就越容易浪费宝贵的时间去写一些激昂的回帖。


没有什么坏人处心积虑地想要毁掉你的文化—-大多数人只是被误导了而已;又或者是想要得到认可,同事又不太擅长与人交际罢了。

5. 操纵组织的艺术

在完成自己工作的前提下,要求更多的责任。

只要经理够开明,失败其实快速成长的最佳手段,认识自己的极限,然后逐步提升他们。和追求更多责任一样,用于冒险也是展现自己有能力做大事的一种方法。

你的经理不是千里眼,公司里几乎不存在沟通过多的情况,所以别犹豫,一定要在经理问你进展之前,就向他汇报自己在干什么。

害怕失败是糟糕的经理身上最常见的特征。


对办公室政治高手最好敬而远之,没什么事的话就躲远点,但不要口无遮拦地在公司里跟人说他的坏话。

在公司里,另外一个寻求改变的办法就是拉拢群众。当你找到足够的人支持你的创意或者是采用某个特定产品的时候,官僚机构常常发现已经民意难违了。

做承诺的时候要谨慎,而干工作的时候要尽最大努力。


  • 进取性工作: 界面改进、速度提升、操作性互动增强
  • 防御性工作: 代码重构、特性重写、修改数据库模式、数据迁移、改进紧急监控

不管技术债务有多少,团队也永远不应该花超过三分之一甚至一半的时间和精力去做防御性的工作,否则就等于政治自杀。


在对自己职位感到满意的前提下,稍微投资一点精力在获得晋升上面是保护自己的好办法。仔细研读公司的晋升流程,和你的经理聊一聊,看看哪些事情有助于晋升的,然后有条不紊地完成它们。


越短的邮件越有机会得到回复。

6. 用户也是人

太多选择会让人焦虑和痛苦。

Murphy’s law (墨菲定律)

从餐桌上掉下的面包片总是涂了果酱的一面着地,电影院里迟到的人总是坐在前排:

  • 任何事都没有表面看起来那么简单
  • 所有的事都会比你预计的时间长
  • 会出错的事总会出错
  • 如果你担心某种情况发生,那么它就更有可能发生

推荐文章