前言
某次間的閑聊,和朋友聊起國(guó)內(nèi)高校的計(jì)算機(jī)環(huán)境,默默想起自己的大學(xué),玩的時(shí)間夠多了,而專(zhuān)業(yè)卻沒(méi)學(xué)到什么。不能完全歸于教育方式不對(duì),畢竟還是自己不好好學(xué)習(xí),但如果有更好的學(xué)習(xí)方式,為什么不來(lái)引導(dǎo)學(xué)生學(xué)習(xí)呢?大學(xué)目前計(jì)算機(jī)的教育水平已經(jīng)遠(yuǎn)落后于工作所使用的技術(shù)。老一輩的老師,老一輩的技術(shù),老一輩的思想,對(duì)不起!這不適合現(xiàn)在的計(jì)算機(jī)學(xué)生了。
自我介紹
段榮,現(xiàn)在在北京百度,從事BFE(百度統(tǒng)一前端)工作,之前任職于杭州阿里巴巴,參與開(kāi)發(fā)了東南亞電商LAZADA,主要負(fù)責(zé)閃購(gòu)活動(dòng)和訂單頁(yè)面頁(yè)面。
我們要學(xué)習(xí)什么?
語(yǔ)言篇
C,C++,JAVA,C#這么多語(yǔ)言,我們是一定要做到門(mén)門(mén)必會(huì)嗎?語(yǔ)言只是我們用來(lái)編程的工具,如同擰一顆螺絲釘,沒(méi)有人會(huì)隨身攜帶所有種類(lèi)的螺絲刀一樣,我們也沒(méi)有必要學(xué)會(huì)使用多少種語(yǔ)言。但我并不是想說(shuō)明不要只學(xué)一種,對(duì)其它語(yǔ)言視為浮云。每種語(yǔ)言以及它的生態(tài)有自己的特點(diǎn),即使我沒(méi)有使用過(guò),但我知道什么時(shí)候去使用它就可以了。Java在阿里巴巴就會(huì)一家獨(dú)大,C++/Golang/PHP在百度暢通無(wú)阻,因?yàn)樗麄兠嫦虻臉I(yè)務(wù)不同,他們選擇了最適合自己發(fā)展的語(yǔ)言,如果有一天出現(xiàn)了更優(yōu)秀的語(yǔ)言,也許有些業(yè)務(wù)就會(huì)扔到他們過(guò)去代碼了。
那么作為大學(xué)生需要學(xué)習(xí)什么語(yǔ)言呢?
無(wú)所謂,學(xué)校教的任意一種已經(jīng)足夠你整個(gè)大學(xué)的學(xué)習(xí)了,但我在這里還是強(qiáng)烈建議學(xué)習(xí)Python+其它一門(mén)語(yǔ)言。Python療程短,見(jiàn)效快,小白容易使用,不會(huì)遇到太多看不懂的問(wèn)題,這樣就不容易產(chǎn)生退縮心理。另一門(mén)語(yǔ)言是為了以后工作用,畢竟以后工作方向不一定只是Python工程師,比如想去阿里當(dāng)后端工程師就要熟練使用JAVA。
就業(yè)與考研篇
下圖是大部分計(jì)算機(jī)學(xué)生工作后從事的方向,包括但不限于

- 后端工程師:負(fù)責(zé)處理數(shù)據(jù)
- 前端工程師:負(fù)責(zé)頁(yè)面展示
- 測(cè)試工程師:負(fù)責(zé)系統(tǒng)上線穩(wěn)定
- 產(chǎn)品經(jīng)理:明確產(chǎn)品需求,進(jìn)行需求分析,原型設(shè)計(jì)
- 視覺(jué)設(shè)計(jì):負(fù)責(zé)開(kāi)發(fā)前的設(shè)計(jì)搞和用戶交互
- 算法工程師:偏向于處理復(fù)雜的數(shù)據(jù)模型,如淘寶如何推薦商品給你
可以很明確的說(shuō),我們以后的出路不僅僅是打程序這一條路,選擇一個(gè)合適自己,感興趣的工作是我門(mén)大學(xué)最后所要確定的事情,最糟的情況是臨了就業(yè)還不知道自己要做的是什么,花了一年時(shí)間準(zhǔn)備選擇了讀研,然后兩三年之后再發(fā)生相同的事情。
如果你有感興趣的方向,也許并不擅長(zhǎng),但只要你做的開(kāi)心,完全可以讀研。比如你就是對(duì)自動(dòng)駕駛感興趣,那讀研完全有環(huán)境提供你研究這個(gè)方向。
但如果只是想打程序,我建議盡早工作,多離開(kāi)學(xué)院,接觸工作上的事情所學(xué)習(xí)到的遠(yuǎn)比上兩年研究生學(xué)的多。學(xué)校學(xué)習(xí)的往往是落后的,而且只要不是專(zhuān)門(mén)的領(lǐng)域(比如人工智能),公司一般不會(huì)太看中學(xué)歷,而是你們的實(shí)力。
知識(shí)架構(gòu)篇
知識(shí)框架可以幫助你有效的尋找到現(xiàn)在所學(xué)的知識(shí)如何運(yùn)用以及接下來(lái)需要繼續(xù)學(xué)習(xí)什么。
下圖是前端工程師的部分知識(shí)架構(gòu):

可以看到任何一個(gè)點(diǎn)都應(yīng)該有它聯(lián)系的其它知識(shí),將這些知識(shí)聯(lián)系在一起便是自己的知識(shí)框架,然后做到舉一反三。
再舉一個(gè)學(xué)校中的例子,做一個(gè)課程設(shè)計(jì)設(shè)計(jì)網(wǎng)站,一個(gè)工程師應(yīng)該腦海中浮現(xiàn)一張類(lèi)似的圖:

此圖列出了網(wǎng)站開(kāi)發(fā)的任務(wù)劃分,但我們開(kāi)發(fā)完了是否就萬(wàn)事大吉了呢?當(dāng)然不是,我們需要把我們的代碼部署到機(jī)器上面,那么如何部署?部署的什么?部署完了之后如何通過(guò)瀏覽器鏈接上?這些學(xué)??赡芏疾粫?huì)講,接下來(lái)的課程我會(huì)彌補(bǔ)這部分的空白。幫你們把這些串聯(lián)起來(lái)。(這里一個(gè)很經(jīng)典的問(wèn)題是:當(dāng)我們?yōu)g覽器輸入www.baidu.com后都發(fā)生了些什么)
課程計(jì)劃
這個(gè)課程的想法是幫助你們更好的理解學(xué)校的課程,由問(wèn)題引出你們所學(xué)到的知識(shí),豐富你們的知識(shí)框架,而你們可以通過(guò)本課程理清楚自己在將來(lái)要工作還是研究生,比如突然覺(jué)得前端開(kāi)發(fā)很有意思,那就沒(méi)有必要上研究生了,再或者打程序都沒(méi)有吸引自己的地方,反而對(duì)產(chǎn)品經(jīng)理有強(qiáng)烈的興趣。
本系列計(jì)劃持續(xù)三個(gè)月,使用python語(yǔ)言,每周至少一篇文章,會(huì)講解一個(gè)知識(shí)領(lǐng)域,或許不夠深,但力求幫助你們理解這個(gè)領(lǐng)域。最后的結(jié)果希望可以幫助你們明確自己的職業(yè)方向。
如果每期有什么問(wèn)題或者理解不清楚的可以在私信,群里或者評(píng)論留言,會(huì)做到幫每個(gè)人解答清楚。如果學(xué)習(xí)中有什么問(wèn)題也可以提出來(lái),盡量幫你們少走彎路。