如何提升自己?
看完后浪,感慨良多...
在程式員圈子,聽得最多的便是”35歲中年危機“,
危機
其實不僅僅存在“35歲危機”,還有“畢業危機”,“被裁員危機”,不僅僅在程式員圈子,幾乎所有圈子都是這樣,就像剛畢業的大學生說的:畢業等于失業,現在的社會飛速發展,我們常常感嘆大多數父母一代的人,智能手機玩著都比較費勁,其實也算是一種危機,其實不管任何職業,任何年齡的人,都應該保持“學習”的狀態,只有自身有了底氣,才能挺直了腰板,度過一個又一個危機,恩,做的不開心,我就換個作業...厲害的人,都是別人來請他去上班的,
作為一個Javaer,當然也需要不斷的保持學習,特別是對于剛畢業的人,可能在找第一份作業的時候,你大廠與你擦肩而過,但是只要你對未來有一個完整的規劃,3年后,你一樣能達到你的目標,
說了這么多,只是為了強調學習的重要性,但是如何學習?學習什么?這才是真正的問題,
如何學習?
很多人喜歡看視頻學習,記得剛學Java的時候,很多同學都會去看馬士兵,傳智博客等等,,,的確,視頻適合帶你入門,但是卻不適合進階,
如果你是一個什么都不知道的小白, 不知道什么是IDE,是什么叫配置環境變數,那么的確可以看看視頻學習,因為它能帶你很快的上手,避免走很多坑,
但是如果你是一個有一點專案經驗的人,那么個人是不推薦通過視頻來學習新的知識的,第一個便是因為資源太少,除了培訓機構和各種專門為了做教育行業的人,很少有其他人會專門通過視頻介紹技術,即使有,視頻質量也難以得到保障,第二個便是效率問題,看視頻你不敢跳過,害怕錯過知識點,你也更加容易走神,因為進度掌握在別人手里,
所以最好的學習方式便是看資料,比如看書,看官方檔案等,
如何看書?
書讀百遍,其義自見,能真正把一本書看很多遍的人,一定能體會到這句話的精髓所在,
擁有不同知識的人,看一本書的識訓一定是不一樣的,這里可以簡單舉一個例子:一個剛學完Java基礎知識的人,看《Effective Java》的時候,可能只會死記硬背,一個擁有三年開發經驗的人,看《Effectice Java》的時候,會覺得恍然大悟,而一個擁有豐富的開發經驗的人,看《Effective Java》的時候,一定會激動的拍打著桌子:“對,當時這個坑就是這樣的”,
當你想要了解一個知識點的時候,比如JVM,你可以先去各個網站,找一找網友推薦的書,一般比較經典的技術,都會有一本比較經典的書,比如JVM中的《深入理解Java虛擬機》,記住,如果是想深入了解的話,一定要買好書,湊字數的書,只適合你看個大概,
挑選好一本書后,首先應該查看書的前言,然后看看目錄,了解整本書得框架以及知識點的分布,最好帶著問題去看書,比如你看JVM,可能就是想了解大家常說的GC,JVM記憶體分布,JVM調優等等,明白這些問題在書的第幾節,想想作者為什么要把這個問題安排在這個地方?想要解答這些問題,需要明白哪些前提條件?
做完上面的步驟后,就可以開始看書了,看一個好書,我建議一遍泛讀,兩遍精讀,三遍薄讀,
第一遍,快速閱覽這本書,但是每個地方都要留一個印象,有問題不用怕,記在心里,明白書的大體講了什么,側重講了什么,哪些是重點,更加重要的是,你在快速閱覽程序中,產生了什么問題,
當看完第一遍后,我不太建議立即去看第二遍,看完第一遍,應該對整個技術有個大概的了解,這個時候你應該實際去上手去做,比如JVM打打日志看看,jps.exe,jstat.exe等除錯工具用一用看看,嘗試將書中的內容應用到實際中,這個時候,你會產生更多的問題,
第二遍,當經過一定的上手后,這個時候你就可以去看第二遍了,看第二遍的時候,心里應該明白,你想解決什么問題,你應該重點看哪里,看的程序中,多想一想為什么?想不明白的,一定上網查一查,問一問,這個程序中,其實更加推薦的是寫讀書筆記或者博客,嘗試將自己學到的東西講給別人聽,你會有意想不到的識訓,
當看完第二遍后,就可以暫時休息了,因為一本書,寫的再好,看兩遍都會有點乏味,看完這遍后,整理下知識點,簡單回顧下,
第三遍,第三遍應該在時間過去比較久之后再看,這一邊的速度可以很快,主要目的就是檢查你對這本書的內容的記憶程度理解的再好,都有可能會忘,每看到一部分內容,就去回想一下這部分內容的重點是什么?有什么值得注意的?為什么是這樣,當你發現你都能說出來時,這本就,就已經薄成一張紙了、
看哪些書?
明白了怎么看書之后,最后一個問題便是看哪些書了...
作為一個程式員,最重要的便是基礎,基礎不牢,地動山搖,技術的迭代是非常快的,前幾年大火的C#,如今在國內需求已經比較少了,再比如現在慢慢崛起的go,想要不被時代拋棄,必須學會快速掌握一個新的知識,而這些知識其實都萬變不離其中,那便是基礎,
掌握作業系統,能讓你快速明白JVM,多執行緒,NIO,零拷貝原理等,
掌握網路基礎,能讓你快速明白Http,Socket,Https等
...
當然,這里所說的基礎,也包括一本語言的基礎,比如Java開發基礎等,
等有了這些基礎知識,再去學習整體開發的框架,會事半功倍,
明白了基礎的重要性,剩下的就是掌握一個高級開發工程師應該掌握的技能,
然而,什么才是一個高級開發工程師應該掌握的技能?
很遺憾,我不能告訴你,因為不同方向,不同企業,不同部門,不同的業務,對一個人技能的要求,是不一樣的,
最好的方法便是定制一個目標,然后看看你離這個目標還有多遠,
怎么去衡量你離這個目標還有多遠呢?最好的答案便是面試,面試猶如考試,少看哪些博眼球的文章標題為面試官問我...,制造焦慮,太偏的知識點可以簡單了解,但是別太浪費時間,不管你有沒有準備好,現在開始,準備一份你的簡歷,找一些差不多的崗位,然后接受面試官的鞭撻,總結每一次面試中,你發現你有空白的知識點,然后找一本書,看它,不用害怕簡歷沒什么寫的,沒什么寫的簡歷,更應該開始著手準備,機會總是給有準備的人,
堅持上面我說的,我相信,offer會比“危機”先到一步,
有感而發,隨便寫寫,
------ 胖毛2020/06/19
個人公眾號,隨便寫寫

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10326.html
標籤:其他
