每一個程式設計師都是自學成才

2016-01-26    分類:程式設計師人生、首頁精華10人評論發表於2016-01-26

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

為什麼CS學位並非是成為開發人員的唯一路徑,因為每個開發人員在工作於他們的專案時學到了很多很多。

除了CS學位,還有很多成為程式設計師的方法。如果你正行進在一條非常規的道路上,那麼你可能會想知道你該追上那些有學位的人。你該怎麼和那些在課堂上花了很多時間學習計算機和程式設計的人競爭?

從我的經驗來看,競爭的要點不在於學位:關鍵在於你會如何利用你所掌握的技能。條條大路通羅馬。事實上,從學校裡是學不到如何做一個web開發人員或Android開發人員的。

每個使用計算機技術的程式設計師大多靠自學成才,在工作中和自己的空閒時間提高技能。我在完成我的電氣工程學位的同時,去上了很多與計算機相關的課程,但其中很少是專門講web開發的。也許你會上過一兩堂課,或選修這類科目,但當你使用的時候,這方面的知識很有可能已經過時了。

好吧,如果學位不能教你如web程式設計或移動開發這些有用的東西,那麼學位還有什麼用?學位的作用是讓你對程式設計和計算機相關的知識有一個全面的瞭解。有助於你瞭解更多相關的學科,例如數學、資料庫、演算法、網路、程式設計模式和語言。

你不需要成為任何這些學科的專家:但你需要知道它們的存在,並完善這些技能,並且在現實世界中使用這些技能以便於讓這些技能能夠對我們真正有用。另一方面,所有這些技能就是一個有用的工具箱,當你啟動專案並需要解決新問題的時候,便是你的好幫手。你可以使用你已經學到的知識作為出發點去挖掘更深層次的東西,並根據需要提升自己。

如果你不曾在學校裡學到這一點,那麼你還可以從其他途徑獲取,例如線上課程或書籍。和那些從學校獲得的知識沒什麼不同:雖然說在學校裡學習更容易集中注意力,進度更快,但你自學也完全可以。

當你開始使用這些技能來完成實際專案時,這些技能才會漸漸變成你的東西,否則就只是紙上談兵而已。根據興趣、工作或專門的計劃,特定地去學習某些領域,然後一步步前進。作為團隊的一員,每個人都有必要構建不同的技巧和知識體系。如果每個人的技能集完全一樣,那這個團隊該是多麼枯燥和低效啊!

而且你在學校中學的東西是不完整的。你需要工作於一些小型的專案,以掌握具體的概念,但在現實生活中,在你執行了你的第一個版本之後,你就會不由自主地繼續前進。你會繼續學習如何維護,如何修復bug,如何部署以及如何在眾多規則的框框架架中完成團隊工作。你會在你工作的每一個專案和你修復的每一個bug中不斷學到新的技能。

我們最重要的是學習如何學習,這樣才能在需要時迅速掌握相關學科和一門新的技術。如果你能一直保持學習的態勢,那將更方便你學習新的東西,並且建立一個學習的好習慣,永遠是亡羊補牢,猶未晚矣。

譯文連結:http://www.codeceo.com/article/every-programmer-self-taught.html
英文原文:Every Programmer Is Self-Taught
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章