自學(xué)編程和計(jì)算機(jī)科班出身是否存在差別?
謝謝邀請(qǐng)!
在2000年以前從事計(jì)算機(jī)程序設(shè)計(jì)的大部分都算是科班出身,這里有相當(dāng)一部分是計(jì)算數(shù)學(xué)專(zhuān)業(yè)、計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)以及計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)的占到了絕大多數(shù)。這一時(shí)期的程序開(kāi)發(fā)任務(wù)多集中在單機(jī)和硬件編程上,互聯(lián)網(wǎng)程序設(shè)計(jì)的需求遠(yuǎn)遠(yuǎn)沒(méi)有現(xiàn)在這么多,這一時(shí)期的程序設(shè)計(jì)也相對(duì)比較專(zhuān)業(yè),技術(shù)普及度也不高。由于當(dāng)時(shí)計(jì)算機(jī)硬件成本較高,技術(shù)資料有限,所以程序設(shè)計(jì)還是專(zhuān)業(yè)人士的事。
隨著2000年以后,互聯(lián)網(wǎng)爆發(fā)式增長(zhǎng),出現(xiàn)了體制內(nèi)培養(yǎng)的科班生遠(yuǎn)遠(yuǎn)滿(mǎn)足不了市場(chǎng)的需求,隨著計(jì)算機(jī)的普及以及獲取知識(shí)的渠道逐步拓寬,這時(shí)候就有不少工科的學(xué)生選擇了從事計(jì)算機(jī)軟件編程的行業(yè)。最近幾年伴隨著大數(shù)據(jù)技術(shù)的應(yīng)用,人才缺口增大到100萬(wàn)以上,這里面有相當(dāng)一部分就是程序員的缺口。
作為一名程序員,同時(shí)也帶學(xué)生做項(xiàng)目,發(fā)現(xiàn)有不少非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生考研選擇了計(jì)算機(jī)專(zhuān)業(yè)。我就說(shuō)一說(shuō)我遇到的這些情況,本科是計(jì)算機(jī)專(zhuān)業(yè)和非計(jì)算機(jī)專(zhuān)業(yè)區(qū)別在哪些地方:
科班出身的學(xué)生知識(shí)結(jié)構(gòu)完整,在概念理解上和實(shí)驗(yàn)動(dòng)手能力上在初期有明顯優(yōu)勢(shì)。通??瓢喑錾淼膶W(xué)生經(jīng)過(guò)一個(gè)學(xué)期的準(zhǔn)備工作,就能參加到實(shí)驗(yàn)小組,進(jìn)行獨(dú)立任務(wù)開(kāi)發(fā)了。在交代任務(wù)的時(shí)候,基本上能一次就了解大部分的任務(wù)內(nèi)容,其中優(yōu)秀的學(xué)生還能獨(dú)立進(jìn)行一些課題的深入研究中。比如能自己搭建Hadoop平臺(tái)的實(shí)驗(yàn)環(huán)境,能完成集群的部署,知道緩存、負(fù)載均衡等概念。
大部分本科是計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生對(duì)算法有一定的了解,知道不同算法的時(shí)間復(fù)雜度,在解決問(wèn)題的時(shí)候有多種選擇。通常也都接觸過(guò)Linux操作系統(tǒng),部署過(guò)數(shù)據(jù)庫(kù)、基本的web應(yīng)用等等。這些在學(xué)習(xí)的初期表現(xiàn)的尤為突出,非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生在這個(gè)階段基本上還處于補(bǔ)學(xué)階段。
科班學(xué)生在課題的選擇上更加靈活,甚至兼修兩個(gè)方向。因?yàn)橛型晟频闹R(shí)結(jié)構(gòu),所以在精力夠用的情況下,不少科班學(xué)生都會(huì)輔修一個(gè)方向。比如大數(shù)據(jù)方向的學(xué)生會(huì)輔修一個(gè)移動(dòng)互聯(lián)的方向,或者輔修一個(gè)行業(yè)應(yīng)用方向,比如HIS(醫(yī)院信息系統(tǒng))等。
非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生在初期會(huì)比較辛苦,我通常會(huì)給非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生布置更多的課程內(nèi)容,比如要修幾門(mén)課程:操作系統(tǒng)、計(jì)算機(jī)體系結(jié)構(gòu)、網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)、編譯原理、算法分析,這幾門(mén)課程對(duì)于以后的程序設(shè)計(jì)都是有很大幫助的,所以一般我都會(huì)要求。到后期基本上差別沒(méi)有那么大了,非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生也能通過(guò)自己的努力查缺補(bǔ)漏,大部分都能達(dá)到要求的標(biāo)準(zhǔn)。
總的感覺(jué),如果是工科的學(xué)生,比如物理、化學(xué)、材料、機(jī)械等專(zhuān)業(yè)的學(xué)生在初期好好于其他專(zhuān)業(yè),當(dāng)然如果你是數(shù)學(xué)專(zhuān)業(yè)的學(xué)生,那基本上和計(jì)算機(jī)專(zhuān)業(yè)沒(méi)有太大區(qū)別。
不管是哪個(gè)專(zhuān)業(yè)的學(xué)生,只有通過(guò)自己的努力能夠順利完成答辯,走到工作崗位上,就證明你是合格的軟件人才,起點(diǎn)并不能決定終點(diǎn),所以對(duì)于軟件編程感興趣的非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生,也可以放心選擇!