学海无涯苦作舟

2023-11-19

作者在Twitter上发的一条短讯:

“每一天,你一定要一起床就热情澎湃。否则,你就只是在打工。”

3:51 PM –2012-5-1

在我们创办Stack Overflow网站之后,有些人开始承认:我们构造了一个还过得去的“捕鼠器”,把大家都吸引到那里去提问和回答问题。不可避免的猜测也随之而来:我们是否可以用你们的引擎来构建一个关于各种主题的问答网站呢?我们的答案就是Stack Exchange。如果每月付我们129美元(或者更多),你也可以在我们的引擎上组建一个问答社区——针对你喜欢的任何主题。

好吧,我得忏悔一下:我从来没有真心对待过Stack Exchange。它是一个在平行宇宙里的并行工作,只和我自己的事业挨上一点儿边。有很多理由来解释其中的原因,但是如果我非得用一句话来概括,我会说金钱对于社区是有毒的。每月129美元听起来并不多——事实上也不多——但是公司的商业本质从一开始就渗透并扭曲了所有这一切。

毋庸置疑,Stack Overflow InternetServices Incorporated©®™严格意义上来说是一家商业公司——它甚至现在还拿到了风险投资——但是,我当初(和Joel Spolsky一起)创办它并不是为了挣钱。我的初衷,是想做些很酷的东西来让互联网变得更好。没错,并非只有我一己之力,我还将身边所有的程序员同伴都联合了起来,因为我知道我们之间总有些人能在别人混沌的时候保持清醒。

没有人是为了挣钱才来参与Stack Overflow的。我们参与Stack Overflow的原因是:

·       ­我们热爱编程;

·       我们想把自己的“面包屑小道”留给其他的程序员,这样他们就可以避免我们曾经犯过的愚蠢错误;

·       传授是通向精通的最好途径之一;

·       我们可以让兴趣自由地引领我们去任何地方;

·       我们想要贡献自己微薄的力量,一起为社区构建些伟大的东西。

译者注:面包屑小道(breadcrumb trails)意指做过记号的路。这个词出自童话故事《Hansel and Gretel》(又名《奇幻森林历险记》),讲的是HanselGretel的父亲外出干活时,后母乘机把这两兄妹赶走,将他们送往奇幻森林;两个孩子在去森林的路上沿路留下了面包屑,以便后母把他们丢下之后可以自己找到回家的路。

我不在乎你付我多少钱。当我向社区里的同伴展示我对技能的精通时,那份难以置信的满足感是你永远也无法复制的。这就是我们在Stack Overflow上做的事情:玩得开心,同时让互联网每天都一点一点地变得更好。

如果有人说StackOverflow比做他们的本职工作更让人满足,你会觉得奇怪吗?我反正一点都不诧异。

如果你听着这些像是“共产极端分子”的一堆无稽之谈,我能够理解。整件事情很难解释。但是,事实上有很多科学研究都已经证明了这些奇妙的动机。让我们从Dan Pink在2009年TED上做的演讲开始吧。

译者注:Daniel H. Pink(丹尼尔·平克)是美国的一位畅销书作家,他还是《纽约时报》、《哈佛商业评论》、《快公司》和《连线》杂志的撰稿人,美国前副总统戈尔及白宫行政部门演讲稿撰写人。他在世界各大公司、大学院校以及各种协会进行演讲,讨论有关经济变革和创造新型工作环境的话题。主要著作有:《全新思维》、《自由工作者的国度》、《菜鸟职场物语》、《未来在等待的人才》等。

译者注:Dan Pink这次演讲的题目是“The puzzle ofmotivation”。在线观看视频的地址是:http://www.ted.com/talks/dan_pink_on_motivation.html。

Dan的演讲围绕着“蜡烛问题”展开。假如给你下面3样东西:

1. 一根蜡烛

2. 一盒图钉

3. 一盒火柴

你怎样才能将蜡烛粘到墙上去?

