當前位置:
首頁 > 最新 > 工作一年,如何解決職場技術焦慮

工作一年,如何解決職場技術焦慮

文 / 阿里P7工程師 嚴明明

從事軟體編程已經長達8年之久,曾經有很長一段時間感覺自己的技術能力沒有提升,與那些優秀的同齡人相比,技術自卑油然而生,面對日新月異的技術變更和時不我待的歲月流逝,步入中年的開始變的焦慮

回顧自己的編程生涯,剛畢業的頭幾年,通過自主學習實現了編程語言的基本掌握,緊接著使用學到的技術完成各種項目,然後日復一日,有時候也會看看技術書籍,但是終究未能突破語言層而知曉技術背後的本質。

而後通過長時間的摸索與交流,尋找到了一些解決技術人的技術焦慮的方法,這些方法更多的是一種思維方式,一種看問題的視角,希望這些思維方式能夠幫助到大家。

技術焦慮的起因

技術熱情變低

有人說:職業倦怠是做了大量重複勞動缺乏調整,或者努力完成高風險問題後卻以失敗告終而導致的。

在軟體行業,接觸了很多人,發現一開始大家對技術都非常熱情,當把它變成職業後,時間一長,就索然無味,但是又不得不從事這個行業,畢竟還要養家糊口。缺乏熱情,可能是我們進入了瓶頸期,在大量重複勞動當中,自然提不起興趣。

我們可以有兩種方法破局

1. 主要要求承擔自己感興趣又沒做過的事情。

阿里有一句老話,「今天最好的表現是明天最低的要求」,我們要時刻突破自己所在的「舒適區」,讓自己跳躍到「學習區」。

2. 為自己而工作。

為別人工作就很容易消耗自己的熱情,如果我們轉變思路,把學習工作轉變為為自己工作,就會有所動力。

我過觀察到的是,那些在專業領域上付出了極大熱情的人,往往因為這個工作領域的投入而成就了自己的影響力,難道這不是在為自己工作,為自己打造信用背書,為自己打造個人品牌嗎。

新技術層出不窮

新技術的迭代更新速度遠遠超過了我們獲取新知識的速度,然而我們並沒有過多時間去深入學習每一門技術。

當我們還沒有把Java並發包下的每一個核心類的原理弄清楚的時候,Java庫已經從7升級到了10,我們還在談服務化的時候,微服務、ServiceMesh、Serverless、FaaS這些新技術迎面而來,讓我們應接不暇。

工作多年的你,想一想,自己多久沒有利用業餘時間系統性的學習一門新技術了?我們往往以為通過多看微信朋友圈中的技術轉發帖就能獲取精華知識,以為我們自己在學習,其實這只是我們在安慰我們那顆想學習有不想付出太多精力的心而已。

加班太多,沒時間學習

在之前離開阿里出去創業那幾年,幾乎把能用的時間都用在了做業務系統,有很長一段時間,每天工作12小時以上,一周工作6天,深切能體會到長時間做業務系統的研發那種迫不得已。

在面對各種Deadline時,我們做技術調研、技術方案也就馬馬虎虎過去了,恨不得一拿到需求就開始編碼,每天拚命加班完成那些似乎並不那麼重要的需求,反而擱淺了那些更重要的事情。

一接到任務就開始 Coding 的程序員,通常就是加班最多的程序員,切記積極工作和勤于思考都要佔時間。加班佔用了我們太多的精氣神,即便是有一時的閑暇,也想著讓疲憊的身心得到一絲舒緩,哪再有學習的動力,我們似乎陷入了加班與沒有時間學習帶來的焦慮陷阱。

有一些團隊文化中,非常推崇加班文化,甚至開始攀比誰加班多,似乎誰加班多誰付出就多績效就好。我曾經竟然可笑的認為通過加班付出的越多,自己的價值也就越大,團隊也就越信任你,其實這是非常錯誤的思維,常態加班只能證明我們不會選擇或者效率低下。

考核一個人對業務和團隊付出多少是拿業務結果來說話的,並不是拿加班長短。認真想一想通過加班透支太多個人時間這件事情,我們為什麼要加班?我們之所以加班,是因對之前承諾的內疚;加班讓我們成為了一個只會低頭做事情的人,讓我們缺少了抽身看全局的機會。從時間投資的角度講,常態加班,也是對我們自身時間的極大浪費,我們應該學會選擇,學會拒絕,學會借力,做最重要的事情,給自己預留空閑時間,用來做自己喜歡做的事情。

解決技術焦慮

