4位神级大牛说“别神化程序员了,编程不需要天赋和激情!”

4位神级大牛说“别神化程序员了,编程不需要天赋和激情!”


以往从来没有一种技能被神化到这样的高度:


你不仅得有天赋,还得具备激情,才能成为一名优秀的程序员。


好像那些写代码的人是早就决定干这一行似的,“当他们还是孩子的时候,他们就打算将来去写代码”。如果你缺少这两个因素之一,那么你要么是一个骗子,要么不会走得太远,不论是哪种,其实都是因为你不适合编程的缘故。这种根深蒂固的成见不仅是完全错误的,而且还是有害的——但是许多成功的程序员都赞同这个观点。



 ◆ 

Jacob Kaplan-Moss (Django的创建者)


在这篇描述中,Jacob Kaplan-Moss指出:

神化“天才程序员”是极其危险的。一方面,它设置了极高的准入门槛,吓跑了许多想成为程序员的人。另一方面,它也困扰着那些已经成为程序员的人,因为这意味着,如果你没有编程“天分”,那么基本上,你将一事无成。导致的结果是,作为一个程序员,你所有的时间都用在了学习编程和工作上,从而对生活质量产生极大的影响……(略)…….我们需要摆脱这种态度。编程只是一堆可以学到的技能,它不需要太多的天分,而且成为一个平庸的程序并不可耻。


在他的Twitter个人资料中,他形容自己为“不是一个真正的程序员”,以表明他对这种误解的深恶痛绝。



 ◆ 

Jacob Thornton(Bootstrap的创建者)


Jacob Thornton之前是Twitter的一名程序员,现在就职于Medium,并且是Bootstrap的创建者——Bootstrap在Github上收获了超过8万个星。他在以下对“编程神话”的采访回应中给出了另一个反例:


Jacob Thornton讨厌计算机

他说,“我讨厌计算机,”面容一本正经,完全没有开玩笑。 “我本来打算在New School中学习社会学。”


接着他描述了他的第一份工作:

“我被雇用去做一份我甚至有点不合格的工作。每天,我都可能会被炒鱿鱼。我辛辛苦苦地工作,努力学习更高级的Javascript语言,因为我不知道代码中发生了什么事情。”


“我坐在那里,思维放空,就是这样,我居然搞定了。我不会被解雇了,哦也。”


“我生命中最真实的时刻是当这家初创企业的整个团队聚集在我身边,要求一个XHR请求的时候。我从来没有做过,我只知道那是什么。因此我开始敲键盘和刷新浏览器,但什么都没有发生。我试了几次。我开始慌了,我担心他们会知道我是个骗子,我是滥竽充数的。 突然我意识到,我已经忘了添加‘.send()了——我添加并刷新之后,页面出现了,然后团队成员纷纷赞扬说‘哦,真酷!’。然后他们回到了各自的办公桌。


这个故事听上去感觉和“天才程序员”如何执行工作的描述无关。那么,坚持走编程这条道路的动机来自于哪里呢?Jacob说:


在他的Twitter个人资料中,他形容自己是一个“计算机loser”。他最火的Twitter帖子中他把自己描述为“公司中最糟糕的工程师,但却是第三酷的”。这种态度和我们对刻板的程序员的看法完全相反。



 ◆ 

Rasmus Lerdorf(PHP的创建者)


Rasmus Lerdorf的言论经常引发争议:

其实我真心讨厌编程,但我热爱解决问题。


有些人的确是真的喜欢编程。但我不理解为什么他们会喜欢编程。


我不是一个真正的程序员。我会把东西扔到一块儿,直到它能工作,然后就继续前进。真正的程序员会说“是的,虽然它可以工作,但你泄漏了内存。我们应该解决这个内存泄漏的问题”。而我会每隔10个请求就重新启动Apache。


从他的话中,我们很难看出他对计算机的激情。像Jacob Kaplan-Moss和Jacob Thornton,他们对神化编程嗤之以鼻,所以,Rasmus Lerdorf或许也会称呼自己为伪程序员。



 ◆ 

David Heinemeier Hansson(Rails的创建者)


当被Big Think采访时,DHH提到:

这其实挺有意思的;当我习惯于使用PHP或Java开发的时候,我总是在找别的可替代的东西。我一直在寻找另一种编程语言,另一种……不一样的东西,在某种程度上能够让我觉得正在使用的语言不那么无聊的东西。


我是绝对不相信我会成为一个程序员的,当我用PHP和Java工作的时候。


他的自我介绍,看起来和“计算机天才”毫不相干。而且最后,他爱上的并非计算机本身,而是Ruby——这种语言的优雅。如果Ruby没有被发明,那么DHH可能现在正在做完全不同的事情。


从上面这些事例中,我们证明了有无数文章都对老一套的程序员神话持反对意见。下面是几个程序员最喜欢的笑话:摘自《关于软件开发者的59条令人捧腹但真实的编程语录》


One man’s crappy software is another man’s full time job.(Jessica Gaston)
一个人写的烂软件将会给另一个人带来一份全职工作。


Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
傻瓜写计算机能理解的代码。优秀的程序员写人类能读懂的代码。


Software and cathedrals are much the same — first we build them, then we pray.(Sam Redwine)
软件和教堂非常相似——首先,我们建造它们,然后我们祈祷。(Sam Redwine)


如果程序员的确都有这样多的天赋和激情,那么为什么这些笑话在程序员之中会如此受欢迎?


我在一篇Medium文章中发现了一些很有趣的语录,让我产生了共鸣:

总有人告诉你,你这样做是错的

总有人告诉你,你不是一个真正的程序员

担心“极客声誉(geek cred)”相当于慢性自杀


这篇文章无疑挑战了我们对编程的传统看法——成为程序员需要天分和激情。但是我只希望对那些开始编程之路的初学者,正在怀疑他们是否适合是否合格的程序员说:多尝试一些不同的学习方式,不要担心什么资格,不要轻信那些毫无根据的故事,也不要改变你学习编程的心态。不要放弃,除非你在尝试多种不同方法之后真的依旧一头雾水。编程不需要天赋,也不需要激情!

原文发布时间为:2016-06-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

上一篇:对话程序员:各编程语言十年来的发展史


下一篇:JavaWeb开发中Setvlet的部署以及应用