斯坦福监狱实验是一个流传度甚广的心理学实验,斯坦福的一位心理学家在地下室搭建了一个模拟监狱,并找来了一批志愿者随机把他们划分为囚犯和狱警。志愿者们穿上囚犯或狱警的服装进入监狱,他们都是正常人,以前没接触过监狱,所以一开始都无所适从,不知道怎么做。但是过了一会,他们开始适应自己的身份,“囚犯”开始按照囚犯的状态生活,胆战心惊害怕狱警,“狱警”也开始对“囚犯”飞扬跋扈。过了两天,他们互相交互角色,原来扮演“囚犯”的人和扮演“狱警”的人身份互换,惊奇的是,他们又很快适应了互换后的角色。

这说明所处环境会极大的影响人的行为,这是很容易找到例证的,比如在图书馆的你大概率会沉浸于学习,至少对我来说是这样的,感觉图书馆是一个神奇的结界,待在里面学习新知识哪怕是只是赶作业也是一件很享受的事情,但是待在宿舍或者家里的话,大概率会想着如何摸鱼。我们耳熟能详的孟母三迁的故事也是一种说明,孟母想给年幼的孟子提供一个良好的学习环境。还有就是我们常常对一些职业有一些刻板的印象,背后也是隐含着职场环境会影响一个人这样一个假定,如:会计师斤斤计较、律师冷酷……以下是来自[阮一峰老师博客](科技爱好者周刊(第 209 期):程序员是怎样的人 - 阮一峰的网络日志 (ruanyifeng.com))中对程序员印象总结。

(1)你会变得习惯孤军奋斗,靠自己解决问题。编程本质上属于个人劳动,不是团队劳动。一段代码终究需要你一个人写出来,不可能两个人合写一个函数,你写上半段,我写下半段。现代软件工程是基于分工的协作,每个人完成自己那份工作,然后才能互相协作。

(2)你会习惯孤独。编程非常孤独,日复一日、长时间地与机器打交道,很少与他人面对面交流。如果遇到赶工期,一连好几天,都说不了几句话。我能想到的类似工作,大概只有作家。

(3)你必须非常细致,做到谨小慎微。每个细节都要考虑到,任何一个字母、一个小数点都不能写错,每个逻辑条件都要理清。只要有一个疏忽,代码就会无法运行,或者留下安全隐患。

(4)强大的心理承受能力。程序员是压力很大的工作,公司越大,压力越大,代码写得慢、写错了、或者写不出来,你都要承担责任。有时候出现重大线上 Bug,别人在屁股后面催着你,你却迟迟想不出问题出在哪里,又没有办法测试,那种心理压力真会让人崩溃。

如果再扩大化一点,这也可以解释唯物史观的“时势造英雄,而不是英雄造时势”。之前在知乎看到一个提问“为什么小小的沛县能有这么多人才?”,刘邦带着他们从沛县一路打拼出来,他们所处的环境和经历的磨难让他们成了人才,而不是从沛县起家时就是人才的,当然也要足够运气活得够久,还有更多具有人才潜力的胚子跟着刘邦从沛县出来还没机会表演就领盒饭了。

当然也不能完全忽视天赋的影响,毕竟很多人在同一个环境成长最后差异性也是显而易见的。那么环境和天赋的影响各自影响的比例有多大呢?这个恐怕很难给出一个定量的度量,毕竟首先连天赋和才能这两个东西都难以度量。但我有一个粗浅的想法,一个人在没有形成自己稳定的个性之前,受环境影响是很大的,这一般发生在童年或者青少年时期,如果一个人童年原生家庭非常不和谐,或者在学校里遭受欺凌,对心理健康和个性人格的发展是有很大影响的,所以为孩子提供一个健康的成长环境是非常有必要的。