為什麼人人都該學習寫程式?

不一定要把寫程式當成吃飯的工具,畢竟程式要寫得好還是需要有一定的天分,否則,也只能淪落到年薪50~80萬的碼農,除非你是低薪的行政職或服務業,而且願意在下班後與假日花時間學習新知,也不排斥寫程式,這樣的話你可以把它當成一份工作。

寫程式是為了培養解決問題(Problem Solving)的能力

  • 了解問題的本質,清楚定義問題。(最重要)
  • 擬定一個計劃,包含一連串具體的步驟。
  • 執行這個計畫。
  • 找出解決這個問題的模式(Pattern),將來可以運用在其他類似的問題。

實作某項功能會用到某個技術,但是我不會這個技術該怎麼辦?

  1. google看看有沒有人也碰到這個問題。
  2. google看看這個技術的文件、範例程式碼。
  3. 問同事。描述自己的問題,想要達成什麼目的,用了哪些方法仍然解決不了,出現什麼樣的錯誤。
  4. 買書來研究。
  5. 另闢蹊徑。

寫程式是為了培養團隊合作的能力

一個專案開發從開始到結束,會碰到很多狗屁倒灶的事情,沒有技術背景的專案經理(Project Manager)隨便答應客戶某個功能,接著指派工程師要在兩天內完成這項功能,以下有兩個情境:

A工程師說明這需要用到Ajax、Bootstrap、Spring MVC等等專案經理聽不懂的技術,雞同鴨講了十分鐘,最後,工程師放棄溝通,只能加班趕工。

B工程師說明實作某個功能不應該預估時間,而是需要考慮用到哪些技術,況且預估也不代表承諾,不合理的要求無法達成,B工程師以良好的分析能力和表達能力堅守自己的立場,把專案經理自己的錯誤與責任還給他,而不被他情緒勒索。

寫程式是為了培養創意思考

人的語言如果轉換成機器聽得懂的語言,即需要想像力。就像玩海龜湯一樣,你會問一堆問題,根據這些線索去拼湊出事情的原貌。假使你有一個做App的點子,想出各種不同的實作方法,不斷嘗試與失敗(Trial and Error),最後得到完成品。

像是人工智慧(AI)、自然語言處理,這些潮潮們的流行用語,不僅僅牽涉電腦科學,還包括生物學、哲學、心理學、數學,要如何搭建不同領域溝通的橋樑,就有賴想像力馳騁於其中。

Show your support

Clapping shows how much you appreciated Liu Chih-Hou’s story.