寫程式到底需不需要懂數學?

最近 PTT 的八卦版有一些人在吵一個很有趣的問題:「寫程式究竟需不需要懂數學?」問題一出現之後,正反意見立刻於板上展開廝殺,有些跨入業界的人主張數學不是那麼 重要,最重要的是主管要你的 code,你能準時交出來就好了。也有的人主張數學很重要,寫程式一定要懂數學。我的想法是,數學對於程式設計的發展有著非常重要的角色,然而是不是每個學習程式的人都需要去學習數學,或著是學到某個程度,就是見仁見智。你不懂數學,但是把工具和程式語言用得好,並且能夠展現出軟體工程的素養,你是一個軟 體業界需要的重要人才。你懂了數學,可以打造出更有效率的演算法,對於 Google 這種愛計較搜尋效率和結果的公司,你還是一個重要的人才。

學習,本身就是一件關乎深度以及廣度的事情,每個人從垂直面和水平面去延伸,修養到了何處,就決定了你自己的可替代性是如何。反映在寫程式這件事情 上,如果你只是會照著別人寫好的 API 去照著 call,除此之外什麼也不懂,連你自己也認為我只要把東西拼拼湊湊,能夠交代給上面主管就好,那你的可替代性就非常高,我可以找個工讀生輕易取代你的角色,這對於你個人來說是很危險的事情,因為你做的事情和心態太像生產線上面的事情,不需要太多的知識和學歷,任何人經過適當的訓練就可以勝任。我不主張每個要學程式的人都該去學數學,但是數學的確會讓你跟其他 coder 有些差異化,這種差異化會是這個競爭的知識時代中生存的關鍵。

所以,最重要的還是你在學習程式設計前,搞清楚自己對於自己想要的定位,如果你只是那種拿時新的工讀生,那麼艱深的數學真的可以免了。如果你想要當個與眾不同的工程師,那麼懂些數學,是絕對不會讓你吃虧的。

作者簡介:

Sega Cheng (Mr. Saturday),現為 LiveHouse.in 執行長,曾任 Google 軟體工程師。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!