程式設計師,不要急於學習程式語言,先學會如何解決問題
這是一篇關於虛度青春的短篇回憶錄。
多年來,我一直在學習程式語言,然後用它們來構建更好的投資工具。在建立預測和風險管理模型之餘,程式設計方面的工作堆積如山。
但實際上,我並沒有花太多時間在真正需要解決的問題上。
我把大部分注意力放在了演算法和程式語言上。多年來,我每週都要花幾個小時學習計算機基礎知識,卻沒有花太多時間應用這些知識來讓現實世界變得更美好。
而我的一個朋友卻基於微軟 Office 開發出了一個完整的產品,它使用 Access 儲存資料,使用 Excel 分析資料,然後使用 Word 輸出報告。
當他把產品賣給一家大公司時,我為他感到高興,同時也有些嫉妒。我比他更瞭解程式設計,但卻沒能推出可以解決實際問題的產品。
實際上,為什麼要開發產品比如何開發產品更加重要。我花時間學習如何程式設計,而我的朋友把時間花在解決實際的問題上。
他從使用非常簡單的工具開始,一步一步往前走,直到找到一個完整的解決方案。在這個過程中,他自學瞭如何將其他工具整合在一起。這仍然需要做大量的工作,但他做到了,儘管資源非常有限。
神奇之處在於“為什麼”
後來,我加入了一家初創公司,並最終汲取了這個教訓。
一個團隊能否取得重大突破從來都不取決於如何使用程式碼完成某些功能,而在於知道要做什麼,以及為什麼要這樣做。
在創造性的旅程中,沒有什麼比在不必要的東西上投入太多更令人心碎的了。
如果你想要創造出一些有用的東西,首先要知道“為什麼”要這樣做。從一開始你就要問自己:誰會用這些東西,它們將如何改善他們的生活?
專注於解決真正的問題可以加快學習速度
當你專注於真正需要解決的問題時,大腦中的資訊留存率會更高。我們的大腦會優先考慮需要儲存的資訊,並忽略大部分其他東西。這樣可以節約能量,但不利於學習。
知道自己為什麼要學習,就相當於觸發大腦要優先考慮新資訊。
追求創造性的活動會讓你學得更快,而這並不要求你一定要學會一門程式語言。
下面這些事情比學習程式語言更重要
找到真正的問題。
把問題寫下來,它現在是什麼樣的,它應該是什麼樣的,並儘可能詳細。例如,如果你的問題與使用 Office 檔案格式儲存資料有關,那麼就詳細說明這方面的問題,這樣有助於找到最好的解決方案。
當你對問題本身以及你想如何解決問題有了很好的描述,你就已經成功了一半。
然後你要努力去澄清問題,朝著可以找到解決方案的方向邁進。
如果你在這個時候糾結於程式語言,那麼你可能不是一個好程式設計師。你要不斷培養描述問題和解決方案的能力。
當你對問題有了很好的描述,並且確切地知道想要什麼,然後再去學習一門程式語言來解決這個問題就變得很容易了。
英文原文
相關文章
- 如何學會函數語言程式設計函數程式設計
- 學習程式設計先學什麼程式設計
- 程式設計師英語學習指南程式設計師
- 程式語言設計,程式設計哲學程式設計
- JavaScript函數語言程式設計學習JavaScript函數程式設計
- go 學習筆記之學習函數語言程式設計前不要忘了函式基礎Go筆記函數程式設計函式
- lua學習: lua及函數語言程式設計語言函數程式設計
- 程式設計師千萬不要學演算法!程式設計師演算法
- 運維要不要學程式設計?哪種程式語言最賺錢?運維程式設計
- Haskell學習-函數語言程式設計初探Haskell函數程式設計
- 深入學習javascript函數語言程式設計JavaScript函數程式設計
- JavaScript學習(3):函數語言程式設計JavaScript函數程式設計
- PHP 程式設計師學會了 Go 語言就能唬住面試官嗎?PHP程式設計師Go面試
- 程式設計師下一門要學的程式語言Swift程式設計師Swift
- 淺談程式設計師的英語學習程式設計師
- Rails程式設計師學習英語的方法AI程式設計師
- 【譯】需要學習的是程式設計,而不是程式語言程式設計
- 我今天才知道:學習程式設計和學習程式語言是兩碼事程式設計
- 【任務】Python語言程式設計.MOOC學習Python程式設計
- Python學習之函數語言程式設計Python函數程式設計
- 七週學會七種語言:學習程式語言的實用指南
- 廣州牽引力來告訴你學程式設計先學什麼語言好?程式設計
- 程式設計師,你會問問題嗎?程式設計師
- 程式設計師,你會從 Bug 中學習麼?程式設計師
- 入門程式設計學習,適合學python語言嗎?程式設計Python
- 從學生到程式設計師(三) 關於學習 (轉)程式設計師
- Java程式設計師學習Rust程式設計 - infoworldJava程式設計師Rust
- c語言程式設計學習之二維陣列C語言程式設計陣列
- 程式設計師眼中的程式語言程式設計師
- 5分鐘學會 Python 函數語言程式設計Python函數程式設計
- 程式語言BASIC程式設計師的啟蒙語言C程式程式設計師
- 程式設計師要如何學英語?程式設計師
- 關於PHP程式設計師解決問題的能力PHP程式設計師
- 程式設計入門之學哪種程式語言?程式設計
- C語言高效程式設計的四大祕技之數學方法解決問題C語言程式設計
- 學習風變程式設計,學會的不僅僅是程式設計程式設計
- 程式設計師學會八大開發技巧 漲薪不是問題程式設計師
- 【譯】Googler如何解決程式設計問題Go程式設計