这问题本身并不是很有趣。事实也确实如此。但如果你尝试以激励的方式让团队去解决这个问题,结果就很有趣了:

普林斯顿的一位名叫Sam Glucksberg的科学家,做了一个关于蜡烛问题的实验。现在我想给你们介绍一下这个实验。他是这么做的:

译者注:普林斯顿(Princeton)位于美国新泽西州西南的特拉华平原,地处纽约和费城之间,是一座别具特色的乡村都市。它以拥有一所世界级的大学而出名——普林斯顿大学是全美第五历史悠久的高等学府(第一为哈佛大学,第二为威廉玛丽学院,第三为耶鲁大学,第四为宾夕法尼亚大学,这些都是美国的顶尖学府)。

面对第一组人,他说:“我会为你们计时,以统计出通常情况下普通人解决这类问题所需时间的平均值。”

面对第二组人,他说:“如果有人解决这个问题的速度在最快的25%之内,这些人能得到5美元的奖励。另外,今天在这里参加测试的所有人当中最快的那位将得到20美元。”(这是很多年前的事了。如果计入通货膨胀,对于几分钟的工作而言这报酬已是很不错的了!)

接下来的问题是:第二组解决问题(比第一组)快多少?

结果很让人吃惊:平均而言,他们解决这个问题的时间(比第一组)多3分30秒。多3分30秒啊!这看起来完全没有道理。不是吗?我是说,我是一个美国人,我相信自由的市场主义。这结果完全出乎我们的预料。如果你想让人们做得更好,你就给他们报酬。可以给他们奖金、提成,让他们“人尽其才,才尽其用”。用物质奖励来刺激他们。这就是商业的运作方式。但是,这个实验展示给我们的不是这样。你用了一个与金钱相关的激励方法来提高思维能力和加速创新,然而这样的方法起到的作用恰恰相反。它让思维变得迟钝并且阻碍创新。

事实证明,传统的“胡萝卜加大棒”的激励方式仅仅对于那些重复的、机械性的任务有效。一旦你要做的事情稍微复杂一点,需要解决哪怕很小的、但没有现成解决方案或无规律可循的问题时,这些物质激励方式不但没有效果,反而会把事情弄得更糟。

译者注:胡萝卜加大棒是激励方式中的一种。这种暗喻是指运用奖励和惩罚两种手段以诱发人们所要求的行为。它来源于一则古老的故事,“要使驴子前进”,就在它前面放一个胡萝卜或者用一根棒子在后面赶它。

Dan Pink最终把这个主题写成了一本书:《Drive: The Surprising Truth About What Motivates Us》。

译者注:《Drive: TheSurprising Truth About What Motivates Us》的中文译本是《驱动力(在奖励与惩罚都已失效的当下如何焕发人的热情)》,由中国人民大学出版社于2012年出版。

你并不需要去读这本书。下面有个充满智慧的10分钟长度的白板动画,它能让你快速了解Dan Pink的主要观点。如果你今天只想看一个视频,那就看这个吧。

译者注:这段视频在YouTube上可以找到:http://www.youtube.com/watch?v=u6XAPnuFjJc。

内在激励的概念或许并不是新提出的,但是我发现很少有公司有足够的勇气去真正实行。

在建设我的团队时,我竭尽全力不辜负当年创办Stack Overflow的初衷。我不在乎你什么时候来上班,或者你如何安排你的时间。我不在乎你住在世界的哪个角落(前提是你有极好的互联网联接)。我不在乎你怎么做你的工作。我不会事无巨细都过问你,然后分配给你一大堆任务。这些都没有必要。

如果你想造一艘船,不要催着工人们去收集木材,分派工作,发号施令。你应该教会他们对无边无际大海的渴望。

——Antoine de Saint-Exupery

