程序员

驱动你做一件事情的动力来源是什么?

不知道大家想过这个问题没有。一般人可能会想到两种驱动力。

  • 一种是生存本能带来的驱动力,即生物性驱动力。比如每天要吃饭、睡觉、上厕所,长大了要恋爱、结婚等。这种驱动力保证我们能够生存在这个世界上,是一种原始的驱动力。
  • 另一种是奖励或者惩罚带来的驱动力,即外在动机。比如老板承诺工作干的好有奖金,我们就努力干活。如果上班迟到会罚款,我们会早起等。这种驱动力会改变人的行为,使其多做鼓励的事情,少做禁止的事情。

如果只依靠这两种驱动力,那么你的人生会变得精彩吗?

很难。那为什么呢?

第一种驱动力只解决了你的生存问题;而第二种驱动力则约束了你的行为。你不想上班,但不得不上班。一旦你做某件事情获得了奖励,你就会对奖励上瘾。而当你认为你得到的奖励与你的付出不成正比时,你的行为就会松懈下来。

要想保持第二种驱动力长期有效,那么就需要管理者具有相当高的水平,比如确保内部公平和外部公平,报酬要高于平均水平,考核标准衡量因素要广。咱们作为打工的,能碰到这样的领导那肯定是烧了高香。能有10%的领导都做到以上几点就算行了大运了。

那么除了这两种驱动力,还有没有第三种驱动力呢?

答案是有。那就是内在动机,即完成某件事情带来的成就感和愉悦感。比如你打LOL,完成了5杀,那感觉嗨翻天了。还有你去跑步,第一次不间断跑了10公里,完成后的感觉肯定会非常奇妙。你修复了一个存在已久的软件故障,那么今天就会感觉很充实。这种没有人主动给你奖励或惩罚的事情你却干的津津有味。为了练好LOL中的大局观,你研习了数千盘比赛录像。为了能够跑的更远,你查阅了很多跑步相关的教程、书籍。为了修复你遇到的bug,你不惜翻墙来搜集相关资料。

如果你能驾驭这第三种驱动力,那么恭喜你,你的人生会一直前进。

关键在于,如何驾驭这第三种驱动力呢?你首先要问你自己一个问题:

我真的喜欢编程吗?我能确定我当程序员不仅是为了养家糊口,而是为了实现自己的人生价值吗?

这一点非常重要,它决定了你是否能利用第三种驱动力来促使你成长。如果你答案是为了养家糊口,那么很可能你成为不了一个优秀的程序员,并且在这条路上你越走越疲倦;如果你的答案是真心喜欢编程,那也很可能说明不了什么问题,除非你每天都在主动的学习和进步。

在编程的路上想要利用第三种驱动力,请先忘却掉它可能给你带来的奖励,而是切实的学习知识,充实自己,奖励只是你进步途中的副产品。如果你做一件事情先想着它有没有价值,会不会给你带来收益,那么你还是在利用第二种驱动力。能不能带来收益在你当时的环境中你是很难看出来的。举个例子,AngularJs刚面世的时候,我一个同事对其非常感兴趣,研读了很多相关的资料,并积极试用,虽然那时候它极不成熟。在那个时间点其实看不出来它会带来什么收益,说不定过几个月AngularJs框架就会销声匿迹。但是几年下来,我这个同事已经是国内AngularJs的专家了,社区里影响力很大,目前还在写一本关于它的书籍。

第三种驱动力,内在动力,其实就是自主性。当你做些不是工作范畴之内的事情时,你反而离成功更近。再拿编程来说,很多大牛在上班时间外,会写一些博客,参加一些社区聚会,翻译或者写书。做这些事情都是靠内在动力驱动的。所以他们成了大牛,而按部就班的程序员依然时普通的程序员。当你自发想做一些事情时,你无疑已经领先了很多人一大步,因为他们都在原地踏步。

第三种驱动力是一种良性循环,很容易就可以把人变得乐观,积极向上,感觉生活充满希望。善于驾驭这种能力的人会在生活和工作中都使用它,而工作和生活统一起来,不再相互冲突。拿我来说,我平时喜欢跑步,从一次只能10公里,跑到了一次可以跑15公里,20公里,42公里….直到上周花了17小时跑了72公里山路,本来计划跑100公里的,但是膝盖受伤,不得不终止。没人强迫我这样跑,我跑完了也没有任何金钱上的奖励,而且跑步本身其实也是蛮花钱的。

我为什么这么喜欢跑,那就是一种挑战自己的精神,看看自己的极限在哪里。我不和别人比,只和自己比。只要能证明今天的自己比昨天的自己更优秀,那我今天就没有白过。这种精神也会传染到我的工作中。工作中再大的困难都不算什么,别人能做到我也能。即使现在做不到,那么也会主动的寻找差距去弥补,去提升。如果你能从早上6点跑到第二天早上8点(我参加的比赛关门时间是26小时,从早上6点到第二天早上8点,我认识的好几个人都跑了25个多小时,而我在跑了17小时候因伤退赛),那么你会发现很多以前对你来说不可能的事情都不再那么困难。

好了,希望大家都能更好的利用第三种驱动力,即内在动机。这种驱动力不仅要用在工作上,更要用在生活上。有了孩子以后,我认为生活比工作更重要,工作只是为了创造更好的生活。