以往从来没有一种技能被神化到这样的高度:
你不仅得有天赋,还得具备激情,才能成为一名优秀的程序员。
好像那些写代码的人是早就决定干这一行似的,“当他们还是孩子的时候,他们就打算将来去写代码”。如果你缺少这两个因素之一,那么你要么是一个骗子,要么不会走得太远,不论是哪种,其实都是因为你不适合编程的缘故。这种根深蒂固的成见不仅是完全错误的,而且还是有害的——但是许多成功的程序员都赞同这个观点。
Jacob Kaplan-Moss (Django的创建者)
在这篇描述中,Jacob Kaplan-Moss指出:
神化“天才程序员”是极其危险的。一方面,它设置了极高的准入门槛,吓跑了许多想成为程序员的人。另一方面,它也困扰着那些已经成为程序员的人,因为这意味着,如果你没有编程“天分”,那么基本上,你将一事无成。导致的结果是,作为一个程序员,你所有的时间都用在了学习编程和工作上,从而对生活质量产生极大的影响……(略)…….我们需要摆脱这种态度。编程只是一堆可以学到的技能,它不需要太多的天分,而且成为一个平庸的程序并不可耻。
在他的Twitter个人资料中,他形容自己为“不是一个真正的程序员”,以表明他对这种误解的深恶痛绝。
Jacob Thornton(Bootstrap的创建者)
Jacob Thornton之前是Twitter的一名程序员,现在就职于Medium,并且是Bootstrap的创建者——Bootstrap在Github上收获了超过8万个星。他在以下对“编程神话”的采访回应中给出了另一个反例:
Jacob Thornton讨厌计算机
他说,“我讨厌计算机,”面容一本正经,完全没有开玩笑。 “我本来打算在New School中学习社会学。”
接着他描述了他的第一份工作:
“我被雇用去做一份我甚至有点不合格的工作。每天,我都可能会被炒鱿鱼。我辛辛苦苦地工作,努力学习更高级的Javascript语言,因为我不知道代码中发生了什么事情。”
这个故事听上去感觉和“天才程序员”如何执行工作的描述无关。那么,坚持走编程这条道路的动机来自于哪里呢?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开发的时候,我总是在找别的可替代的东西。我一直在寻找另一种编程语言,另一种……不一样的东西,在某种程度上能够让我觉得正在使用的语言不那么无聊的东西。
他的自我介绍,看起来和“计算机天才”毫不相干。而且最后,他爱上的并非计算机本身,而是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)
如果程序员的确都有这样多的天赋和激情,那么为什么这些笑话在程序员之中会如此受欢迎?
我在一篇Medium文章中发现了一些很有趣的语录,让我产生了共鸣:
*总有人告诉你,你这样做是错的
*总有人告诉你,你不是一个真正的程序员
*担心“极客声誉(geek cred)”相当于慢性自杀
这篇文章无疑挑战了我们对编程的传统看法——成为程序员需要天分和激情。但是我只希望对那些开始编程之路的初学者,正在怀疑他们是否适合是否合格的程序员说:多尝试一些不同的学习方式,不要担心什么资格,不要轻信那些毫无根据的故事,也不要改变你学习编程的心态。不要放弃,除非你在尝试多种不同方法之后真的依旧一头雾水。编程不需要天赋,也不需要激情!