美國(guó)熱門(mén)專(zhuān)業(yè) 計(jì)算機(jī)專(zhuān)業(yè)的發(fā)展前途好嗎
信息時(shí)代的到來(lái),計(jì)算機(jī)專(zhuān)業(yè)不可否認(rèn)是最吃香的專(zhuān)業(yè),尤其是國(guó)內(nèi)門(mén)戶(hù)網(wǎng)站的不斷崛起,科技富豪層出不窮,造就了計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)生的不愁出路,但隨著計(jì)算機(jī)人才的不斷增加,新老更迭的加速,計(jì)算機(jī)專(zhuān)業(yè)就業(yè)前景是依舊光明還是不可預(yù)估?下面是一位計(jì)算機(jī)過(guò)來(lái)人給大家分享的就業(yè)情形,與千千萬(wàn)萬(wàn)的計(jì)算機(jī)畢業(yè)生共享。
首先說(shuō)一下計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)生能做什么
一、developer/programmer/software engineer
不管你是碩士,還是博士,不管你是學(xué)CS哪個(gè)方向的,研究算法(algorithm)的也好,人工智能(AI)的也罷,或者是軟件工程 (software engineering)、圖形處理(graphics/image processing)、網(wǎng)絡(luò)(network) etc etc etc,大家將來(lái)都有一條共同的也是CS里最大的出路,就是去寫(xiě)code編程做軟件開(kāi)發(fā)。
很多人申請(qǐng)的時(shí)候,或者在學(xué)校讀書(shū)學(xué)習(xí)期間,很在意各個(gè)方向的區(qū)別,癡迷于某個(gè)領(lǐng)域,但是工作幾年回過(guò)頭來(lái)一看,沒(méi)啥區(qū)別,大家都有一個(gè)光榮的頭銜,好聽(tīng)點(diǎn)叫軟件工程師,難聽(tīng)點(diǎn)叫程序員,職稱(chēng)(title)和工資高點(diǎn)低點(diǎn)而已。區(qū)別無(wú)非是有的人通過(guò)學(xué)校期間的學(xué)習(xí)或者研究,具有domain knowledge(比如說(shuō)常見(jiàn)的image processing算法,數(shù)據(jù)庫(kù)知識(shí),各種網(wǎng)絡(luò)協(xié)議和分布式系統(tǒng)知識(shí)),然后去開(kāi)發(fā)各種相應(yīng)的domain-specific application(比如圖形圖像處理軟件,數(shù)據(jù)庫(kù)管理軟件,網(wǎng)絡(luò)設(shè)備/分布式系統(tǒng)上運(yùn)行的軟件)。等你每天寫(xiě)了無(wú)數(shù)programs之后,可能對(duì)領(lǐng) 域上的區(qū)別早就麻木了;等你工作多年,做了無(wú)數(shù)個(gè)project以后,可能早就不care到底算是那個(gè)domain/area的了,來(lái)了通殺。
不管你是在哪個(gè)行業(yè)工作,IT也好,金融保險(xiǎn)也罷,或者是咨詢(xún)、生物技術(shù)、whatever,不管你的工作頭銜(job title)聽(tīng)上去很好聽(tīng)還是很丟人(比如architect/Principle/Technical Lead vs programmer),也不管你的工資是1萬(wàn)一個(gè)月還是5000一個(gè)月,最關(guān)鍵的是你的工作性質(zhì)是什么,只要是以軟件開(kāi)發(fā)/編程為主,那么你就是此類(lèi)的。
這么一說(shuō),可能大家就明白了,原來(lái)學(xué)CS的,不論你是什么方向,殊途同歸啊,那我還計(jì)較個(gè)啥?區(qū)別還是有的,比如說(shuō)現(xiàn)在cloud computing比較hot,不少公司在做相關(guān)的東西,如果你在學(xué)校里是研究這類(lèi)技術(shù)的,公司可能會(huì)因?yàn)槟愕膁omain knowledge招你而不是一個(gè)研究圖形學(xué)的,但是你將來(lái)的工作性質(zhì),跟開(kāi)發(fā)圖形處理軟件的兄弟們是一樣的,說(shuō)高尚點(diǎn)叫l(wèi)arge scale system design and development,說(shuō)俗了就是coding, coding and coding。
大家都說(shuō)做IT的是民工活,其實(shí)公司里資歷久,對(duì)核心產(chǎn)品底層architecture懂的多的技術(shù)骨干,工資也是很高的,而且地位高工作也穩(wěn)定。
二、software QA(quality assurance)/testing
從軟件工程的角度來(lái)說(shuō),有人寫(xiě)軟件,就得有人專(zhuān)門(mén)跟在后面找bug提高軟件的quality。QA的活一直被輕視,以前曾經(jīng)被認(rèn)為是可有可無(wú)的東西,不需要專(zhuān)門(mén)的QA,現(xiàn)在被越來(lái)越重視了,當(dāng)然還是有些人覺(jué)得qa不如做developers更重要,但是不可否認(rèn)的事實(shí)是,QA不可或缺,QA工作現(xiàn)在很多,已經(jīng)在計(jì)算機(jī)行業(yè)里占了很大的比例了。
QA對(duì)技術(shù)的要求相對(duì)低。QA可以粗略的分成兩種,一種是mannual testing,全手工測(cè)試,你不需編程,基本就是分析軟件系統(tǒng),制定測(cè)試計(jì)劃和用例,然后用鼠標(biāo)去點(diǎn)擊為主,從技術(shù)角度來(lái)看,的確低級(jí)了點(diǎn),早些年,developers覺(jué)得去做QA是降級(jí),跟發(fā)配充軍一個(gè)意思,所以QA不得不到處找,來(lái)源很復(fù)雜,做QA的整體技術(shù)能力也比較低下;現(xiàn)在隨著公司對(duì) 產(chǎn)品質(zhì)量和測(cè)試工作的重視,有CS技術(shù)背景出身的qa越來(lái)越被青睞;第二種QA,做的是自動(dòng)化測(cè)試(automated testing),就是用軟件工具或者自己編程來(lái)自動(dòng)化測(cè)試,這個(gè)就要求懂技術(shù)甚至要會(huì)編程,但是要求又沒(méi)有developer那么高,這種技術(shù)性的QA 也比較缺乏,現(xiàn)在的趨勢(shì)是很多公司盡量用automated testing替代mannual testing來(lái)提高效率。
同樣經(jīng)驗(yàn)/教育背景,QA的工資應(yīng)該比developer低,但是差別也不是很大。很明顯,學(xué)cs任何一個(gè)方向的人,都可以勝任QA的工作。
三、Database/network administration
數(shù)據(jù)庫(kù)/網(wǎng)絡(luò)管理對(duì)編程要求也很低,你不需要像開(kāi)發(fā)數(shù)據(jù)庫(kù)或者網(wǎng)絡(luò)管理軟件的人那樣子,天天耗在編程里。這類(lèi)工作優(yōu)點(diǎn)很多:
1 就業(yè)范圍廣,稍微大點(diǎn)的公司、學(xué)校或者任何機(jī)構(gòu)都需要有高級(jí)管理員來(lái)管理維護(hù)網(wǎng)絡(luò)和存儲(chǔ)備份數(shù)據(jù)庫(kù);
2 工作經(jīng)驗(yàn)越豐富越受歡迎,因?yàn)楹芏鄇ob就是得經(jīng)驗(yàn)豐富的administrator才能處理好,不是隨便扒拉一個(gè)沒(méi)多少經(jīng)驗(yàn)的人就能湊合著做的;
3 信息社會(huì),公司對(duì)數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)依賴(lài)嚴(yán)重,所以有時(shí)候一個(gè)經(jīng)驗(yàn)豐富的database/network administrator對(duì)公司可能非常重要,如果他突然撒手走了,公司又沒(méi)有準(zhǔn)備好替代人員的話(huà),會(huì)損失慘重的。
因此,這類(lèi)工作工資高,也比較穩(wěn)定。前段時(shí)間有些金融公司即使大幅度裁員,核心的網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)管理員也會(huì)被保留。
這類(lèi)工作的缺點(diǎn)是入門(mén)比較難,公司希望你能有相關(guān)的實(shí)戰(zhàn)經(jīng)驗(yàn)而不僅僅是會(huì)點(diǎn)學(xué)校里的理論知識(shí),剛畢業(yè)的學(xué)生往往根本沒(méi)有這方面的經(jīng)驗(yàn);有時(shí)候需要在晚上或者周末工作,也可能有on call的情況出現(xiàn)。
四、Others
其他的工種也有,比如release management,用戶(hù)界面(UI, user interface)設(shè)計(jì),usability,Technical support等等,但是一方面這些工作數(shù)量相對(duì)少,另一方面,不同的公司里,相同的職位名稱(chēng)可能具體的工作性質(zhì)不太一樣,比如做release managment的,有的公司要求做很多QA的活,有的公司更靠近developers,還有的公司可能讓你安裝/搭建系統(tǒng)來(lái)管理不同的 releases,跟個(gè)系統(tǒng)管理員似的,所以就不一一詳敘。
最后,談一下cs研究生教育和工業(yè)界需求的不同。
很多人來(lái)美國(guó)以前對(duì)研究生學(xué)習(xí)充滿(mǎn)了期望,以為可以通過(guò)學(xué)習(xí),迅速獲得將來(lái)在社會(huì)上求職謀生的技能。這個(gè)想法當(dāng)然沒(méi)錯(cuò),但是我想提醒,學(xué)校里側(cè)重培養(yǎng)學(xué)術(shù)科研能力,傳授理論知識(shí),跟工業(yè)界需求不同。
大家都希望選擇排名高的學(xué)校接受研究生教育,而這些學(xué)校,只所以排名高,很大程度上是因?yàn)槔碚撗芯孔龅暮?research做的不好的學(xué)校,排名不可能高了,甚至是沒(méi)有什么排名。
研究生學(xué)習(xí),尤其是在一個(gè)側(cè)重理論研究的氛圍下,老師們強(qiáng)調(diào)的是你在一個(gè)小方向內(nèi)深入研究,獲得領(lǐng)域知識(shí)(domain knowledge)和解決問(wèn)題的能力;學(xué)校里做research,經(jīng)??梢月?tīng)到強(qiáng)調(diào)”IDEA”(中文可以翻譯成“點(diǎn)子”),把IDEA掛在嘴邊,因?yàn)?找到新穎的idea設(shè)計(jì)一套方法理論來(lái)解決學(xué)術(shù)問(wèn)題,才是科研的核心;老師當(dāng)然希望你有強(qiáng)大的編程能力來(lái)實(shí)現(xiàn)你的idea,但是找出idea遠(yuǎn)比編程更重要,因?yàn)榫幊棠芰梢月囵B(yǎng),idea可不是你想有就可以有的。
研究生的課程,根本目的還是系統(tǒng)的傳授理論知識(shí)給學(xué)生,而不是教學(xué)生如何使用某項(xiàng)具體技術(shù),所以到了研究生這個(gè)層次,就沒(méi)有什么很應(yīng)用的課程比 如說(shuō)C++/Java了。開(kāi)設(shè)的程序語(yǔ)言設(shè)計(jì)(programming language design)這種課程,也是從底層告訴你如何設(shè)計(jì)一個(gè)程序語(yǔ)言,而不是教你指針數(shù)組怎么用,類(lèi)怎么設(shè)計(jì)。整體上,學(xué)校里輕視成熟技術(shù),學(xué)校的老師不會(huì)很 excited陪你整天玩j2ee,.NET這些東西,盡管他們?cè)诠I(yè)界用途廣泛。
相比之下,公司決大部分職位需要的是能熟練使用某些具體技術(shù)的人,公司基本不需要你卓越的研究能力和超群的理論水平
【更多美國(guó)熱門(mén)專(zhuān)業(yè)信息請(qǐng)點(diǎn)擊出國(guó)留學(xué)網(wǎng)相關(guān)鏈接】
美國(guó)大學(xué)計(jì)算機(jī)工程專(zhuān)業(yè)資訊
u 什么是計(jì)算機(jī)工程?
計(jì)算機(jī)工程( computer engineering )是對(duì)計(jì)算機(jī)設(shè)備和計(jì)算機(jī)系統(tǒng)進(jìn)行設(shè)計(jì)和原型處理的一門(mén)科學(xué)。雖然它與計(jì)算機(jī)科學(xué)的發(fā)展歷史和的研究領(lǐng)域都有許多相似的地方,但是計(jì)算機(jī)工程最核心的還是探究如何使計(jì)算思路映射到物理系統(tǒng)。計(jì)算機(jī)工程是計(jì)算機(jī)科學(xué)與電氣工程這兩門(mén)學(xué)科的共同產(chǎn)物,主要依托于物理和數(shù)學(xué)的基礎(chǔ)知識(shí)。
u 研究領(lǐng)域
計(jì)算機(jī)工程的主要分支有:
? 網(wǎng)絡(luò)——關(guān)于分布式計(jì)算環(huán)境的設(shè)計(jì)和實(shí)施,從局域網(wǎng)到萬(wàn)維網(wǎng);
? 多媒體計(jì)算——將文本,語(yǔ)音,音樂(lè),靜止圖像,視頻及其他來(lái)源的數(shù)據(jù)混合成一個(gè)連貫的數(shù)據(jù)流,并對(duì)其進(jìn)行有效的管理、編解碼和顯示;
? VLSI系統(tǒng)——研究微小型化電子設(shè)備(非常大規(guī)模集成電路)的工具菜單,屬性和設(shè)計(jì)方法;
? 可靠的計(jì)算和先進(jìn)的架構(gòu)——探究如何將容錯(cuò)內(nèi)置入硬件和軟件,以及并行計(jì)算的方法,光計(jì)算和測(cè)試;
計(jì)算機(jī)工程的其他研究方向還包括:顯示工程,圖像和語(yǔ)音處理,模式識(shí)別,機(jī)器人,傳感器和計(jì)算機(jī)感知。
(略)