學會“偷懶”:優秀程序員是如何減少學習的?

雲棲號資訊:【點擊查看更多行業資訊
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

image

很多人在不同領域的學習上都存在一個相同誤區:爲了變得更優秀更專業,我需要學習儘可能多的內容,於是拼命擴充自己的任務清單。但事實上,學習內容的多少與學習效果之間沒有絕對的聯繫。

作爲一個編程狂熱學習者,我感興趣的編程主題非常廣泛,任務清單上的課程、教程和文章多達幾十個。但最近,我開始思考哪些課程是真正值得我去花時間的。

T型陷阱

如果你正在努力發展自己的事業,可能會遇到T型人才這個概念,指的是一些人在某一領域是專家,且對其他領域也有一定涉獵。例如,你可以是一個精通後端開發的專業人員,同時對DevOps、產品管理和前端也有一定的瞭解。

image

作爲員工來說,T型人才是無價之寶,他們豐富的知識有助於溝通並增強創造力。擁有廣泛的興趣是好事,我主張技能全面性將成爲未來的核心競爭力。但要想成爲T型人才,需要對一些學科有相當深入的瞭解。

學習一兩個課程並不意味着你真正瞭解一個領域。相反,它可能會讓你對自己的能力產生盲目的自信。學太多東西、分散精力對你的職業發展絲毫沒有幫助。它只是讓你在各個領域都淺嘗輒止,但都沒有做到深入瞭解。就像寫了兩篇博文並不能成爲出名的作家一樣,經過一個月的集訓,你也無法成爲一名稱職的程序員。

僅僅在多個領域淺嘗輒止的算不上T型人才,你必須仔細計劃如何深入學習你的主要專業領域並發展次要技能。

爲了成爲更優秀的程序員,你需要確定基本能力和可能遇到的挑戰,然後聚焦這些問題,刪除所有不必要的課程。我將以我自己爲例來說明如何做到這一點。

強化主要技能,挑選重要領域

我是一個專業的前端web開發人員,對多種語言的後端編程有一定了解,我已經使用React Native創建了一些移動應用程序。前端開發算是我的主要技能,現在要來選擇我的其他必備技能了。

對我來說,專注於前端開發是有意義的——無論是在web還是移動設備上。要成爲一個熟練的前端開發人員,我需要成爲JavaScript方面的專家。因此,所有關於高級JavaScript的課程可能都很有用,那麼我可以從待辦事項列表中刪除關於創造性編碼的課程。

我主要研究React,我會關注它和它的生態系統。所以再見了,Angular和Vue,我會想你們的。我的關鍵技能是JavaScript和React,其他語言和框架也可以作爲次要技能,但重點是明確的。

image

只學習你將來會用到的技能

JavaScript和React的生態系統是一個龐大的主題,我需要進一步縮小我的興趣範圍,最好的方法是選擇你可以在實踐中用到的課程。

我已經第三次學習Redux了。前兩次,我是因爲網上的每個人都說它很重要纔開始學習它的。我完成了一個教程並閱讀了文檔,但我沒有在任何項目中用到它,很快就忘完了。直到我出於必須使用的需要開始了第三次學習,學完課程後,我立即開始使用它解決問題,這纔算是真正學會,現在我可以隨時使用Redux了。

真正的學習發生在你專注於一個項目的時候。如果你沒有在實踐中使用你的知識,那麼再多的教程也幫不了你,學習你不會在專業或個人項目上用到的東西是在浪費時間。

不要欺騙自己

除非你能向技術小白解釋清楚你在幹什麼,否則永遠不要認爲你已經懂了。時刻注意你理解上的漏洞,提防虛假的自信。正如理查德·p·費曼所說:“首要原則是你不能欺騙自己——你是最容易被欺騙的人。”

如果深入挖掘的話,幾乎所有的編程都是很複雜的。你知道如何管理React中的狀態嗎?可以通過組件傳遞道具或使用Context API,或者選擇一個庫(Redux或MobX),Facebook剛剛發佈了一個名爲Recoil的新的狀態管理圖書館。

解決狀態管理問題的辦法有很多,這恰恰是因爲狀態管理很困難。或許你認爲教程完全可以幫助你解決它,但事實上是很難做到。只有在遇到現實挑戰之後,你才能理解爲什麼存在這些庫,它們解決了什麼問題,以及爲什麼它很複雜。

請記住,編程是非常困難的,你需要挑戰自己。

選擇一些次要技能

要成爲一個真正的T型人才,次要技能也是必須的。在過去的幾個月裏,我開始學習但從未完成各種課程,從DevOps到Golang語言,再到機器學習。這很有趣,但顯然無益於我的職業生涯。

image

學習第二技能的要點與主要興趣領域的要點非常相似。你需要根據優先級和在現實生活中使用它們的機會來選擇技能,光靠理論是不夠的,所以請毫不留情地刪除無關的課程。

爲了進一步發展我的職業生涯,我需要把重點放在那些在長遠看來對我有益的技能上,這些技能要與我的主要專業足夠接近,這樣我纔可以從部分的知識重疊中獲益。

我沒有很強的數學背景,所以是時候跟機器學習和人工智能說再見了,看起來我不會成爲數據科學家;至於一些流行的後端語言,在可預見的將來我不會在我的公司使用它們,所以這是浪費時間;DevOps很難,我可能沒有機會在這方面工作,所以就跳過了。

因爲我經常和設計師們一起工作,所以學習設計基礎知識是個不錯的主意;我很喜歡寫編程方面的東西,所以這方面的書一定要列在我的待辦事項清單上;我的項目管理能力沒有我想要的那麼好,所以發展這個領域必須成爲我的優先事項。

再看到乾貨滿滿的教程文章和感興趣的內容時,我還是會毫不猶豫地將其加入收藏夾中,但只會選擇那些從長遠來看對我的職業生涯有益的學會。想變得更優秀,你得學會做減法。

【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live

立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK

原文發佈時間:2020-07-14
本文作者:讀芯術
本文來自:“讀芯術公衆號”,瞭解相關信息可以關注“讀芯術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章