本文主角:計(jì)算機(jī)科學(xué)與技術(shù)
講述人:知諸(福州大學(xué))
適合人群:有一定數(shù)理基礎(chǔ)或代碼功底,邏輯思維能力強(qiáng),沉穩(wěn)踏實(shí)有耐心,對計(jì)算機(jī)編程感興趣的同學(xué)
計(jì)科生內(nèi)心的“小九九”
抖音、微信、淘寶這些國民級App是如何開發(fā)出來的?如何讓汽車自動駕駛?如何保證數(shù)以百億計(jì)的紅包發(fā)放不卡頓、不出錯(cuò)?如何保證微信收發(fā)的消息不錯(cuò)不漏?如何保證地圖類App導(dǎo)航的準(zhǔn)確性?這些涉及我們生活方方面面的問題,都是計(jì)算機(jī)科學(xué)相關(guān)的研究范疇。
一提到計(jì)算機(jī),就繞不開計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(以下簡稱“計(jì)科”),畢竟它是最正兒八經(jīng)的學(xué)習(xí)計(jì)算機(jī)科學(xué)的專業(yè),這也是我選擇它的原因。剛上大學(xué)時(shí),我曾協(xié)助所在的計(jì)算機(jī)與大數(shù)據(jù)/軟件學(xué)院做過問卷調(diào)查,調(diào)查內(nèi)容是“大家為何選擇計(jì)科”。選的最多的前兩個(gè)原因分別是“工資高”和“方便打游戲”。這個(gè)統(tǒng)計(jì)結(jié)果很有代表性,畢竟就我本人而言,是既愛打游戲,又想工資高。
但是話說回來,讀計(jì)科真的有一腔打游戲的熱情就夠了嗎?
答案是否定的。數(shù)據(jù)結(jié)構(gòu)與算法、離散數(shù)學(xué)、線性代數(shù)、軟件工程導(dǎo)論、編譯原理、數(shù)據(jù)庫原理、高級語言程序設(shè)計(jì)……每一個(gè)都是能讓我們熬大夜、抓破頭皮的“麻煩課”。
那計(jì)科好就業(yè)嗎?工資高嗎?
根據(jù)身邊例子并結(jié)合學(xué)校統(tǒng)計(jì)情況來看,計(jì)科確實(shí)好就業(yè),考公考編崗位也很多,比大多數(shù)理工科占優(yōu)勢。工資則跟所處行業(yè)掛勾,互聯(lián)網(wǎng)大廠、游戲行業(yè)確實(shí)薪資高,但相對而言技術(shù)要求也更高,競爭壓力也更大,入行門檻真真切切地?cái)[在那兒。
那計(jì)科究竟是啥樣的?莫急,聽我慢慢道來。
充滿小“Bug”的計(jì)科學(xué)習(xí)
經(jīng)常有學(xué)弟學(xué)妹問我,計(jì)科與軟件工程專業(yè)(以下簡稱“軟工”)的區(qū)別在哪里?
通俗地說,計(jì)科“軟硬”通吃,軟工“吃軟不吃硬”,這兩者在培養(yǎng)側(cè)重點(diǎn)上還是有很大區(qū)別的。
簡單來說,計(jì)科的培養(yǎng)目標(biāo)是計(jì)算機(jī)科學(xué)家,軟工的培養(yǎng)目標(biāo)則是軟件開發(fā)工程師。
計(jì)科更側(cè)重計(jì)算機(jī)科學(xué)的相關(guān)理論與工程知識的學(xué)習(xí),從模擬電路到“0”和“1”的編譯原理,從計(jì)算機(jī)網(wǎng)絡(luò)到軟件工程無所不包,涵蓋內(nèi)容廣,有利于學(xué)生建立完整的知識結(jié)構(gòu),為后續(xù)培養(yǎng)打好基礎(chǔ)。
軟工則側(cè)重于軟件開發(fā)相關(guān)實(shí)踐與應(yīng)用的學(xué)習(xí),在軟件方面的專業(yè)課基本和計(jì)科重合,既要學(xué)習(xí)程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)與算法、離散數(shù)學(xué)、數(shù)據(jù)庫原理、計(jì)算機(jī)網(wǎng)絡(luò)等計(jì)算機(jī)類理論課,也要開展需求分析、軟件設(shè)計(jì)、軟件測試、軟件維護(hù)和項(xiàng)目管理等專業(yè)實(shí)踐課。
計(jì)科的課程設(shè)計(jì)很有特點(diǎn),用“理論與實(shí)踐相結(jié)合”來形容再恰當(dāng)不過。盡管很多同學(xué)在理論考試中能拿高分,但一到上機(jī)考試就容易“抓瞎”,連及格都難。最大的癥結(jié)在于,缺少抄起鍵盤咔咔寫代碼的實(shí)踐經(jīng)驗(yàn),這點(diǎn)在跨專業(yè)考研的同學(xué)身上尤為明顯。
寫好代碼并不像教科書上那般容易,只需打開電腦,輸入代碼,點(diǎn)擊完成即可。我擔(dān)任助教時(shí),經(jīng)??吹揭恍┬峦瑢W(xué),僅下載軟件、清理安裝環(huán)境就已經(jīng)花上很多時(shí)間,更遑論編寫代碼了,一個(gè)中英文符號的小Bug可能都要排除數(shù)日。但出現(xiàn)這些情況很正常,計(jì)科從來就不是一門抽象的紙上談兵的專業(yè),從鍵盤上敲入的每一串符號,到顯示器上每一個(gè)像素點(diǎn)的渲染,都需要扎扎實(shí)實(shí)的基本功。雖然寫代碼、找Bug很煩,但當(dāng)某天你看見自己精心設(shè)計(jì)編寫的代碼,被編譯成一個(gè)個(gè)App、一個(gè)個(gè)網(wǎng)頁,實(shí)實(shí)在在地幫助用戶解決了痛點(diǎn)與難題時(shí),你會覺得一切都值得,這也許就是程序員內(nèi)心最柔軟的地方。
一些就業(yè)考研的“小秘密”
大家都知道計(jì)科好就業(yè),但本科畢業(yè)的人都去了哪里呢?我們專業(yè)有很大一部分同學(xué)會進(jìn)入體制,或者說是泛體制單位(如銀行和國企)。從工信局到環(huán)保局,從警察局(網(wǎng)警)到醫(yī)院信息科,從銀行科技崗到國家電網(wǎng),都有計(jì)科生的一席之地;還有一部分同學(xué)選擇進(jìn)入私企,由于計(jì)科的專業(yè)特性,計(jì)科生幾乎在每個(gè)私企都能找到對應(yīng)的崗位,更優(yōu)秀的同學(xué)甚至能夠入職頂尖的互聯(lián)網(wǎng)公司。
跟大家透露一些行業(yè)相關(guān)的小秘密,想進(jìn)體制和頭部互聯(lián)網(wǎng)公司的同學(xué)最好讀研深造。為什么呢?
一方面,應(yīng)屆碩士畢業(yè)生往往會有一些免筆試的機(jī)會,或人才引進(jìn)的帶編崗位。另一方面,頂尖互聯(lián)網(wǎng)公司其實(shí)非常看重學(xué)歷背景、競賽獎(jiǎng)項(xiàng)和項(xiàng)目經(jīng)驗(yàn),跟你同期競爭的人中可能很多來自常青藤或者“985”“211”院校,除非你有ACM-ICPC World Finals的亮眼成績或BAT等大廠的實(shí)習(xí)經(jīng)歷,否則簡歷篩選關(guān)都難過。
因?yàn)橛?jì)科“重實(shí)踐”的特殊性質(zhì),本科期間會有非常多的實(shí)習(xí)機(jī)會,建議大家在實(shí)習(xí)時(shí)就明確今后的職業(yè)方向。
我在計(jì)科就讀時(shí),每年都聽聞因沉迷游戲掛科的反面例子,畢竟這是一個(gè)可以合理熬夜用電腦的專業(yè)。雖說大學(xué)比高中更輕松一些,但也千萬不能松懈,尤其是在大二階段,當(dāng)數(shù)據(jù)庫原理、線性代數(shù)、數(shù)據(jù)結(jié)構(gòu)與算法這樣又難又重要的專業(yè)課洶涌而至,學(xué)業(yè)壓力非常大時(shí),哪怕你是學(xué)霸,一不留神也會翻車。
俗話說,基礎(chǔ)不牢,地動山搖。計(jì)科生無論是找工作還是考研,都會被反復(fù)考查計(jì)算機(jī)操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)據(jù)庫原理等基礎(chǔ)知識的掌握情況,所以在本科階段一定要認(rèn)真學(xué)習(xí)、打好基礎(chǔ)。
也許很多同學(xué)不知道,計(jì)科對數(shù)學(xué)基礎(chǔ)的要求并不高,即使是目前最前沿的AI理論研究,用的也只是初高中階段的數(shù)學(xué)知識。希望大家不要因?yàn)樽约簲?shù)理基礎(chǔ)不好而對選擇計(jì)科懷有恐懼心理,我高中數(shù)學(xué)也曾考過57分(滿分150分),但這并不妨礙我目前在國內(nèi)頂尖的互聯(lián)網(wǎng)公司寫代碼。我這么說,能打消你的顧慮了嗎?