程式開發重於思考,不是勤奮

Author Avatar
Yish 11月 07, 2016
  • 在其他設備中閱讀本文章

還記得當初開始開發程式的時候,一直覺得只要肯花時間與問題相處,自然而然就會解決了,但是問題是解決了,但每次遇到的問題都是不一樣的,除了經驗的累積,更重要的是去思考問題的本質。

這些日子走來,其實說不上自己是很厲害的開發人員,但可以應付基礎的需求和工作內容,終於在這樣子的心態下遇到了瓶頸,那就是身處在一個初學者和高手之間的過渡期,很多人在這時候就會停下腳步,因為認為只要能解決工作上的問題就是可以了,但深入思考之後會發現自己的情境只適用於這個地方,當你有一天發現你不再喜愛這裡時才會發現,自己是多麼的無知。在壽司之神紀錄片當中,有個漁夫說過的一句話一直讓我印象深刻:

當你覺得自己什麼都會的時候,其實你會發現你自己其實什麼都不會。

我不斷的思考這句話的涵義與它所包含的內容,直到有一天我在網上突然看到一句話說道:

不要用战术上的勤奋掩盖战略上的懒惰 — 雷軍

我開始有點明白前陣子的做法是有瑕疵的,當我發現這個問題我無法解決或無法理解時,我會深入鑽入細節內去躲避大局的思考,這是一種出於自我的保護機制,當遇到無法解決的問題時就會從重複性與熟悉度高的地方開始著手,而放棄了廣度的思考,這樣子的做法在前幾年我都是這麼做的,但是這陣子我開始嘗試著使用大局思考模式去思考自己的學習與工作風格。

這邊舉個例子來說,前陣子我會比較想把一些技術學起來放著,但是一不小心就會掉入了細節當中,深度去理解實現細節,就站在技術研究的角度是相當棒的一件事情,但是站在大局觀來說會有忘記初衷的感覺,深度學習與理解這就是戰術上的勤奮,但卻是戰略上的懶惰,因為放棄了思考大局觀與要解決的核心問題,等到有一天想起時卻發現自己已經無法廣泛地思考問題了,這點是我目前正在思考的部分,如何掌握與拿捏深淺度。

回到問題本身來說,自我本身的價值實現是很重要的,但更重要的是大局觀念與思考本身,確定自己要做什麼,而不是因為過多的細節實現而忘記初衷。