大二上半学期还挂科两门,大三上半学期就找到了外企实习工作,半年时间,我是怎么逆袭的?
大家好,我是二哥呀!
雖然十多年過去了,但回想起大一時候的光景,仍然歷歷在目。
由于計算機專業(yè)是學(xué)校新開的專業(yè),所以老師們也沒有多少教學(xué)經(jīng)驗,于是我們第一學(xué)期就直接開搞 Java 這門編程語言了,教材用的是大名鼎鼎的《Java 編程思想》和《Java 開發(fā)寶典》。
由于沒有一丁點編程基礎(chǔ),所以上課的時候完全聽不懂,看書就像是看天書一般,心里很慌,但也沒什么好辦法。
和我類似情況的同學(xué)還有不少,能在下半學(xué)期轉(zhuǎn)到其他專業(yè)的都轉(zhuǎn)了;不能轉(zhuǎn)的,就和我一樣瞎胡混著。
現(xiàn)在想想,這有點小慶幸呀,要是當時我學(xué)習(xí)成績再好點,轉(zhuǎn)了專業(yè),說不定真的后悔一輩子,哈哈哈。
不知道大家有沒有類似的經(jīng)歷哈,包括玩游戲耽誤課程,最后自暴自棄,甚至有些小伙伴畢業(yè)的時候畢業(yè)證都沒能順利拿到,特別耽誤事。
作為“僥幸”走出來的“過來人”,給大家提幾點個人建議吧。
01、大學(xué)同樣需要自律
上高中的時候,老師天天給我們灌輸這樣一種理念:“同學(xué)們,好好學(xué)呀,等你們上了大學(xué)就可以徹底放松了,那時候再也沒有人管你們,想怎么浪隨你們的便。”
實際情況呢,如果大學(xué)真的徹底放縱了,之前多少年的努力都可能化為烏有。
之前就有幾個小伙伴給我傾訴心聲,說自己大學(xué)沒有好好學(xué),畢業(yè)后找不到工作,又害怕進培訓(xùn)班被坑,后悔的要命。
確實呀,大學(xué)同樣需要自律。我們班就有這么三四個同學(xué),比如說我提到的石磊同學(xué),他上大學(xué)的時候就有自己的規(guī)劃,所以編程功底一直都很好。
還有一個叫海洋的同學(xué),現(xiàn)在在蘇州,已經(jīng)做到技術(shù)總監(jiān)的位置。大學(xué)的時候,他經(jīng)常把自己鎖在機房,獨自學(xué)習(xí)編程。
我呢,經(jīng)常是拿著筆記本電腦打單機游戲,日子過得一塌糊涂。
這里叮囑大家一句哈,大學(xué)千萬不要貪圖享樂,每個學(xué)期都應(yīng)該給自己提前規(guī)劃好,比如說要刷撒幣算法題,要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),要吃透 CSAPP。
要像一塊海綿一樣,瘋狂地吸收知識,也只有這樣,才能找到滿意的工作。
可以少參加一些社群,多泡泡圖書館,多讀一些計算機經(jīng)典書籍,比如說《代碼整潔之道》、《浪潮之巔》等等,還有各種黑皮書。
02、只要開始就不怕晚
我是大二下半學(xué)期才開始意識到危機的,因為當時匯編和計算機網(wǎng)絡(luò)都掛科了。再這么下去,拿畢業(yè)證都成問題,這簡直對我打擊太大了。
于是就下定決心,一定要彌補一下。
當時也沒有很好的學(xué)習(xí)路線,網(wǎng)上的資源也沒有現(xiàn)在這么豐富,手頭上有的一份視頻資料就是李興華老師的講課視頻。講 Java 的,很激情。
我去,剛剛?cè)ニ蚜艘幌?#xff0c;竟然還能搜得到李老師講課的視頻!關(guān)鍵是,智能ABC輸入法還在!
一開始,還是挺難的,因為基礎(chǔ)太差,很多聽不懂。沒辦法,我只好一遍聽不懂,就再聽一遍,前前后后一套視頻看了有三遍吧。
當然了,編程是看不會的,也聽不會的,只能練,我不僅照抄李老師的代碼,自己還把谷歌拼音輸入法給卸載了,切換成了智能 ABC。以至于我現(xiàn)在打字仍然是最多只敲兩個字,除非是成語。
我是先看李老師在講義上的代碼,然后暫停,自己去理解,理解不了就去背,然后腦子里有點東西的時候就下手去敲。卡殼的時候,就重復(fù)之前的動作,直到代碼的完整邏輯全部都吸收到了腦子里。
兩個月時間過去后,就有了點編程基礎(chǔ),然后就嘗試自己主動去修修改改,看是不是還能跑的通。
等到大三的時候,也許是努力得到了老天的眷顧,就拿到了一家外企的實習(xí)offer。
03、認清現(xiàn)實很重要
我在實習(xí)的時候,有主動去看 C++ 的書,就是那本《C++ Primer》,第四版的,現(xiàn)在那本書以及習(xí)題冊還在家里擺著,算是陪伴了快十年的時間了吧。
沒有丟掉它,因為前輩有給我說,以后有機會,還是要學(xué)習(xí)一下 C++ 的,這門編程語言實在是太經(jīng)典了。前輩的話,讓我對 C++ 充滿敬畏。
但時間過去了這么多年,仍然沒有機會和時間去學(xué)習(xí) C++,因為一入 Java 深似海啊!
前幾天我畫了一張思維導(dǎo)圖,重新梳理了 Java 后端工程師的學(xué)習(xí)路線圖(參照自我的偶像程序羊),發(fā)現(xiàn) Java 這個海是真的大呀~
之前有小伙伴問我,學(xué) Java 太難了,要不要轉(zhuǎn)前端?
有一說一,經(jīng)過這么多年的發(fā)展,其實前端要學(xué)習(xí)的東西也不少!
我們一定要認清現(xiàn)實,學(xué)編程并非一朝一夕的事情。不能說 Java 難就轉(zhuǎn)前端,前端難就轉(zhuǎn)測試,到最后可能什么都沒學(xué)好。
大二下半學(xué)期認真補了一把 Java 后,雖然時間短,很多東西只學(xué)到了皮毛,比如說并發(fā)編程、Java 虛擬機,但經(jīng)過這半年的刻苦努力,確實入門了。
有了這個基礎(chǔ),實習(xí)的時候雖然做的都是比較簡單的任務(wù),但基本上能獨立完成任務(wù)了。
能獨立完成任務(wù)后,整個人的精氣神就完全不一樣了,學(xué)習(xí)的欲望和動力就有了,整個人經(jīng)常能進入一種沉浸的狀態(tài),瘋狂地吸收,人也越來越自信,之前的那種頹喪的感覺終于一掃而光了。
雖然我們學(xué)習(xí)的是計算機科學(xué)與技術(shù),要學(xué)習(xí)計算機組成原理、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)與算法,但大多數(shù)情況下,我們還是應(yīng)該把編程語言給學(xué)好了,只有這件事做好了,你才能在學(xué)習(xí)編程的這條道路上走得更遠。
所以大家在大一的時候盡量就確認好自己要學(xué)習(xí)哪一門編程語言,盡量不要來回切換,雖然編程思想是相通的,但語法上的切換仍然是需要花費時間和精力的。
我的建議是,大一上半學(xué)期盡量選擇 C 語言來打基礎(chǔ),有了 C 語言作為基礎(chǔ),大一下半學(xué)期就可以無縫切換到 Java 語言上來。
如果真的很有天賦,在學(xué)完 C 語言后可以嘗試實現(xiàn)一個自己的編程語言,可以參照下面這個項目路線,一個 1000 行左右代碼的簡單 Lisp:
https://www.shiyanlou.com/courses/670
當然了,如果遇到困難,比如說 C 語言的指針實在是吃不透,也沒關(guān)系的,完全可以直接跳過,開搞 Java。
Java 語言的好處就不用我多吹了,我只說一點,Java 后端開發(fā)崗的薪資是真的挺香的,另外就是工作崗位是真的挺多的。
卷并快樂著~
選擇 Java,就意味著工作崗位就穩(wěn)了,這是最實際的考慮。
零基礎(chǔ)學(xué)習(xí) Java 的話,首推二哥連載的《教妹學(xué)Java》專欄,風(fēng)趣幽默,通俗易懂:
https://github.com/itwanger/jmx-java
通俗易懂,風(fēng)趣幽默,已更新到第 51 篇,喜歡這個專欄的可以幫二哥多多宣傳一下,GitHub 上雖然只有 99 個 star,但二哥有信心把它推到 1000 個 star,嘿嘿嘿。
(強烈暗示了哈)
04、學(xué)編程沒有捷徑
學(xué)習(xí)從來無捷徑,循序漸進登高峰。
很長一段時間內(nèi),我都是一名偏應(yīng)用型的選手,就是公司給我安排的任務(wù),我就是能解決(哈哈,主要靠搜索引擎),但是要我講理論知識,真的是抓瞎。
一般來說,學(xué)編程的人分兩種。
一種從理論基礎(chǔ)開始;一種從應(yīng)用實戰(zhàn)開始。
大學(xué)科班一般走的是第一種,培訓(xùn)班出身或者自學(xué)的,一般走的是第二種。
這兩種學(xué)習(xí)方式我認為都沒有問題,沒有孰輕孰重。
因為每個人的潛力不同,只要是奔著一個目的(把編程學(xué)好)去的,都沒有捷徑,必須得身經(jīng)百戰(zhàn),才能成為一名合格的工程師。
唯一我認為可以投機取巧的一點就是,趁早搞清楚自己要去哪一家公司,要應(yīng)聘哪一個崗位。
去招聘網(wǎng)站上,去公司主頁上,去校園信息網(wǎng)上,找到崗位職責(zé)和技能清單。比如京東上的 Java 高級工程師。
大學(xué)階段,盡量不要把精力放到新技術(shù)和新框架上,不要說 RabbitMQ 很火,就去學(xué) RabbitMQ,不要說 Kafka 很火,就去學(xué) Kafka,而是要有的放矢。
你想要去的崗位要求什么,就去學(xué)什么,那些新技術(shù)和新框架,完全可以放到工作以后,有需要的時候再去學(xué),把有限的時間投放到最能表現(xiàn)出你個人價值的地方。
05、最后的建議
學(xué)習(xí),一定要選一門好的教程,無論是一本書,還是一個視頻,還是在線的網(wǎng)課。如果不知道怎么選,就聽二哥的,保準靠譜。
選對了,就可以少走很多彎路。
有一說一,如果我大一的時候就看的是李興華老師的視頻課程,而不是跟著學(xué)校老師走,也許我就不會在大一的時候?qū)幊淌チ伺d趣。
我的學(xué)習(xí)建議是,大一上半學(xué)期從 C 語言開始,大一下半學(xué)期從 Java 語言開始,而不是一上來就把重心放到操作系統(tǒng)、計算機網(wǎng)絡(luò)、計算機組成原理這些課上,因為如果興趣沒有培養(yǎng)起來的話,可能就直接被勸退了。
計算機專業(yè)的課,并沒有想象中那么簡單。
我們需要先培養(yǎng)興趣,比如說學(xué)了 C 語言,學(xué)了 Java 語言,做個小游戲,做個計算器,做個聊天室、做個在線商城、做個圖書管理系統(tǒng);等有了一定的編程基礎(chǔ)后,大二的時候,就可以配合數(shù)據(jù)結(jié)構(gòu)與算法、計算機組成原理這些基礎(chǔ)課開始學(xué),把自己打造成一名“六邊形”戰(zhàn)士。
從大一開始,就按照招聘要求上的來,等到校招的時候,基本上你就超過了 95% 以上的同學(xué)了。
不付出比他人更努力的代價,是不可能脫穎而出的。
順勢而為,跟著學(xué)習(xí)欲望走,不要輕易中斷,一旦你進入沉浸式的學(xué)習(xí)狀態(tài)中,就可以在很短的時間內(nèi)取得令人刮目相看的成績。
推薦一篇「原力計劃」開始后,二哥閱讀最高的一篇文章(7 萬+)吧:
奉勸那些想把編程學(xué)好的學(xué)弟學(xué)妹們!嘔心瀝血,袒露心聲,掏心掏肺
記得幫二哥三連喲,筆芯~
總結(jié)
以上是生活随笔為你收集整理的大二上半学期还挂科两门,大三上半学期就找到了外企实习工作,半年时间,我是怎么逆袭的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一个网页,嘿嘿
- 下一篇: 《老板最爱的简历表》阅读