1. 本科的腳踏實地
高考之后填志愿,那時候其實我也不懂,就覺得電子信息工程好像還不錯,于是就填了。在大學(xué)四年,除了學(xué)校學(xué)了C語言之外,我沒有學(xué)習(xí)任何第二門編程語言,而且C語言也只是初級的水平。我在大學(xué)都干了啥?
我在大一,就決定讀研,所以我一直在努力學(xué)習(xí),高等數(shù)學(xué)、線性代數(shù)、概率論、大學(xué)物理、還有一些數(shù)電、模電、信號與系統(tǒng)、通信原理等等專業(yè)課。老實說,我非常認(rèn)真,一部分是因為自己的學(xué)習(xí)習(xí)慣,另一部分也是因為自己要讀研,所以我每一步都走的很踏實。在我的同齡人里,執(zhí)行力和毅力能跟我比的,沒幾個,這點我不吹牛逼。
大學(xué)沒少拿獎學(xué)金,最起碼可以抵消我四年的學(xué)費,單片機也玩了不少,51、52到后面的ARM9都玩過,當(dāng)時還買了好幾塊板子,寫程序跑,那時候?qū)?a href="http://wenjunhu.com/soft/data/21-22/" target="_blank">嵌入式還蠻感興趣的。
但是畢業(yè)后,我有點后悔。為什么呢?我沒怎么學(xué)編程??!除了會寫一些簡單的C代碼,其他編程技能為零。
2. 研究生的覺悟
考入同濟(jì)之后,我的專業(yè)是電子與通信工程。從研一開始,我很明確我自己想要什么,研究生也是要上課的,基礎(chǔ)課、專業(yè)課等等。研究生也有課題,需要看各種論文,需要寫論文,其實還是蠻忙的。
我研究生對自己的唯一要求就是提升自己的編程技能。一開始我在看C++,語法看完了之后,看了一點基于C++的數(shù)據(jù)結(jié)構(gòu)和算法。我真正開始決定學(xué)Java是在研一下學(xué)期,當(dāng)時在eBay跟一些大佬們聊了蠻多,倒不是學(xué)到了什么牛逼的技術(shù),而是開拓了自己的視野,開始有了自己的一些想法。
后來我在實驗室里悶頭苦學(xué)了一年左右,從Java語法基礎(chǔ)開始,到集合框架源碼(那時候還是基于JDK1.7的)、到網(wǎng)絡(luò)編程(基礎(chǔ))、到數(shù)據(jù)結(jié)構(gòu)和算法,學(xué)完了這些基礎(chǔ)知識后,開始學(xué)習(xí)Servlet/jsp(現(xiàn)在已經(jīng)過時了)、再到Spring、Struts2、Hibernate(SSH框架,現(xiàn)在也過時了)、再到Spring、SpringMVC、Mybatis(SSM框架,這個現(xiàn)在還在用)、再到Java并發(fā)基礎(chǔ)、再到一些組件等等,再到后面我開始學(xué)習(xí)微服務(wù)相關(guān)的東東,學(xué)習(xí)Spring Boot,Spring Cloud等等。這期間,我做了4個項目實戰(zhàn)。我是如何自學(xué)的?
3. 我是如何自學(xué)Java的?
如果要說自學(xué)Java,我覺得我有資格說上幾句。我一開始看了一個星期左右的書,然后我把書扔在了一邊,看不進(jìn)去?。∥易哉J(rèn)為自己的腦袋瓜還算可以,但是我看不進(jìn)去。這也是初學(xué)者的通病,有好多讀者也跟我說:武哥,我書也看了,可是感覺還是不會。我TM也是這么過來的,哈哈。
所以我當(dāng)時看了視頻,我看的是畢向東的Java視頻,現(xiàn)在已經(jīng)有更加新的視頻了。找一個好視頻,從頭到尾認(rèn)認(rèn)真真跟著學(xué)一遍,做好筆記,那也是我開始寫博客的開始。為什么要記筆記?為什么要寫博客?我在前面一篇文章中也提到了:
為什么我在CSDN堅持寫了3年多的博客?
人都有個尿性,如果你做一件事情,一直看不到明顯的效果,你就會慢慢懈怠,慢慢懷疑自己到底對不對,適不適合。編程也一樣,為什么我不建議初學(xué)者上來就抱著別人跟你推薦的所謂的經(jīng)典書籍去啃?什么《Thinking in Java》、《Effective Java》等等,你啃的了嗎?你啃不了是對的,否則你就是神了。你啃不了,你就會放棄。我就很討厭那些貼吧論壇里一上來就給一些初學(xué)者推薦很多經(jīng)典書籍的人,顯得自己很博學(xué)很牛逼的樣子,其實沒啥卵用。
包括Java并發(fā)、SSH、SSM框架、組件等等,我全部看的視頻。當(dāng)然,一些源碼我是自己啃的。當(dāng)你有了基礎(chǔ),上路了,你再去看書,不僅僅就是看懂看不懂的問題了,那是真正的提升。
但是這些還不夠,你學(xué)了這些東西不能派上用場。必須要項目實戰(zhàn),網(wǎng)上有很多免費的實戰(zhàn)視頻,但是我覺得不好,因為那時候我已經(jīng)有基礎(chǔ)了,我知道如何去選擇我的學(xué)習(xí)資源了,我在這還是要強調(diào)一點,不要吝嗇給自己投資,我當(dāng)時也買了好幾個項目實戰(zhàn)視頻跟著學(xué)習(xí),提升很多實戰(zhàn)經(jīng)驗。我在前面一篇文章:
同樣是程序員,為什么別人比你更優(yōu)秀?
中第一點就提到了這個。
當(dāng)然了,我這邊也有很多優(yōu)質(zhì)的視頻資源,也許已經(jīng)大家夠用了,不用像我當(dāng)初那樣去花錢了,我那時候自學(xué),就沒有遇到像我這樣懂得分享的人。所以缺視頻資源的讀者,可以找我要,我就是單純的分享,為了幫助更多的朋友。
但是有很多人堅持不下來。我在文章的開頭也說了,在同齡人里,執(zhí)行力和毅力能和我比的沒幾個,我也是從小白一步步過來的,花了整整一年左右的時間去自學(xué)。我做了好幾個項目,我敢說我在學(xué)校這一年學(xué)到的東西,不比別人在外面工作兩年的能力差。所以有很多人覺得工作年限長就牛逼,見識多,但是在我看來,這不一定。
我曾經(jīng)好幾個月直接睡實驗室里,每天除了看論文,完成導(dǎo)師的任務(wù),其他時間全部用來學(xué)習(xí),晚上搞到十一二點,否則一年時間不可能學(xué)那么多東西,而且我大部分還寫成了博客,要知道,寫博客是很花時間的。如果你能像我這樣堅持,這樣嚴(yán)格要求自己,我不相信學(xué)不會一個東西。你就算今天學(xué)不會,你一個月之后呢?一個月不行,你一年總行了吧?就像馬云爸爸說的:今天很殘酷,明天更殘酷,后天很美好。但是很多人都堅持不過明天,他永遠(yuǎn)看不到美好。就像我考研一樣,沒有堅持付出,哪來的結(jié)果?
4. 遇到選擇,我如何取舍?
我當(dāng)初研究生剛畢業(yè),是去了華為,我的崗位就是Java軟件開發(fā),結(jié)果進(jìn)去之后做通信了。我就納悶,我研究生讀的是通信,我特地自己自學(xué)Java,結(jié)果又回到做通信,這就很尷尬了。
所以后來我還是走了,有些讀者問我,你為何放棄華為的高薪?我說自己的興趣不在通信,我有自己的打算,決定從華為離開的,肯定不是為了錢。最起碼,我現(xiàn)在過的比在華為好,我相信以后也會。
職場遇到選擇的時候,我個人覺得還是要結(jié)合自己的興趣,人生最重要的幾年可能就是剛畢業(yè)那幾年,那幾年也在絕大程度上決定我們以后從事的行業(yè),所以在做選擇的時候,需要結(jié)合自己的興趣,綜合各方面因素權(quán)衡好。
5. 總結(jié)一下
自學(xué)一門技術(shù),首先要會用,要先建立興趣,再想著去提升,去內(nèi)化,否則,你堅持不下去。
自學(xué)一門技術(shù),要有規(guī)劃,最起碼要知道你接下來要學(xué)哪些東西,不能走一步看一步。有了規(guī)劃就得有計劃,有了計劃,就得有執(zhí)行。
學(xué)習(xí)的過程中,永遠(yuǎn)不要吝嗇投資自己,該花錢就花錢,現(xiàn)在是知識付費時代,像CSDN GitChat達(dá)人課、極客時間等,里面一些課程還是挺不錯的,還有些培訓(xùn)機構(gòu)的視頻也不錯?;ㄥX提升自己,本來就沒毛病。
做任何事,離開了堅持二字,那都是扯淡。如果隨隨便便就能成功的,就能做好的事情,是個人都可以的話,那你也沒有什么競爭力。有句話說的好:小聰明不如傻堅持。
不懂就要多問,不管我們是什么樣的人,不管問誰,不管別人比自己牛逼或者弱,都得放低自己的姿態(tài),虛心一點。如果哪天我們有點影響力了,那么盡量以一個低姿態(tài)去多幫助那些初學(xué)者,幫助更多的人,因為我們也是那樣過來的,比自己牛逼的人,滿大街都是。人,不要膨脹,要懂得韜光養(yǎng)晦。
希望這篇文章能夠給那些初學(xué)者,或者有自學(xué)困惑的人帶來一點幫助,也希望我的讀者能從我這里獲得一些正能量。
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68549 -
JAVA
+關(guān)注
關(guān)注
19文章
2970瀏覽量
104814
發(fā)布評論請先 登錄
相關(guān)推薦
評論