優秀程式設計師具備的高效習慣,你具備嗎?

2022-01-10 14:00:02 字數 2161 閱讀 3314

我在《聊聊阿里面試的三個層次》中說到阿里的面試要求,其中有乙個讀者看完覺得很困惑,覺得這些知識點平時都用不著,如何去學習這些知識才能保證學習質量呢?

我有個迷茫的地方在於,這些知識點如果在工作中都用不上,應該怎麼保證學習的效果呢,面試的時候又該怎麼聊呢。例如很多軟體系統(erp、財務、稅務等內部資訊系統)其實核心在於實現業務邏輯,就是基於業務的crud,高併發、分布式這些技術都用不上,做的時間長了技術深度廣度都沒有。

現實中確實存在像這位讀者說的情況,但我們稍微仔細想一下我們身邊的人,你會發現總會有幾個人,他們能不斷進步。雖然他們起點低,但是通過不斷努力,卻可以取得不錯的成績。那他們到底掌握了什麼學習技巧,能讓他們不斷進步呢?

答案很簡單,那就是主動學習。

我的乙個朋友小黑,他在公司裡做的任務都是一些業務性的需求,並且都是增刪改查型別的,對於技術方面的歷練比較少。但小黑並不因此而悶悶不樂,反而細緻地把每乙個需求都做好,並且需求做完都會思考怎麼才能做得更好。

而在工作之餘,他也主動地學習 spring、dubbo 等開源框架的原始碼,了解這些框架的原理。就這樣過了一段時間,公司因為後台架構調整,成立了架構組自行研發技術框架,這時候小黑因為之前對於開源框架的深入研究,比其他人有了更深刻的理解,而進入了架構組。

從小黑身上我們可以看到,乙個主動學習的人,他並不會侷限於公司的層面,他除了學習公司本身的技術之外,還會思考怎麼樣去優化專案的技術,業界有什麼更好的解決方案,從而不斷學習不斷成長。

與主動學習密切相關的,是被動學習。

當小黑進入架構組之後,他會發現自己之前學習的東西還遠遠不夠,要自行研發框架所需要學習更多的知識。於是在這樣的壓力之下,小黑又不斷地學習更多的資料,更加深入地研究各個框架的原始碼。在外界(專案、排期、工作)的壓迫之下,你不得不去學習的成長方式,就是被動學習。

如果乙個人只會被公司的專案推著走,公司需要什麼知識,他就只學什麼知識,那麼久而久之他會發現自己一直處於原地踏步的狀態,沒有進步。這個時候如果遇到一些技術變動或者人事變動,就很容易產生辭職的念頭。

從小黑的例子來看,你會發現其實主動學習和被動學習都是相輔相成的。當你沒有高併發的相關經驗的時候,你需要主動地學習相關的理論知識,爭取比別人掌握更多。而機會來臨的時候,你能抓住這樣乙個機會,從而在實踐中被動地掌握更多的知識。

而且我感覺這樣學習效果都無法保證,自己看完之後還是懵懵懂懂的。

那麼我們到底應該如何去改變這一切,讓自己習得「主動學習」這個搞笑的習慣呢?

在這裡我給大家幾個建議,都是實實在在的能幫助大家改變的。

與一些剛入行的朋友溝通,我們了解到很多人期望從工作中學到一切,希望公司給與他們更好的學習機會。於是這些朋友一直沒有找到很好的公司,很多都是沒過幾年就換一家公司。

之所以會如此,是因為這種想法本身就是錯誤的。公司僱傭你是讓你解決問題,不是讓你來學習的。學習與成長,只是解決問題之後順帶的結果,而不是目標。如果你無法接受這個觀點,那麼你永遠無法找到正確的學習通道。

公司給你錢,你幫公司解決問題,其他的都是扯淡。成熟的公司為了留住員工,會建立一系列的培訓機制,但這並不代表你就該把這種學習和成長當成理所當然。

當你接受這個觀點之後,你自己會明白,工作不應該成為我學習的唯一渠道,我應該有自己的學習渠道,應該有我自己的學習圈子。而這個學習圈子才是一直伴隨著你,能跟隨你一直走下去的,無論你在 a 公司,還是在 b 公司,你都能不斷進步。

公司的成長是短期的,而學習圈子的成長是長久的。這兩者的關係就像被動學習與主動學習一樣,互相促進,相互融合。所以如果你希望長期不斷進步,那麼你就要建立自己的圈子,認識更多比自己厲害的人,跟著他們一起學習,一起成長。

很多朋友其實都不明白自己為什麼做技術,甚至不知道喜不喜歡做技術。其實我一開始也不清楚,也是因為生計而選擇了開發這一行,我也一直迷茫要不要一直做下去。每次看到「面試基礎題」裡列出的一大串技術要點,我也困惑,到底要學到什麼時候啊。

其實很多人之所以厭惡做開發,是因為國內企業的加班成風,使得本來很有創造性的開發變得死氣沉沉。但我們生活在這,我們可能在很長時間裡無法去改變這種現狀,我們只能調整自己的心態,讓自己變得更加優秀,讓自己熱愛技術。當你技術達到一定高度的時候,或許你也不需要再加班,而能真正享受程式設計的樂趣了。

但在那之前,你還必須調整自己的狀態,讓自己努力下去。即使在難搞的日子,也要笑出聲來!

比起技術知識上的積累,思維方式的改變更加重要。從現在停止幻想,拓寬自己的學習渠道,主動學習更多的知識,建立自己的學習圈子吧。

優秀程式設計師所具備的7個好習慣

除了必需的技術技能和邏輯能力,下面講一下乙個團隊應該具備怎樣的好習慣 遲到對於任何一家公司都是個頭痛的問題。作為乙個程式設計師,有時候為了完成任務常常不得不熬夜,從而導致第二天上班就遲到了。但是我們忽略了這一點,我們的工作時間至關重要,因為在這段時間裡我們要和客戶同步,也要與團隊其他成員一齊協作。僅...

優秀程式設計師所具備的7個好習慣

當我們被採訪的時候,常常會問及這樣乙個問題 乙個偉大的程式設計師需要具備哪些特質。大多數人回答的是邏輯 機智 耐心以及勤奮。11月21日 22日 與wot技術大會相約深圳 現在搶票 當我們被採訪的時候,常常會問及這樣乙個問題 乙個偉大的程式設計師需要具備哪些特質。大多數人回答的是邏輯 機智 耐心以及...

優秀程式設計師應當具備的品質

語言和工具 languages and tools 程式設計方法 programming paradigm 舉例來說,很好地理解物件導向,這對使用強制式語言 imperative language也稱過程式語言 寫出可維護的 至關重要。在企業開發中你會遇到各種不同的問題,理解多種程式設計方法並知道何...