编程需要天赋和激情?不,不需要
你不仅得有天赋,还得具备激情,才能成为一名优秀的程序员。
好像那些写代码的人是早就决定干这一行似的,“当他们还是孩子的时候,他们就打算将来去写代码”。如果你缺少这两个因素之一,那么你要么是一个骗子,要么不会走得太远,不论是哪种,其实都是因为你不适合编程的缘故。这种根深蒂固的成见不仅是完全错误的,而且还是有害的——但是许多成功的程序员都赞同这个观点。
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说:
“我的动机很现实,并且当我搞不明白或某些东西在特定浏览器中看上去很糟糕的时候,我的那些搞前端开发的朋友会十分明确地告诉我。这真的很好。于是我开始想要编码,以及和我的朋友一起工作。”