2019Java程式設計師如何不迷茫—(認清自己、時間管理、高效學習)
喜歡的朋友可以關注下專欄:Java架構技術進階。裡面有大量batj面試題集錦,還有各種技術分享,如有好文章也歡迎投稿哦。

一、認清自己
1)認清自己最關鍵的一點是【要知道自己到底想要什麼】
這是第一步,也是最重要的一步。因為這關係到你能夠夠選對學習方向,能否沉下心來去學習。
我們都知道,做自己感興趣的事情的時候,是可以事半功倍的,因為你願意去做它,而不是出於某種原因不得不去做。
經常會有人問我,現在前端找工作好找麼?java 找工作好找麼?我要不要學 android 呢?這些問題的答案其實大家心裡都明白: 只要你足夠優秀,學什麼都能夠找到一份好的工作。
所以說,不要因為某一個方向火,而盲目的去追;也不要因為某一個方向可能不容易找工作而不去學。
記得我有一次這麼回答一個朋友的時候,他和我說:很多時候,選擇遠比努力重要,我選一個我不喜歡但是火的方向也許比我選一個我喜歡但是不火的方向賺的更多。這種想法很多人應該都有,但是我覺得,選擇遠比努力重要的前提是你這個選擇得正確,但是能夠做出正確的選擇的人,他本身就已經是一個優秀的人了。拋開這點不談,在一個自己不喜歡的領域你能走的多深入呢?
對一個搞技術的人來說,年齡的增長其實不是那麼可怕,可怕的是你沒有匹配自己年齡的技術深度。當你的工作換一個剛畢業的學生都能做的時候,你很快就會被淘汰了。所以, 選方向一定要選自己感興趣的方向,因為只有這樣,你才有興趣去往深入了學,你才不會在未來被年輕人擠下去。
2)認清自己的第二點是【認識到人外有人】
自滿,自大,自欺欺人是影響自己進步的絆腳石。如果你覺得,你現在已經很了不起了,你能做到這個程度已經很不錯了,你就會停滯不前,然後浪費大把的時間。
這是我自己的親身經歷。我的學校是一個雙非大學,計算機也不是學校很好的專業,訊息也比較閉塞。在我的圈子裡,我覺得自己已經很不錯了,我之前也一直這樣認為。但是,當我今年開始準備春招準備校招的時候,我發現我錯了,和真正優秀的人比起來,我什麼都不是。以前覺得自己會的東西,出去一看,大家其實都會;以前覺得很多知識等工作了再去學也不遲,出去一看,發現早就有人學會了。但是,現在認識到這些已經有點晚了,因為已經開始找工作了,沒有時間再去讓你從頭開始學了。
所以說, 永遠不要自滿 ,要知道人外有人。如果有一天,你覺得周圍沒有人比你更厲害了,一定要記得,不是你走到巔峰了,而是你的圈子,應該擴大了。只有你的周圍,有很多更厲害的人,你才能意識到自己的不足。這也是我常掛在嘴邊的:你想變成什麼樣的人,你就要去認識什麼樣的人,你的周圍是什麼樣的人,你就會變成什麼樣的人。 要知道,物以類聚人以群分 。
二、學習的目的
為什麼要學習呢?學習的目的,根本上是為了獲取競爭優勢,增加選擇機會。你比別人懂得多,比別人學的深,你就更有競爭力。對於程式設計師來說,不懂得學習是沒有辦法在這個行業混下去的。技術的更新換代,技術的深入掌握都需要去 不斷的學習 ,如果你不學,很快就會被淘汰了。
找工作的時候,有其他專業的朋友會羨慕的和我說:你這個專業真好,一畢業月薪就上萬,我才3,4千。其實我想說的是,如果不好好學習技術,搞技術的也會失業。大部分的人都只看到一部分計算機的應屆生工資很高很羨慕, 卻忽略了他們這四年是怎麼度過的 。天上是不會掉餡餅的,計算機專業的每天看劇打遊戲,畢業一樣找不到工作。希望以後你不會是那群天天打遊戲看劇最後抱怨自己工資低的那群人中的一個。
三、時間管理

知道了自己的方向,知道了為什麼要學,那麼我們接下來談一談,怎麼安排自己的時間,或者說,怎麼制定一個計劃。
很多人應該都有過這樣的經歷:我現在很無聊,不知道做什麼好,學習吧,不知道學什麼,開啟電腦也不知道做什麼,開啟手機也不知道做什麼,然後只能選擇看個直播,看個電視或者打個遊戲來打發時間。當一天過去以後,突然後悔,覺得自己當時要是學習就好了。
為什麼會這樣呢? 是因為你自己沒有一個計劃 ,如果你每天都有一個按時間段安排的計劃的話,你就不會迷茫了,你就會知道這個時間點自己應該做什麼,而不是用看劇打遊戲來打發時間。
關於時間的管理。首先,要有一個大一點的計劃,比如年計劃,月計劃,周計劃。這一年大體上要打到什麼目標,這個月要學習哪些知識。然後是精確到小時的日計劃。每一天,哪個時間段做什麼都詳細的列出來。
其次,不要太盲目自信。很多人其實從來沒有完成過自己的計劃。如果你真的能夠完成你制定的每一個計劃,那現在的你一定已經很了不起了。如果你幾乎沒有完成過自己的計劃,那麼你一開始制定日計劃的時候,不要給自己太多的任務。因為如果你一旦完不成,就會影響自己的信心。最好的方式是,一開始制定一些簡單的計劃,然後每天很容易就能做到,然後慢慢的去增加自己每天的任務量。最後找到一個最適合自己的節奏。這個過程可能需要很長的時間,因為你要不斷的去嘗試,去改進。找到最適合自己的作息時間去休息,找到自己工作狀態最好的時間去工作等等。
關於時間管理以及計劃的制定,每個人都應該有一套自己的計劃,因為每個人的情況不同。
最後,不要把你的計劃當擺設。雖然我上面說過,很多人其實從來沒有完成過自己的計劃。但是我還是希望你能夠認真的去對待它,因為受益的有且只有你自己。
四、學習方法