當意識到技術焦慮後,開始關注如何解決這種焦慮感,解鈴還須繫鈴人,那些往往讓我們害怕或者恐慌的東西才是我們需要去彌補的。

技術焦慮也是一樣,是一種對技術的不自信,是自己技術上有很多短板和盲區,伴隨著中年危機的到來,害怕因為專業性的不成熟而被整個行業淘汰。去年華為辭去大齡碼農,辭去的正是那些不能提供技術專業性的員工。要解決這些問題自然是通過沉下心來,慢慢把基礎中的短板補起來,在拓寬自己知識寬度的同時,挖掘技術深度。在整個學習過程中,興趣點也許能讓我們更輕鬆更高效的來面對技術的成長以及技術焦慮的消除。

尋找興趣點

很多時候,技術之所以對我們的吸引力不夠,不能讓我們為之廢寢忘食的原因,是我們沒有找到一個自己的興趣點。比如,我之前有一段時間對技術幾乎麻木了,沒有任何動力去翻看技術文章,遇到大家都轉載的博文,也就是順手收藏起來,明知道自己不會再看,還是自我安慰的想到興許後續會有時間學習,一年下來技術基本沒什麼積累,我甚至開始懷疑自己是否適合程序員的崗位。直到有一天,朋友向我推薦了一本書《編碼·隱匿在計算機背後的語言》,這本書從手電筒開合講到繼電器編解碼,再講到計算機的構造,讓我大跌眼鏡,以前覺得計算機非常高深莫測,看完這本書之後才覺得原來如此,我竟然有了在淘寶上購買繼電器回家自己組裝一台計算機的衝動。作者應用舉一反三以及類比的方法,把「編碼」、「解碼」的思維應用在生活的各個細節當中,發現很多道理都是相通的。有人對它的評價是「這本書花兩個半天讀上一本的內容,你的人生就賺到了」。

自此,我似乎重新拾起了對計算機的興趣。然後重新找回一些計算機理論知識中的經典書籍,一本一本開始看,以前覺得深不可測、遙不可及的知識點,掌握其理念之後,覺得也就那麼回事。所謂技術自信,就是自身具備蓋世武功,面對對手的花樣進攻,坦然處之了的心態。

調整學習方式

作為一名技術從業者,「終身學習」的道理自然不必多講。那如何學習呢?學習有哪些方式呢?這個問題我從來沒有認真考慮過,難道還有人不會學習嗎?引發我對學習方式的思考,是源於跟同事的一次閑聊。同事說「我喜歡整體性學習,對一門新技術,勢必先全部通讀一遍,然後知曉其原理再開始編碼,防坑,可控性更強」,我想了想我的學習方式,說「我自己屬於模仿性學習,現學現用,不懂就查」;為什麼會有這兩種學習方式呢?他們之間有什麼區別,哪一種效率更高呢?

帶著這些疑問,我查閱了《如何高效學習》、李善友老師的《混沌大學》、許岑老師的《如何成為有效學習的高手》、小馬宋的《朋友圈的尖子生》等多本有關學習方法的書,最後得出一個結論:一切事情都有方法論或套路,我們需要看清楚變化事物背後不變的本質。所謂套路,就是大家從歷史中總結出來的可複製的經驗,我們每一個個體按照套路行事,也能學會的東西。比如圍棋的定式、程序中的演算法、設計模式、菜譜等等,這些都稱得上是套路。

學習方式主要分為兩類:

自然主義學習;

結構主義學習。

自然主義學習是基於模仿,通過向他人學習然後進行自我實踐,比如我們學習說話、繪畫、溜冰、彈鋼琴等。

結構主義學習是系統性的構建並創造新的知識晶體,比如數學、物理、編程。針對學習任務的不同,採用合適的學習方法能讓我們學習效率事半功倍。

再回過頭來看看自己過往在軟體編程上的學習策略,一直是在基於點的模仿性學習,而非像結構主義學習那樣,講究面,講究整體性和系統性。只知道各個點的弊端是讓我們看不到面的邊界,不知道還有多少我們看不到,這不僅讓我們對技術產生焦慮,也讓自己的視野變得越來越窄;看似每天很努力的工作和學習,其實效率不高、結果不好正是這個原因。

所以,面對編程技術的學習,好的做法是結構化學習,拿整塊的時間來學、系統的學,學習技術的歷史背景、技術的核心思想、技術的使用範圍以及邊界,然後再通過自然主義學習策略下的模仿進行逐步實踐,方能讓我們更快更好的獲取到知識。

