编程不需要天份,也不需要热情 | 程序师



编程不需要天份,也不需要热情 | 程序师

从来没有一个技能,曾经被神化到这个程度:

「你不但要有天份,还要有热情,才适合写代码。」

那些写代码的人,好像「从小就立定志向,决定未来要写代码了」。

缺乏其一的话,你要嘛是个假货,要嘛走不远,总之就是不适合。

这种深植人心的刻板印象不但大错特错,同时还是有害的。

随便找几个程序员都能证明这点。

Jacob Kaplan-Moss(Django创造者)

Jacob Kaplan-Moss的这份简报提到:

一个平庸程序员的自白

这种关于「编程天才」的神话非常有害,一方面它把行业门槛设置得特别高,令很多人望而却步,另一方面它也在折磨产业内的人,因为你如果不能 rocks ,就会变成 sucks ,所以不得不用一切时间来努力学习和工作,导致影响生活。…(略)…我们应该改变这种态度,写代码只是一些技能,并不需要太多天分,它是可以学习的,而且做一个平庸的程序员不丢人,

他本人在Twitter的自介直接写「不是真的软件设计师(not a real programmer)」,

透漏著他对这种迷思的不耐烦。

Jacob Thornton(Bootstrap作者)

在Github拥有八万颗星的Bootstrap作者,

前Twitter、现任Medium程序员Jacob Thornton的一篇采访也是这种迷思的反例:

Jacob Thornton痛恨电脑(Jacob Thornton Hates Computers)

当他说「我痛恨电脑」的时候,并不完全在开玩笑。…(略)…他说「我本来要去唸社会学的」

接著描述了他第一份工作的情况:

我拿到了一个远超我能力的工作。每一天都可能被开除。所以我非常努力工作,想搞懂JavaScript,因为我不懂它到底在干嘛。

我一生中最现实的一刻到了。整间公司的人围在我身边,要我做一个XHR request。我根本没做过,我只稍微听过而已。于是我开始打字、重新整理浏览器,然后什麽都没出来。我反覆做了几次,知道自己完蛋了,他们发现我是假货了。接著我突然发现自己忘记加「.send()」。我加了之后再次重新整理浏览器,画面成功显示。整个团队感觉像在说「喔,酷。」然后就各自回办公桌了。

我在那裡坐了15分钟。心想,就这样。我搞定了。我不会被开除了。

这段描述一点也不像「编程天才」在职场的表现。

至于支持他一路走来的动机是什麽呢?他说:

我是一个高度在乎同侪的人,我做前端的朋友总是会告诉我哪个地方做很丑或是在哪个浏览器上坏掉。感觉真的很棒。我真的只想跟朋友一起写代码,一起工作。


Read full article from 编程不需要天份,也不需要热情 | 程序师


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts