軟件工程專(zhuān)業(yè)|軟件工程師的大腦是怎么造就的?

本文首發(fā)于軟件工程專(zhuān)業(yè)|軟件工程師的大腦是怎么造就的?

作者劉同學(xué),本科就讀于同濟(jì)大學(xué)軟件工程專(zhuān)業(yè),研究生就讀于卡耐基梅隆大學(xué)。

我曾在同濟(jì)大學(xué)軟件學(xué)院度過(guò)了我人生中最難忘的四年,而后,我前往大洋彼岸的美國(guó),繼續(xù)追尋中心中的理想。回首四年前那個(gè)夏天,懵懂的我,機(jī)緣巧合的選擇了軟件工程。當(dāng)年漫不經(jīng)心的選擇,卻選中了恐怕是最適合我的專(zhuān)業(yè),不得不說(shuō)是冥冥之中才有的幸運(yùn)。

那么什么是軟件工程呢?軟件工程,其實(shí)追根溯源,是計(jì)算機(jī)領(lǐng)域研究的一個(gè)方向,通過(guò)借鑒一些工程的方法,旨在提高軟件開(kāi)發(fā)的效率以及可維護(hù)性。這門(mén)學(xué)科是2002年國(guó)家教育部新增的專(zhuān)業(yè),時(shí)間上遠(yuǎn)遠(yuǎn)比計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的時(shí)間要晚。但其實(shí),計(jì)算機(jī)和軟件工程專(zhuān)業(yè)可以稱(chēng)的上一對(duì)孿生的兄弟,由于和計(jì)算機(jī)學(xué)院過(guò)于相似,我們時(shí)常打趣到,我們和計(jì)算機(jī)學(xué)院最大的差別,就是我們是軟院的,他們是計(jì)院的,在名字上我們有優(yōu)勢(shì)。國(guó)家開(kāi)設(shè)這門(mén)專(zhuān)業(yè)的原因,恐怕也是預(yù)料到了十年以后甚至二十年以后社會(huì)上源源不斷的需求。前兩年創(chuàng)業(yè)氛圍比較濃厚,無(wú)論是走在路上,抑或是通過(guò)手機(jī)移動(dòng)端,總能收到“萬(wàn)事俱備,只差一個(gè)程序員”的招聘信息。如果說(shuō)前面的十年是移動(dòng)互連網(wǎng)的時(shí)代,后面的十年,恐怕會(huì)是VR、AR、人工智能的時(shí)代,而軟件工程師則是為這個(gè)時(shí)代直接添磚加瓦的人,有著較大的剛性需求。

軟件工程的課程,以同濟(jì)大學(xué)為例,大一主要是微積分,線性代數(shù),計(jì)算機(jī)基礎(chǔ),編程語(yǔ)言再加上一些通識(shí)教育課。和大部分工程專(zhuān)業(yè)一樣,大一先打好知識(shí)的基礎(chǔ),大二大三再進(jìn)行專(zhuān)業(yè)性的學(xué)習(xí)。以下是一份典型的軟件學(xué)生的課表

課程

在必修課程的基礎(chǔ)上,我院目前分為四個(gè)培養(yǎng)方向:數(shù)字媒體方向,涉及計(jì)算機(jī)視覺(jué),交互設(shè)計(jì),游戲腳本語(yǔ)言等課程。軟件工程方向,涉及l(fā)inux程序開(kāi)發(fā),windows程序開(kāi)發(fā)等。大型主機(jī)方向,涉及大型數(shù)據(jù)庫(kù)應(yīng)用,數(shù)據(jù)挖掘與數(shù)據(jù)倉(cāng)庫(kù)等。以及嵌入式方向,涉及嵌入式軟件設(shè)計(jì)以及移動(dòng)開(kāi)發(fā)等。

如何能夠在軟件工程的學(xué)習(xí)甚至工作中脫穎而出,要求可能分為兩方面。一方面是實(shí)打?qū)嵉挠矊?shí)力,比如編程能力,邏輯分析能力,數(shù)理基礎(chǔ)等。另外一方面則是專(zhuān)業(yè)以外的軟實(shí)力,比如英語(yǔ)能力,表達(dá)能力以及團(tuán)隊(duì)合作的能力等。對(duì)大部分的高中生而言,編程可能是一個(gè)陌生又熟悉的名詞。很多人會(huì)覺(jué)得編程很難,加上自己之前沒(méi)有些諸如信息競(jìng)賽的經(jīng)驗(yàn)而放棄計(jì)算機(jī)專(zhuān)業(yè)的學(xué)習(xí)。而且很多新生剛一入學(xué),就會(huì)面對(duì)編程的第一個(gè)攔路虎——c語(yǔ)言。我回想起剛?cè)雽W(xué)時(shí)自己那段掙扎的經(jīng)歷,也是諸多感概。仔細(xì)想想,長(zhǎng)久來(lái)看,就軟件工程而言,入門(mén)是極其容易的。只需要你在高中階段養(yǎng)成的數(shù)理邏輯即可。當(dāng)然,若要做到行業(yè)萬(wàn)里挑一的水平,那確實(shí)對(duì)天賦有一定的要求,但以大部分人的努力還沒(méi)有達(dá)到需要比拼天賦的程度。倘若你真能自律的學(xué)習(xí)四年,注重動(dòng)手能力,寫(xiě)寫(xiě)代碼,畢業(yè)之日,你再回首時(shí),恐怕也會(huì)感慨,之前擋在自己面前的,不過(guò)是被翻越的一個(gè)個(gè)小山丘罷了。

圖.項(xiàng)目截止日期前的眾人

現(xiàn)如今軟件工程還是一門(mén)更加面向全球化的學(xué)科,對(duì)英語(yǔ)要求遍布在學(xué)習(xí)的方方面面。很多高校的專(zhuān)業(yè)課程甚至只以英語(yǔ)進(jìn)行授課。也就是前段時(shí)間,姚期智院士在給清華交叉信息研究院的同學(xué)上課的時(shí)候曾說(shuō),之所以現(xiàn)在用英語(yǔ)上課,是因?yàn)橛⒄Z(yǔ)現(xiàn)在以及未來(lái)幾十年仍會(huì)是國(guó)際上學(xué)術(shù)界通用的語(yǔ)言,我們學(xué)好它,也是希望語(yǔ)言不會(huì)是將來(lái)學(xué)術(shù)工作的障礙,更是希望幾十年后,通過(guò)各位的努力,能夠?qū)⒅形淖鳛橹髁鞯恼Z(yǔ)言。而我在大學(xué)上課的四年,對(duì)曹布陽(yáng)教授英語(yǔ)開(kāi)設(shè)的軟件項(xiàng)目管理課程印象頗深。這類(lèi)課程是軟件工程專(zhuān)業(yè)獨(dú)有的課程,是針對(duì)具備一定的編程基礎(chǔ)與工程能力的高年級(jí)軟件學(xué)生開(kāi)設(shè)的。這門(mén)課更多關(guān)注的不是技術(shù)本身,而是如何運(yùn)用一套工業(yè)級(jí)標(biāo)準(zhǔn),使得軟件開(kāi)發(fā)流程化。在這門(mén)課上,同學(xué)們各自組成一個(gè)個(gè)小組,討論軟件開(kāi)發(fā)過(guò)程中的需求,功能域,標(biāo)準(zhǔn),風(fēng)險(xiǎn),工作量,時(shí)間安排與人員工作分配。如果當(dāng)前開(kāi)發(fā)計(jì)劃失敗怎么辦,備用方案是哪些。如何和客戶(hù)有效進(jìn)行溝通,如何跟客戶(hù)達(dá)成軟件功能點(diǎn)上的共識(shí)等。最后課程考核以小組答辯,文檔撰寫(xiě)的形式,高屋建瓴的考察學(xué)生對(duì)軟件工程的理解。這些問(wèn)題恰恰是從事軟件開(kāi)發(fā)工作經(jīng)常要面對(duì)的,而制定一個(gè)工業(yè)級(jí)的標(biāo)準(zhǔn)流程,則是軟件工程這門(mén)學(xué)科產(chǎn)生的源動(dòng)力。

對(duì)于計(jì)算機(jī)學(xué)院和軟件學(xué)院的同學(xué)而言,接校外企業(yè)的私活,非常常見(jiàn),也是一段津津樂(lè)道的體驗(yàn)。一方面完成了知識(shí)與實(shí)際產(chǎn)出之間的轉(zhuǎn)換,一方面有一筆足以支撐經(jīng)濟(jì)上半獨(dú)立的收入。我也曾和幾個(gè)小伙伴一起,參與過(guò)某汽車(chē)公司自然人機(jī)交互平臺(tái)的一期開(kāi)發(fā)。我們都知道特斯拉,近幾年電動(dòng)汽車(chē)領(lǐng)域的開(kāi)創(chuàng)者。而特斯拉汽車(chē)有個(gè)非常顯眼的特征就是它有一個(gè)巨大的控制屏,用戶(hù)可以利用這個(gè)大屏幕來(lái)導(dǎo)航,查詢(xún)附近的充電樁,聽(tīng)音樂(lè),電臺(tái),查看車(chē)輛狀態(tài)等。是智能汽車(chē)的大腦,也是汽車(chē)和用戶(hù)之間進(jìn)行交流的門(mén)面。而我們此次項(xiàng)目的目的,就是探究用戶(hù)在開(kāi)車(chē)時(shí),對(duì)于這樣一種交互方式,有什么習(xí)慣,以及有什么反饋。這個(gè)項(xiàng)目歷時(shí)6個(gè)月,一半的時(shí)候用于討論需求和如何實(shí)現(xiàn),一半時(shí)間用于實(shí)際的開(kāi)發(fā)。而實(shí)際的開(kāi)發(fā)中至少有一半時(shí)間用來(lái)修改方案,很多實(shí)現(xiàn)的功能也因此被舍棄,真正花在最后的成果的時(shí)間可能還不到實(shí)際開(kāi)發(fā)的一半,但這也恰恰是軟件開(kāi)發(fā)的特點(diǎn)。對(duì)這項(xiàng)目印象最深的事還是項(xiàng)目交付前夕,恰好是二月出頭,一群人呆在那個(gè)寒冷而凄涼的車(chē)庫(kù)進(jìn)行最后的通宵測(cè)試與調(diào)整。一邊寫(xiě)代碼,一邊在感嘆:車(chē)庫(kù),既可誕生比爾蓋茨,喬布斯這些改變世界的人物,也可以是一群饑腸轆轆的勤勞小蜜蜂們的日常歸宿。最后成果移交給甲方,第一次實(shí)現(xiàn)了從無(wú)產(chǎn)階級(jí)到小資產(chǎn)階級(jí)的轉(zhuǎn)換,我也因此開(kāi)開(kāi)心心的換了臺(tái)比較好的新電腦,悄悄的做好了下次旅游的計(jì)劃。

圖.汽車(chē)自然人機(jī)交互平臺(tái)

出國(guó)交換,則是大學(xué)生涯的另一份別樣的體驗(yàn)。在大三的下半學(xué)期,我選擇了去大洋彼岸,美國(guó)的羅斯霍曼學(xué)院進(jìn)行了為期一學(xué)期的學(xué)習(xí)生活。在我看來(lái),中國(guó)與美國(guó)算是計(jì)算機(jī)領(lǐng)域數(shù)一數(shù)二強(qiáng)大的兩個(gè)國(guó)家了。在美國(guó)學(xué)習(xí),感觸頗深的一點(diǎn)就是美國(guó)人的務(wù)實(shí)。從課程的設(shè)計(jì)上可見(jiàn)一斑。在國(guó)內(nèi)的時(shí)候,大部分課程基本都是一個(gè)期末考試,可能一個(gè)期中考試。倘若是計(jì)算機(jī)類(lèi)課程,則再添一個(gè)相關(guān)的課程項(xiàng)目。而在美國(guó),大部分課程都由數(shù)不清的作業(yè),小型考試,項(xiàng)目組成。如果說(shuō)在國(guó)內(nèi)時(shí)候很多課程,可以通過(guò)期末考試前一兩周的突擊學(xué)習(xí)來(lái)攫取一個(gè)不錯(cuò)的分?jǐn)?shù)。而這,恐怕在美國(guó)是行不通的。畢竟每周的作業(yè)和考試加起來(lái)可能就占了課程總分的一半。如果說(shuō)國(guó)內(nèi)的學(xué)習(xí)是一個(gè)100米的短跑,考驗(yàn)的是你在考察前掌握知識(shí)的能力,國(guó)外的學(xué)習(xí)更多像是一場(chǎng)馬拉松,你可能要時(shí)刻認(rèn)真警惕,才能保證自己不掉隊(duì)。

軟件工程學(xué)習(xí)中非常重要的一環(huán)莫過(guò)于實(shí)習(xí)了。而我,也是在從美國(guó)回來(lái)的幾個(gè)月后,前往北京微軟亞洲研究院,進(jìn)行了為期6個(gè)月的全職實(shí)習(xí)。現(xiàn)在回想起來(lái),這個(gè)機(jī)會(huì)得來(lái)也是諸多不易。亞研院每年面向全國(guó)只招幾百個(gè)實(shí)習(xí)生,很多崗位還是一個(gè)蘿卜一個(gè)坑,有些還跟清華北大中科大里一些實(shí)驗(yàn)室是定向關(guān)系,所以機(jī)會(huì)著實(shí)不多。公司里,我所在的組是系統(tǒng)算法組,我組里導(dǎo)師是浙江大學(xué)與美國(guó)密歇根州立大學(xué)聯(lián)合培養(yǎng)的博士。剛畢業(yè)沒(méi)幾年,非常年輕。而年輕最大的特點(diǎn),就是極具工作的激情。我當(dāng)時(shí)和他日常每?jī)商鞎?huì)碰一次頭,討論下手頭在做的事情,有哪些成果,面臨哪些困難。有時(shí)候甚至?xí)惶炫鰩状晤^,在工位旁的討論室,兩個(gè)人,在白板上邊寫(xiě)上想法,邊進(jìn)行討論,有時(shí)候還會(huì)發(fā)生比較激烈的爭(zhēng)辯。互聯(lián)網(wǎng)公司崇尚人人平等,發(fā)揚(yáng)個(gè)性。除了微軟,互聯(lián)網(wǎng)公司中具有代表性的facebook,也是極其推崇工程師文化。很多公司里面的產(chǎn)品與項(xiàng)目,甚至就是幾個(gè)工程師聚在一起,討論討論,一拍版就決定開(kāi)始做了。如果說(shuō)學(xué)土木的希望能建造出百年不倒的大橋,做理論研究的希望能夠在自己的研究領(lǐng)域的歷史簿留下自己的名字,那么每個(gè)軟件人追求的可能是,有一天能夠開(kāi)發(fā)出世界級(jí)的產(chǎn)品,親眼看到世界因你而改變。

圖.研究院實(shí)習(xí)結(jié)束合影

畢業(yè)之日歷歷在目,回首自己的四年大學(xué),剛剛能稱(chēng)得上不悔。除了自己當(dāng)新生的那年,每年新生開(kāi)學(xué)都會(huì)和學(xué)弟學(xué)妹們分享自己的大學(xué)生活,以一個(gè)過(guò)來(lái)人的身份和他們談?wù)劊髮W(xué)應(yīng)該怎么過(guò)。告訴同學(xué)們不要志得意滿(mǎn),不要因?yàn)槠瘘c(diǎn)高而放棄了后面的努力,笑到最后的往往不是一開(kāi)始跑的最快的,而是最有熱情,最自律,最能堅(jiān)持的人。許多基礎(chǔ)好,起點(diǎn)高的同學(xué)由于沉溺游戲而最終面臨退學(xué)的困境,同時(shí)每年也涌現(xiàn)出一批同學(xué),開(kāi)始毫無(wú)基礎(chǔ),通過(guò)自己的學(xué)習(xí)與實(shí)踐,畢業(yè)成為了大家眼中的大牛。

以同濟(jì)大學(xué)軟件學(xué)院12級(jí)畢業(yè)生為例,大約有20%的同學(xué)去國(guó)外深造,30%的同學(xué)選擇了保研或考研。繼續(xù)學(xué)業(yè)和找工作的同學(xué),基本都繼續(xù)從事軟件相關(guān)的方向。還有大約50%的同學(xué)選擇了畢業(yè)工作(包含創(chuàng)業(yè)的同學(xué))。(每屆畢業(yè)生,找到工作的機(jī)會(huì)接近100%)。只談工作,其選擇也是多元化的,想做系統(tǒng)的就去做系統(tǒng)工程師,該搞大數(shù)據(jù)的就去做數(shù)據(jù)科學(xué)家。人工智能無(wú)比火熱,也有一批優(yōu)秀的軟件工程畢業(yè)的學(xué)生加入了無(wú)人車(chē)團(tuán)隊(duì)。人生充滿(mǎn)著無(wú)限的可能,更多的是興之所至罷了。

最后,不由想起吳軍博士在《浪潮之巔》里描述的愿景:“近一百多年來(lái),總有一些公司很幸運(yùn)地、有意識(shí)或無(wú)意識(shí)地站在技術(shù)革命的浪尖之上,在這十幾年到二十年間,它們代表著科技的浪潮,直到下一波浪潮的來(lái)臨。”

“對(duì)于一個(gè)弄潮的年輕人來(lái)講,最幸運(yùn)的,莫過(guò)于趕上一波大潮。”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容