编程不需要天赋和激情

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

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

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

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)”相当于慢性自杀

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

原文发布于微信公众号 - 大数据钻研(bigdata118)

原文发表时间:2016-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据架构师专家

七字诀,不再憋屈的运维

2533
来自专栏java一日一条

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。

931
来自专栏IT派

一个32岁入门的70后程序员给我的启示

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是...

3495
来自专栏程序员与猫

月末总结与推书

1213
来自专栏北京马哥教育

关于压测的宏观个人总结

工作角色定位 首 先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说...

3417
来自专栏睿哥杂货铺

DevOps 漫谈:从作坊到工厂的寓言故事

谈到 DevOps 概念,有几本书是绕不过去的,《凤凰项目:一个IT运维的传奇故事》(The Phoenix Project:a Novel About IT,...

4298
来自专栏ThoughtWorks

写给自学者的入门指南

在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。...

4137
来自专栏ATYUN订阅号

人工智能平台Jane为企业提供高效信息检索

筛选旧文件对于一个人来说耗时耗力,而对于拥有数千名员工的大型组织和企业来说,更如同噩梦一般。这就是前Answers.com首席执行官David Karandis...

1402
来自专栏Crossin的编程教室

学习编程的七个阶段

第1阶段:机会 你很开心,你一直想学这个新的内容,比如说某编程语言,无论是规划还是环境所迫,总之你终于有这个机会学习了。 第2阶段:没有根据地乐观 谷歌搜索——...

3278
来自专栏工科狗和生物喵

一个机械人到半只程序猿的进化之旅

开篇语 好吧,名字是不是很有新意?写出来的刹那我差点在自习室感动到落泪,但是后来想想,好像有点文不对题啊~~但是谁叫这个标题这么帅呢?一向务实的我都忍不住败倒在...

47110

扫码关注云+社区

领取腾讯云代金券