因为我知道,你和我们一样,渴望着这无边的大海。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学海无涯苦作舟 的相关文章

  • 国外程序员的BASIC情结——我的编程生涯始于BASIC

    关于BASIC Edsger Dijkstra曾经说过这么一段话 那些已经学过BASIC的学生是不可教化的 再去教他们优秀的编程风格注定徒劳无功 他们已经脑残 再生无望 成不了优秀的程序员 BASIC是Beginner sAll purpo
  • 你永远不会有足够的奶酪

    令人赏心悦目的产品和让人勉强容忍的产品之间的差别 就在于它们的细节有没有做好 在Human Factors International公司做的一篇演讲文稿里 他们提到了一个叫 哥伦比亚障碍装置 的东西 译者注 Human Factors I
  • Jeff Atwood质疑iPhone的单键设计

    我喜欢使用iPhone 但我对它的一个设计不敢苟同 苹果始终坚持 设备的正面永远只能有一个按键 我还买了一个Kindle Fire 它更离谱 一个按键都没有 我完全赞成 任何小器具的正面都应该在明显的位置上至少有一个 耶稣把手 一样的按键
  • YouTube上的版权保护

    早在2007年的时候 我曾写过一篇名为 YouTube The Big Copyright Lie YouTube 关于版权的弥天大谎 的文章 表达了我对YouTube又爱又恨的情感纠结 现在回想一下你在YouTube上看过的所有视频 它们
  • 软件定价:我们深谙其道吗?

    本文为翻译初稿 更多精彩内容 敬请关注 高效能程序员的修炼 人民邮电出版社 一段时间以来频繁光顾iPhone应用商店 以致于产生了个副作用 我开始从根本上改变了对软件定价的看法 这么多优秀的iPhone应用程序 要么是免费的 要么只卖区区几
  • 对你的屁股好一点!

    作为软件开发人员 买一把上乘的电脑椅也许是你能做的最明智的投资之一 事实上 在过去几年看过各种各样的椅子之后 我得出了一个结论 如果你想买一把上乘的椅子 你要花的钱不会少于500美元 如果你在座椅上花的钱没那么多 除非你正在经历那场跨世纪互
  • 坏苹果是团队的毒药

    最近一期的 美国生活 采访了WillFelps 他是华盛顿大学的一位教授 曾经组织过一次社会学实验来证明 坏苹果 的出奇强大的影响力 译者注 美国生活 This American Life 是一档叙事类的广播节目 每周一期 在超过500家电
  • 怎样招聘程序员

    在招聘程序员方面 没有所谓的神奇 银弹 但我可以分享一些建议和诀窍 它们经过我的实践证明是有效的 这些方法我多年来一直在用 我把它们总结如下 首先 要求通过几个简单的 Hello World 在线测试 我知道这听起来很疯狂 但有些自称是程序
  • 如何与人交流——程序员,赶紧生个孩子吧!

    原文作者 Jeff Atwood 每个家庭都应该生一个孩子吗 我不太愿意这样建议 因为当不当父母完全是个人选择 我始终尽量避免鼓吹为人父母的经验 但我越深入这个角色 我便越是相信 没什么比拥有一个小孩更能折射出成人世界里源源不断的荒唐 成为
  • 这样的会议让人很纠结

    很纠结吧 永远也不要参加这样的会议 顺便说一下 解决这个问题的方法就是 可用性测试 Usability Testing 好好想一想 我们做决定的时候 是要无休无止地争吵 最后谁吵赢了谁说了算呢 还是要基于真实的数据 这个变化是一场革命
  • Jeff Atwood倾情推荐——程序员必读之书

    英文版 Code Complete 2 中文版 代码大全 第二版 作者 Steve McConnell译者 金戈 汤凌 陈硕 张菲出版社 电子工业出版社出版日期 2007 年8月Jeff Atwood的推荐 Steve McConnell的
  • 象牙塔式的开发

    我向来不鼓励象牙塔式的开发模式 开发团队常年封闭在 高塔 之中 一门心思地做着魔法一样的软件 这些开发者根本不知道用户会怎样使用他们做出来的软件 你若问他们 最近一次面见用户是在什么时候 他们甚至可能都回答不上来 因为缺失强有力的证据 开发
  • 无我编程:你的工作不代表你

    原文作者 Jeff Atwood Johanna Rothman是这么描述 无我编程 这个概念的 25年前 Gerald M Weinberg写了 程序开发心理学 我在1977年发现了这本书 然后做了一个决定 放弃在电台做DJ的工作 打算做
  • 勿以专家自居

    对于权威 我心存芥蒂 我在 StrongOpinions Weakly Held 观点鲜明 但不固执己见 一文中曾经说过 当我了解到别人把我视为专家或者权威 而不是像伙伴一样的志趣相投者时 我就会觉得非常困扰 如果非要说我在迄今为止的职业生
  • 分页显示该休矣

    当你有很多东西要显示给用户 而且内容多得远非一个屏幕可以放得下的时候 你会怎么办 很自然 你会想到分页 在2007年 Vitaly Friedman写了一篇文章叫 Pagination Gallery ExamplesAnd Good Pr
  • 我同情那些不写单元测试的傻瓜

    J Timothy King写了一篇很棒的文章 先写单元测试的12个好处 Twelve Benefits of Writing Unit Tests First 遗憾的是 他在文章最后说的话完全是画蛇添足 然而 如果你不愿意改掉先写代码的老
  • 困惑:单元测试该在什么时候写?

    原文 http www codinghorror com blog 2005 04 good test bad test html 作者 Jeff Atwood 很多年以来 用于随机测试 ad hoc test 的工具我都是自己开发的 但在
  • 成为优秀程序员的方法就是抛开编程?

    原文 How To Become a Better Programmer by Not Programming 作者 Jeff Atwood 我在2006年写过一篇题为 Programmers as Human Beings 程序员 亦人类
  • 会议是浪费工作时间的最佳去处

    本文为翻译初稿 更多精彩内容 敬请关注 高效能程序员的修炼 人民邮电出版社 今天你开了多少个会 这个星期呢 这个月呢 现在你再自问一下 那些会议中有多少是值得参加的 如果把相同的时间用在工作上 你又能完成多少事情 这不禁让人想知道 我们究竟
  • 学海无涯苦作舟

    作者在Twitter上发的一条短讯 每一天 你一定要一起床就热情澎湃 否则 你就只是在打工 3 51 PM 2012 5 1 在我们创办Stack Overflow网站之后 有些人开始承认 我们构造了一个还过得去的 捕鼠器 把大家都吸引到那

