本文作者:André Pena
編譯:鬍子大哈翻譯原文:huziketang.com/blog/posts/…
英文連線:How I stay up-to-date as a Developer
轉載請註明出處,保留原文連結以及作者資訊
譯者注:本文中提到的一些網站也是譯者經常逛的網站,對於新技術的瞭解和學習確實很有幫助,希望大家也能習慣於經常瀏覽前沿知識網站。
我的觀念裡,沒有任何一個行業像軟體開發業一樣從滿活力和誘惑力。我是說比如當你年輕的時候,你想要成為世界上最好的心臟外科專家。那麼自高中畢業以後你要持續學習 11 到 13 年的時間,你才可能獨立承擔一次外科手術。假設你想獲得諾貝爾化學獎呢?你必須得建立一個自己的實驗室並且反覆地實驗、實驗(實際上概率也微乎其微)。
但是對於開發工程師情況則不同。
作為一個開發者,你可以註冊一個 Github 賬戶。現在的開源軟體這麼多,只要你懂計算機基礎,學習一些程式設計原理,你就可以開發任何你想開發的東西。你所需要的知識,在網路上都可以免費獲取到。這也是為什麼現在在 Github 上有 780 多萬的 repo(我猜的)。也許此時此刻,正有一批 14 - 18 歲的孩子們在玩《我的世界》(Minecraft),而這款遊戲也正在開發自己的下一個版本。軟體在不斷地更新,技術在不斷地進步,雖然可能會導致某種程度的技術疲倦現象,但是這也正是人類不斷髮展的規律。ಥ_ಥ。
那麼問題來了:我們如何能保持和相關的技術與時俱進,同時還能不影響自己的生活呢?答案是:幾乎不可能。保持與時俱進需要一些代價,因為事物發展的速度太快了,所以這都取決於你是否能犧牲一些固有的生活方式。
那麼,你為什麼要與時俱進呢?
再次強調,依據個人意願,你沒必要一定要這麼想。但是這裡我還是列出來你為什麼要考慮這個問題。
- 你需要了解你所從事工作的市場現狀。不論你喜不喜歡,你所從事的工作,很可能需要你瞭解最新的技術是什麼。我所謂的新技術不是指“3 個月內的新技術”,而是說“1 到 3 年內的新技術”。這不取決於你所從事工作的環境,而是取決於大環境。如果你是做 C/C++、Prel 或者 Pascal,那可能市場變化沒那麼快。但是如果你是從事前端開發,那技術發展的是相當的快。
- 你需要讓自己處於生產力的外緣上。意思是說你應該不斷突破自己的能力瓶頸。如果一個技術沒能解決什麼問題的話,那它永遠也不會流行起來。一種技術之所以流行,是因為它可以用比較簡單的方法解決某種以前很難解決的問題。如果你正在嘗試解決的問題屬於這一類的,那麼你應該保持這種狀態,因為一旦你成功了,你就會很大程度上提升自己的生產效率,甚至是提升解決某種問題的效率。再次說明這種情況不適用於所有的細分領域,但是我想對於前端領域是適合的。
- 你喜歡它。哈哈,這是我。可能很多人不同意這一點。但是這就是我們,願意做永遠的學生。
下面我給出一些相關資源,讓你可以在這個充滿變化、充滿活力的產業中,保持與時俱進。
Reddit 是一個非常好的網站。我主要用它來看當前市場上都發生了什麼。
建立一個賬戶,移除掉所有預設的訂閱選項,在這裡選擇你所喜歡的領域。然後你可以搜尋你感興趣的技術,並且完成你的列表。這是我的:
- /r/programming: programming
- /r/technology: Technology
- /r/web_design: web_design
- /r/javascript: JavaScript
- /r/dotnet: .NET
- /r/webdev: webdev: reddit for web developers
- /r/react
或者你可以聽 Abhinav Kumar 的建議,給開發版塊設定一個 “multi”,讓你其他感興趣的內容出現在你的主頁上。
Hacker News
這是 YC 的新聞網站,對於瞭解新知識也是很好的一個選擇。你還可以用這個網址:hckrnews.com/,這是我發現的一個 UI 上體驗更好的 hacker news。
Github trending
如果你想學習最新的知識,那麼沒有什麼方法比看哪個 repo 最吸引開發者們的注意力更好的方法了。Github trending 可以幫你知道現在哪個庫最流行或者或者哪種語言最流行。你還可以根據語言來過濾,比如 JavaScript。
Stackoverflow 最熱問題
通常大家去 SO(Stackoverflow)是因為太懶了,自己不願意去嘗試。實際上他們去 SO 之前會先去 Google,通常 SO 的結果都顯示在第一的位置。運氣不好?(沒有顯示在第一的位置)那麼試著搜尋 “stackoverflow” + [你的問題]。還運氣不好?那麼在 SO 上提問吧。
不開玩笑了,Stackoverflow 的功能不僅僅只是供你複製貼上程式碼,你真的可以從上面學習到很多東西。比如我想溫習一些知識點的時候,我通常瀏覽一些最新的問題。我想學習新知識的時候,我會瀏覽最熱的問題。你可以在上面學習到你感興趣的知識,它還會告訴你那些東西是比較流行的,當然時間上會有些延遲,因為只有當人們採用了一些新技術以後才會發現問題,發現問題才會來提問。這也是為什麼 Stackoverflow 自己說:聚集一群有問題的人們。
Podcasts
我喜愛播客,尤其關於技術方面。有兩個我最喜歡的:
- softwareengineeringdaily.com:微服務很酷嗎?不不不,它已經過時了,你應該用自包含系統了,“跟 Jeff Meyerson 一起學”。看這種表述你就知道這是個玩笑了,並不是真的說微服務怎麼樣。播客平臺主要介紹軟體架構和開發相關的東西。我剛開始學開發的時候它還不成氣候,現在它已經變得很流行了,尤其對於 web 開發人員來講。
- www.dotnetrocks.com:這個名字很具有欺騙性。他們最開始是以播 .NET 為主,現在什麼都聊了。也很值得聽。
另外還有 runasradio.com 和 hanselminutes.com。
CodePen
我至少一週會瀏覽一次 CodePen,對很多知識,它會讓你知其然,也知其所以然。在這上面我可以肯定我學了很多新知識。當然是對我個人的新知識,而不是對整個世界的新知識(畢竟太陽底下無新事)。
下一步
如果你決定開始自己“與時俱進”的里程,那麼請看我的另一篇文章:最好的學習方式是實踐,這裡會給你啟示。
保持好奇心
但是請注意,不要痴迷於新技術。新技術並不代表合適你。對於一個新的庫,裡面肯定是有可以使你效率提升的地方、有值得學習的地方。但是使你效率提升還有另外一個重要的因素:你的經驗!如果你認為新的方式不適合你,如果你認為新的方式並不會使你的能力得到突破,那麼儘管讓他去吧。
Happy Hacking!如果想了解我更多,請點選我的主頁。
我最近正在寫一本《React.js 小書》,對 React.js 感興趣的童鞋,歡迎指點。