写程序不需要天份,也不需要热情
从来没有一个技能,曾经被神化到这个程度:
“你不但要有天份,还要有热情,才适合写程序。”
那些写程序的人,好像“从小就立定志向,决定未来要写程序了”。缺乏其一的话,你要嘛是个假货,要嘛走不远,总之就是不适合。
这种深植人心的刻板印象不但大错特错,同时还是有害的。
随便找几个工程师都能证明这点。
Jacob Kaplan-Moss(Django 创造者)
Jacob Kaplan-Moss 的这份简报提到:
一个平庸工程师的自白
这种关于“程序天才”的神话非常有害,一方面它把行业门槛设置得特别高,令很多人望而却步,另一方面它也在折磨产业内的人,因为你如果不能 rocks ,就会变成 sucks ,所以不得不用一切时间来努力学习和工作,导致影响生活。…(略)…我们应该改变这种态度,写程序只是一些技能,并不需要太多天分,它是可以学习的,而且做一个平庸的工程师不丢人,
他本人在 Twitter 的自我介绍直接写“不是真的程序设计师”,透漏着他对这种迷思的不耐烦。
Jacob Thornton(Bootstrap 作者)
在 Github 拥有八万颗星的 Bootstrap 作者,前 Twitter、现任 Medium 工程师 Jacob Thornton 的一篇采访也是这种迷思的反例:
Jacob Thornton 痛恨电脑
当他说“我痛恨电脑”的时候,并不完全在开玩笑。…(略)…他说“我本来要去念社会学的”
接着描述了他第一份工作的情况:
我拿到了一个远超我能力的工作。每一天都可能被开除。所以我非常努力工作,想搞懂 JavaScript,因为我不懂它到底在干嘛。
我一生中最现实的一刻到了。整间公司的人围在我身边,要我做一个 XHR request。我根本没做过,我只稍微听过而已。于是我开始打字、重新整理浏览器,然后什么都没出来。我反覆做了几次,知道自己完蛋了,他们发现我是假货了。接着我突然发现自己忘记加“.send()”。我加了之后再次重新整理浏览器,画面成功显示。整个团队感觉像在说“喔,酷。”然后就各自回办公桌了。
我在那里坐了15分钟。心想,就这样。我搞定了。我不会被开除了。
这段描述一点也不像“程序天才”在职场的表现。
至于支持他一路走来的动机是什么呢?他说:
我是一个高度在乎同侪的人,我做前端的朋友总是会告诉我哪个地方做很丑或是在哪个浏览器上坏掉。感觉真的很棒。我真的只想跟朋友一起写程序,一起工作。
他本人的 Twitter 自介写“computer loser”,
置顶推文是“公司里第一烂的工程师,但是第三酷”。
这种态度跟刻板印象完全相反。
Rasmus Lerdorf(PHP 之父)
Rasmus Lerdorf 的言论常常引起广泛争议:
- 我其实很讨厌写程序,不过我喜欢解决问题。
- 有些人热爱写程序。我不懂他们为何会这样。
- 我不是一个真的工程师。我把东西弄一弄,弄到能跑之后就不管了。真的工程师会说“这段程序能跑,但内存没管理好,我们来修好它”。我只会说,一直重新开机不就好了。
- 从他的言论,很难看出他对电脑本身有多少热情。
他也跟 Jacob Kaplan-Moss 以及 Jacob Thornton 一样,懒得对写程序的迷思多做解释,
干脆直接说自己是 loser、假工程师了。
David Heinemeier Hansson(Rails 之父)
DHH 在接受 Big Think 访问时提到:
说来有点好笑。我以前写 PHP 跟 Java 的时候,常常花时间去摸其他程序语言。到处摸看看其他程序语言…随便什么都好。写 PHP 跟 Java 实在太闷了,我需要用这种方式让自己暂时抽离。
我以前写 PHP 跟 Java 的时候,完全不觉得自己之后会当程序设计师。
整段看起来都不像是一个“电脑天才”的自我介绍。
最后让他爱上的不是电脑本身,而是 Ruby 程序语言的优雅性。如果 Ruby 没有被发明,DHH 现在也许会做完全不同的事情。
这一类可以说明刻板印象大错特错的文章实在太多了,
看看工程师们最爱的几个玩笑:关于工程师 59 条搞笑但却真实无比的语录
- 一个人写的烂软件将会给另一个人带来一份全职工作。
- 傻瓜都能写出电脑能理解的程序,优秀的工程师写出的是人类能读懂的程序。
- 开发软件和建造教堂非常相似——完工之后我们就开始祈祷。
如果工程师都很有天份跟热情,这些笑话又怎会受欢迎呢。
再看看 Medium 上很受欢迎的学习系列文章:资深开发者给后辈的七个 Coding 学习心得
其中的几个建议
- 也许常常有人说你是错的
- 也许常常会有人跟你说“你并不是个 Coder”
- 不要在意外表,能力才是一切
无非就是想打破这类写程序的迷思、无意义的资格论神话。下次又有人学到一半,开始反省自己适不适合、够不够资格的时候,我只想跟他说:你就多找几种方式学学看吧,不要抱持那种奇怪的资格论。很多时候其实只是搞错方法、搞错心态而已。真的完全学不懂再放弃吧。
写程序不需要天份,也不需要热情。
- 堕落小生 [Opera 36.0|Windows XP] 2016-06-29 11:02 1 赞 回复
- 心有戚戚啊
- 来自117.136.75.158的 Mobile Safari|iOS 9.3 用户 2016-06-25 08:06 12 赞 回复
- 没天份是一点问题都没有,不过既然做这行,感觉起码要有做好的态度,不然怎么加工资
- 何亮 [Chrome 49.0|Windows 7] 2016-06-23 13:18 1 赞 回复
- 我也是一个computer loser,之所以code,那是因为喜欢解决问题。酷比
- vio [Chrome 51.0|Windows 10] 2016-06-23 11:15 5 赞 回复
- 我的热情~好像一把火!
- 来自陕西西安的 Firefox 45.0|GNU/Linux 用户 2016-06-23 10:48 4 赞 回复
- (接上)另外,作者其实举的例子里面还有自己的主观臆测,更让作品的可信度大打折扣。里面的一些笑话完全是自嘲,是对一些无聊编程的反感,但是又对解决问题——创造性编程兴致满满,这正如Rasmus所说「我其实很讨厌写程序,不过我喜欢解决问题。」作者完全会错了意。原谅我 ad hominem 一下,作者是不是对编程毫无认知呢?是门外汉呢?还是为了炮制如许文章不得不胡扯一通呢?
- 来自陕西西安的 Firefox 45.0|GNU/Linux 用户 2016-06-23 10:43 13 赞 回复
- 没有热情和天分的态度更可怕。作者举的例子很有可能是幸存者偏差,而且你还说不清他们到底有没有天分。从常识判断:没有天分——努力一把还可以;没有热情——做出来的东西敷衍了事。这篇文章毫无价值,作者顶多能得出结论「这些很酷的黑客居然有如此不为人知的一面」,但不能得出结论「写程序不需要天分和热情」。
- hello_linux [Firefox 49.0|Windows 7] 2016-06-23 10:26 2 赞 回复
-
写程序不需要天份,也不需要热情。
Helllo World
Hello Linux