看清事情本質

我們重複編碼了多年,還是不得要領,就像學習了各種武功,還是無法突破招數的局限一樣,這可能就是我們只知道使用技術,而忽略了技術背後真正的核心思想。在過去一年中,我面試了很多的同學,發現很多技術從業者都有一個共性,那就是只會基本使用,不知其實現原理,即便有一些知曉原理,稍微變通一下後,就無法應答,說明還是理解不深。其實計算機技術知識跟其它門類的知識也是一樣的,總有一個核心思想在裡面,比如《論語》的核心就是「仁」和「禮」,《孫子兵法》中的借刀殺人的核心就是「敵已明,友未定,引友殺敵,不自出力」。

那麼計算機編程的核心思想是什麼呢?是那些變化多端的設計模式,是不斷演化的架構形式?這些都不是,我查閱多本資料,發現其本質是 「程序 = 演算法 + 結構」,然後拿著這個本質在去看Spring 源碼、Mybatis源碼,尋找他們實現的核心數據結構是什麼,演算法又是什麼,使用了什麼套路(設計模式),在橫向上跟其它技術做一下比對。比如Spring中有緩存、Mybatis中有兩段緩存、資料庫有緩存、Redis分散式緩存、操作系統有緩存、CPU有緩存,為什麼要使用緩存,這些緩存實現之間有什麼共同之處?這還只是局限在編程裡面,在現實世界中是不是到處都有緩存的實例呢,比如我們背誦各種詩詞歌賦或者數據乘法表,以便在大腦中緩存這些知識,要得就是在最短的時間提取出答案,即便是佔用大腦的一些記憶空間。

再比如我們去食堂吃飯排隊,這個隊列是FIFO還是具有優先順序的隊列,如果隊列為空了,打飯的是否要處於阻塞狀態,如果隊列滿了,後來的人怎麼辦?當我們從學習的事情中進行抽象化,看到事情的本質後,再進行舉一反三,多領域多維度驗證,我們就會覺得「大道至簡」,很多道理都是相通的,即便複雜如計算機系統也是一樣。

當然除了看清楚技術的本質,我們在團隊溝通協作當中也是需要應用這一思維,比如一個人發表了一個觀點,那我們就應該想一想他說出這個觀點的本意是什麼,他是怎麼想的,為什麼會提出這樣觀點,這個觀點的核心理念是什麼,如果我們要說服他改變觀點,我們要怎麼做。在日常生活當中多刻意練習這一思維習慣,並通過與當事人的正面溝通尋求其真實本意的想法來及時矯正自己的思維模式(及時反饋),時間一長,習慣就培養出來了,這個時候,我們說話辦事就不會那麼衝動和膚淺。

獨立思考

伴隨著長大,讓我們逐漸養成了「趨利避害」的行為習慣,原本自身各種稜角也被殘酷的現實社會磨得異常圓滑,在各種決策中,我們似乎養成了隨大流的習慣;學習技術,我們跟大流,別人學什麼,我們也學什麼;離職創業,在我們還沒有想清楚自己是不是合適的時候,總理說「萬眾創業、大眾創新」 ,我們就投入到了創業的大潮當中;我們似乎活在了別人的思維模式下。那我們自己也有大腦,為什麼就不能好好想一想自己目前的處境,未來的規劃呢? 思考本身就是一件苦差事,我們身體的本能就是盡量讓大腦降低負荷,能不動腦就不動腦,我們要克服這種情況,如果大腦長時間不用,就會退化,讓我們成為獨立個體的正是我們透過獨立思考展示出來的人格魅力。

我之前老闆有一個習慣,就是每天吃完晚飯後,回到工作崗位上,給自己預留半個小時,讓自己處於冥想狀態思考自己當前在做什麼,為什麼做,需求本質是什麼,能不能不做,做的怎麼樣,是不是有更高效的做法,同行業是怎麼做的,整個市場是怎麼樣的,未來三到五年會有什麼變化。他建議我也嘗試此方法,我在嘗試此方法之前,就感覺每天忙忙碌碌,也不知道為什麼忙,做日常工作似乎只是為了生計或者不得不做,通過這樣的訓練,發現自己成為了這件事情的主人,看到了很多之前不曾看到的東西,之前只能這低頭走路,看路好不好走,而忽略了路的方向以及路邊精彩的風景。

只有技術才是硬通貨,看到技術背後的思想價值;做別人做不了的事情。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java進階與雲計算開發 的精彩文章:

TAG:Java進階與雲計算開發 |