盲目的學習效果並不好。以前看書的時候,看完一遍再從頭看,感覺就像是在看一本新書,完全沒有印象。看似自己學了不少,其實真正掌握到的並不多。學習不是你看得書越多,讀過的文章越多你就學的越好,而是看你究竟掌握了多了。那麼,怎麼才能有效的去學習一門新的技術呢?我總結了以下幾個步驟。
1)學習的步驟
確認學習目標
首先,你需要確認你要學什麼,切記不要三心二意。學習最好一個時間段專一的去研究一個知識點,不要今天學 python 明天又想學 java 了。做什麼事都有有一個目標,不然容易成為無頭蒼蠅。目標往大了說,可以是成為某一個領域的大牛,往小了說可以是今天的一個學習計劃。
hr 面的時候,一個常見的問題是:你的職業規劃是什麼。一個優秀的人,必然會有一個屬於自己的職業規劃,知道自己在什麼時期要做什麼,知道自己每個時期要完成什麼樣的目標。學習也一樣,當你有了一個清晰的目標的時候,你才不會迷茫,才不會不知道做什麼好。
制定學習計劃
上面也提到了這點,計劃可能趕不上變化,也許今天正好有別的事情導致今天的計劃沒有完成,但是至少大方向是有的,你不會不知所措,不知道最近應該做什麼,這才是計劃的根本價值。所以,不要擔心計劃完不成,這是給你自己學,一天的計劃完不成又能怎樣呢?
自己找資料開始學習
請記住,不要當一個徹頭徹尾的伸手黨。因為輕易得到的東西你是不會珍惜的。並且,你不要祈禱你這一輩子所有學習需要的資料都有人會提供給你,自己找資料本身就是自學能力的一部分。當然,我並不是說不讓大家去群裡問,畢竟能問到也是一種本事,但是你一定要有自己的資料來源,無論是部落格還是書或者是官方資料。
腦圖與流程圖

比如這個就是一份不錯的知識點腦圖
學習從來都不是隻看看書就能學會的,自己構建相關知識腦圖和相關步驟的流程圖是非常有必要並且非常有效果的。比如你要學習java,你可以先從網上找一找別人畫的腦圖,對java有一個大致的瞭解,每學一個小的知識點,就自己繪製一個該知識點的腦圖,學完之後,自己再畫一個整個java體系的腦圖,這樣你會對java非常的熟悉。比如你學GC,光看書或者部落格是很難記住那些流程的,這個時候,你自己畫一個流程圖,我保證你對這個過程會很清晰。記住:就算是有現成的圖,你也應該自己畫一個,自己畫和看別人的是完全不同的兩個層次。
編碼
上面的那些,都是掌握理論知識的步驟,是騾子是馬還得拉出來溜溜。編碼才是重中之重,就算你能把一個知識點吹得天花亂墜,但是一句程式碼不會寫依然沒有什麼用。
筆記
好記性不如爛筆頭,學完的知識,然後記錄下來,自己總結一遍,收穫有多大你們試試就知道了。
回顧
如果你學的東西,很久都沒用,突然有一天你又要撿起它,你會發現,你之前做的努力,太特麼值了,你有資料!有腦圖!有流程圖!還有筆記!分分鐘就記起來了。
自己寫一個有實際應用的demo
如果有必要,可以寫一個有趣的應用,不是簡單的範例。
這個過程,其實是很耗時的,學生建議按照這個流程來,因為學生的時間大把大把的,時間很少的就根據自身情況取捨吧。腦圖和流程圖我覺得收益很高。上面說到,有的時候看完一本書再從頭看,感覺像是在看一本新書。所以我後面看書的時候,也會做相應的筆記,看的時候會在書上勾勾畫畫,給一些重要的地方打上標記,看完之後,合上書,用記事本把自己剛剛學的的東西寫一下(大綱就行),然後再和書上比對一下做一些修改。當我看完一本書以後,對應的,我還會有一個筆記,以後我甚至完全可以看自己的筆記而不需要再看書了。看 + 回憶 + 記錄,可以讓你充分的掌握一本書的核心。
步驟大體上是這樣,但是也千萬別死板的都按照這個過程來,畢竟還是很耗時的。下面分享一些獲取資料的途徑。
2) 獲取資料的途徑
- 百度/google:先看看他都能幹嘛
- 官網:官網的文件一般足夠了
- 相關書籍:京東和噹噹經常有活動的。
- 社群:社群也會有人做教程的,還會有一些個人專案可以參考
- github:可以在github 看看某個知識點的 awesome。
- 各大部落格以及知名博主的個人部落格:看看一些高質量部落格也不錯
- 微信公眾號:試著找一下相關的微信,當然,微信上的文章很多都來自於部落格,但是微信的好處就是,你不用自己找,別人已經幫你找好了,缺點就是,量太少。
- 知乎專欄:和部落格差不多。
- 一些視訊或者 wiki 教程:我這裡也收集了一些視訊教程和一些面試資料現在分享給大家申請加入Qqun,Java進階之路(進群備註簡書慕容千語即可通過)908676731,點選加入加入後直接找群主獲取。
喜歡的朋友可以關注下專欄:Java架構技術進階。裡面有大量batj面試題集錦,還有各種技術分享,如有好文章也歡迎投稿哦。