随机推荐

  • mysql数据库中 控制流程函数 case

    1 CASE CASE value WHEN compare value1 THEN result1 WHEN compare value2 THEN result2 ELSE result3 END 解释 用value值来匹配 如果val
  • pcl入门笔记1:pcl的安装

    前言 最近刚入坑pcl 打算记录一下自己的学习历程 安装pcl前的准备 本教程使用的是windows下的预编译包安装 要想顺利编译程序 需要安装好微软的Visual Studio IDE和cmake 这两者安装过程笔者不详细介绍 读者可以自
  • 华为云计算之rainbow迁移原理

    华为云计算之rainbow迁移原理 一 华为rainbow迁移工具适用场景 1 rainbow介绍 2 业务迁移的应用场景 3 业务迁移顺序设计 二 迁移流程图 1 Windows块级迁移原理 2 Linux文件级迁移原理 三 rainbo
  • Dynamics 365应用程序开发 - 6. 使用Microsoft Flow自动化业务流程

    在上一章中 我们了解了如何使用Microsoft PowerApps轻松创建自定义商业应用程序 在本章中 我们将了解Microsoft Flow 它可以定义为一种基于云的服务 使用户能够构建跨多个应用程序和服务自动化不同任务和流程的工作流
  • 常见的Restrictions用法

    Restrictions eq Restrictions ne Restrictions allEq 利用Map来进行多个等于的限制 Restrictions gt Restrictions ge Restrictions lt Restr
  • v-show控制隐藏与显示--案例

    v show简介 1 v show指令的作用是 根据切换元素的显示状态 2 原理是修改元素 的display 实现显示隐藏 3 指令后面的内容 最终都会解析为布尔值 4 值为true元素显示 值为false元素隐藏 除了 v if v sh
  • selenium 获取某元素的 某属性 的值

    selenium 获取某元素的 某属性的值 1 先通过元素定位 获得此元素的 WebElement WebElement yuansu driver findElement By className buttonInput1 text 2
  • 显式的实例化与外部模板的声明

    2 12 2 显式的实例化与外部模板的声明 深入理解C 11 C 11新特性解析与应用 第2章保证稳定性和兼容性 本章中的新特性基本上都遵循了该设计思想 本节为大家介绍显式的实例化与外部模板的声明 作者 Michael Wong IBM X
  • Zookeeper之ZAB协议

    1 概念 Zookeeper使用 种称为Zookeeper Atomic Broadcast ZAB Zookeeper原 消息 播协议 的协议作为其数据 致性的核 算法 ZAB协议并不像Paxos算法那样 是 种通 的分布式 致性算法 它
  • 电脑修改用户(User)文件夹名称

    情景 Windows 11 的用户名与 C 盘 系统盘 中的文件夹名称不对应 可能是由于重装系统导致的 例如我笔记本中系统用户名是 fly 但文件夹名称却是 16490 Step 1 打开Administrator账户 搜索 cmd 右键
  • 二、字符串(36)392. 判断子序列

    392 判断子序列 给定字符串 s 和 t 判断 s 是否为 t 的子序列 字符串的一个子序列是原始字符串删除一些 也可以不删除 字符而不改变剩余字符相对位置形成的新字符串 例如 ace 是 abcde 的一个子序列 而 aec 不是 进阶
  • 关于游戏设计状态

    状态转移在数学里究竟是干嘛的我也不多说了 毕竟大家都是做游戏的 也不需要这么高深的数学知识 我就从一个实例开始讲一下吧 看不懂那我也没办法了 死套公式也行 只要调整下系数问题也不大 以武器强化为例 武器强化等级假如总共有十个等级 从一级开始
  • 数据结构----对称矩阵压缩存储中下标的计算

    一 压缩存储的概念 首先看一个对称矩阵 以深灰色为对称轴 由于矩阵内数据对称 因此只需将任意一边的数据存储起来即可 考虑到存储单元的线性结构 我们可以以一维数组的形式将其存储起来 需要存储的元素为 各个元素对应在一维数组中的位置示意图 按行
  • vue3+element+sortablejs实现table表格 行列动态拖拽

    vue3 element sortablejs实现table动态拖拽 1 第一步我们要安装sortablejs依赖 2 在我们需要的组件中引入 3 完整代码 4 效果 5 扩展 判断要拖动的行能不能拖动并放置到新位置 1 第一步我们要安装s
  • Promise {}

    Promise
  • 二叉树的链式结构实现

    文章目录 前言 链式结构实现 创建结点结构体 构建树逻辑结构 遍历二叉树 计算二叉树高度 结点数 叶子数 前言 对于一般的二叉树 非完全二叉树 满二叉树 而言 用顺序表去存储 会造成空间的浪费 所以一般采用链式结构实现 对于非完全非满二叉树
  • 前端Tabs表单的使用

  • 【codeforces #290(div 1)】ABC题解

    A Fox And Names time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard o
  • 08-10章

    第8章 函数 1 def 定义函数 2 形参 实参 3 位置实参 关键字实参 可给形参指定默认值 4 返回值 使用reture语句将值返回到调用函数的代码行 5 让实参变成可选的 将某个形参设置为空值 6 返回字典 7 向函数传递列表 在函
  • 学海无涯苦作舟

    作者在Twitter上发的一条短讯 每一天 你一定要一起床就热情澎湃 否则 你就只是在打工 3 51 PM 2012 5 1 在我们创办Stack Overflow网站之后 有些人开始承认 我们构造了一个还过得去的 捕鼠器 把大家都吸引到那