計(jì)算機(jī)科班出身,為什么很多人都不推薦做前端開發(fā)?(計(jì)算機(jī)專業(yè)做前端)
我是普通二本計(jì)算機(jī)專業(yè)畢業(yè),現(xiàn)在在做前端開發(fā)。當(dāng)時(shí)大學(xué)期間課都沒好好上,和前端相關(guān)性比較高的網(wǎng)頁設(shè)計(jì)課,只教了HTML和CSS,當(dāng)時(shí)授課老師用的編輯器居然還是記事本你敢相信?到了大三結(jié)束突然發(fā)現(xiàn)自己沒有什么能拿得出手的東西。同學(xué)室友慢慢地都有了實(shí)習(xí)或校招offer,自己卻不知道出路在哪,當(dāng)時(shí)完全是糾結(jié)了快兩個(gè)月,有個(gè)想法就去網(wǎng)上提問,然后被業(yè)內(nèi)人勸退,陷入自我懷疑的境地。
后來糾結(jié)了一段時(shí)間發(fā)現(xiàn)自己好像也沒什么能干的,破罐子破摔,干脆就先投簡歷看看,隨便找個(gè)什么設(shè)計(jì)助理、前端實(shí)習(xí)的崗位混個(gè)實(shí)習(xí)再說,果然沒過兩天就有電話約去面試一下,當(dāng)時(shí)那個(gè)高興,覺得這就是天無絕人之路呀。到了地方后hr先給了一個(gè)表讓填了一些信息,問了一些常見的問題后,說公司一般不招收沒有相關(guān)工作經(jīng)歷的應(yīng)屆生,但是可以培訓(xùn)一段時(shí)間,培訓(xùn)有一定的費(fèi)用,這個(gè)費(fèi)用可以貸款做分期,但是培訓(xùn)完之后可以留公司做項(xiàng)目還培訓(xùn)費(fèi)用。我聽完后突然醒悟過來,這不是坑人的培訓(xùn)機(jī)構(gòu)常用的套路嗎,于是趕緊溜了。
后來聽說一些朋友也是畢業(yè)時(shí)找不到工作,但是后面通過刻苦的學(xué)習(xí),找了一份還不錯(cuò)的工作,結(jié)合網(wǎng)上所謂的行業(yè)薪酬統(tǒng)計(jì),發(fā)現(xiàn)互聯(lián)網(wǎng)行業(yè)工資偏高,于是就下定了決心要做個(gè)碼農(nóng)。(其實(shí)就是給自己加強(qiáng)信心,畢竟自己本專業(yè)還是計(jì)科當(dāng)然舍不得這么大的優(yōu)勢(shì)。
有了目標(biāo)之后很多問題就簡單了很多,我先在網(wǎng)上了解了這些互聯(lián)網(wǎng)崗位需要的知識(shí)和能力,以及崗位職能范圍,包括行業(yè)人士給出的建議和吐槽點(diǎn)。其次結(jié)合自己的興趣愛好和知識(shí)儲(chǔ)備,覺得還是前端更適合我。主要原因:
1. 大學(xué)期間學(xué)過C語言,C語言和javascript語法很接近,更好入手
2. 大學(xué)期間學(xué)過網(wǎng)頁設(shè)計(jì),掌握了一些網(wǎng)頁搭建的知識(shí),對(duì)前端產(chǎn)生了一定的興趣
3. 前端開發(fā)薪酬不算低,互聯(lián)網(wǎng)行業(yè)不可缺少,尤其是我那年,Node的聲勢(shì)非常浩大,一度讓人有種要替代JAVA的錯(cuò)覺。
4. 前景尚可,有不可代替性,無論怎么變,前端都是需要的,總不能開歷史倒車啊~
定下方向后,接著我就決定留校學(xué)習(xí)前端開發(fā)的知識(shí)了。剛開始學(xué)的時(shí)候就是在網(wǎng)上找了一份教程,學(xué)習(xí)的過程中也逐漸的發(fā)現(xiàn)前端不只是搭建網(wǎng)頁那么簡單,還涉及到網(wǎng)絡(luò)請(qǐng)求、邏輯交互、跨端展示、屏幕適配等一系列的知識(shí)。
前端頁面的載體也不只是PC瀏覽器,還有微信小程序、H5混合開發(fā),頁面也需要一些順手好用的框架和UI組件去豐富(慢慢的發(fā)現(xiàn)自己好像入了一個(gè)大坑),不過也算是付出就有收獲,后來也順利的找到了一份滿意的工作。
前端的確是對(duì)小白友好很多,即使沒有相關(guān)的知識(shí)儲(chǔ)備,只要學(xué)習(xí)了HTML和CSS相關(guān)的基礎(chǔ)知識(shí)后,不出一個(gè)月就可以搭建出好看的頁面,做出來炫酷好玩的動(dòng)畫,能快速地將自己學(xué)習(xí)的知識(shí)轉(zhuǎn)化為可見的成果,如此正向反饋,自然讓你有前進(jìn)的動(dòng)力,比Java那種好上手的多。
但是正如前面提到的那樣,由于前端開發(fā)擔(dān)任了用戶與程序交互的橋梁,并不意味著僅僅搭建出好看的頁面就行,還要對(duì)用戶的操作作出反饋,發(fā)送請(qǐng)求與服務(wù)器進(jìn)行信息交互,將數(shù)據(jù)更新或渲染到界面上。這就要對(duì)HTTP知識(shí)和JavaScript有一定了解。在解決了基礎(chǔ)的數(shù)據(jù)渲染和更新后,脫離了初級(jí)切圖仔的范疇。
但是隨著頁面頁面逐漸復(fù)雜功能越來越多,JS單純的操作DOM會(huì)使得頁面不同的回流、重繪,甚至?xí)痦撁婵D影響到展示效果,于是又需要借助開發(fā)框架來生成虛擬DOM,提升頁面的渲染效率,所以就要掌握前端三大框架VUE、react、Angular之一,有了框架做后臺(tái)和用原生js做后臺(tái)完全是兩個(gè)世界,好在我培訓(xùn)入場的時(shí)候,大多公司已經(jīng)是使用框架做后臺(tái)了。
在開發(fā)的過程中,有很多頁面的按鈕、下拉框、導(dǎo)航欄等,會(huì)重復(fù)出現(xiàn),不停地復(fù)制粘貼又顯得很蠢,于是為了解決這類問題還要將重復(fù)的功能區(qū)域封裝成組件,只要頁面引入就可以實(shí)現(xiàn)一次編寫,到處引用的效果,于是還要封裝自己的組件或者引用第三方UI組件解決這個(gè)問題,于是ElementUI、VantUI、IView等常見優(yōu)秀的UI組件庫也要掌握。
在開發(fā)的時(shí)候頁面越來越多,引入的依賴越來越多樣,相互間的依賴關(guān)系復(fù)雜,于是還需要引入打包工具來處理你的代碼,輸出為瀏覽器可以識(shí)別的js文件。如果開發(fā)移動(dòng)端頁面還要解決不同手機(jī)的屏幕適配和不同系統(tǒng)的瀏覽器差異。如果開發(fā)微信小程序還需要學(xué)習(xí)相關(guān)的小程序開發(fā)API。如果想做到一套代碼多端復(fù)用還需要掌握uni-app或flutter等框架。當(dāng)這些了解得差不多之后,想往后端延伸還有nodeJS等著你。
任何具有爭議的事物都有兩面性,前端開發(fā)前期的學(xué)習(xí)難度偏低,學(xué)會(huì)HTML、CSS、JS和掌握一個(gè)前端開發(fā)框架后,就可以很快的勝任簡單的開發(fā)工作。但是前端開發(fā)注定需要解決各種各樣的領(lǐng)導(dǎo)要求和亂七八糟的多端展示問題。
說白了,簡單的搬磚工作所需的技術(shù)很容易掌握,但是前端領(lǐng)域所涵蓋的范圍太廣,太多樣化,很多高級(jí)的崗位需要你掌握的不僅僅是上面提到的框架和工具怎么使用,還要明白和理解這些工具深層的設(shè)計(jì)思想,去解決更復(fù)雜的問題或者選擇最優(yōu)的實(shí)現(xiàn)方案,因此,入行了前端就意味著不能停下探索的腳步。
其實(shí)不管做什么工作,保持不斷的學(xué)習(xí)和自我提升,提高自己的不可替代性才是最重要的。
程序員對(duì)學(xué)歷沒有硬性要求,題主計(jì)算機(jī)本科學(xué)歷已經(jīng)符合大多數(shù)公司的標(biāo)準(zhǔn)了,聽取過多的建議會(huì)在一定程度上影響自己的判斷,他人說的都具有一定的主觀性,題主選擇性還很多,與其聽別人說不如自己做決定,早作決定意味著可以早點(diǎn)了解自己是不是做碼農(nóng)這塊料,人生就是試錯(cuò)的過程,一無所有的人沒什么可害怕的,干就完了。
如果你僅僅因?yàn)椤昂芏嗳瞬煌扑]前端”而被勸退,那你大概率會(huì)陷入想做XX事情——>行內(nèi)人勸退——>想干XXX——>行內(nèi)人勸退的循環(huán)怪圈,浪費(fèi)大把的時(shí)間在躊躇不前上。
在網(wǎng)上,如果有人說大方向如何如何,大家都鼓勵(lì),
但是如果細(xì)分到具體,尤其是自己的行業(yè),大家又開始紛紛勸退,而且這批人都是同一批,非常有意思,這就是干一行恨一行?圍城?
與其一直被他們干擾,你不妨把你能做的選擇列出來一一比較,我相信大多人做前端或者說做開發(fā)是比較好的選擇,尤其本科計(jì)科專業(yè)的你!
如果你還在大學(xué)的話,抓緊時(shí)間自學(xué),以本科本專業(yè)應(yīng)屆生身份有希望進(jìn)大廠,起碼我身邊進(jìn)大廠都是這個(gè)方法!
小編是個(gè)多年開發(fā)經(jīng)驗(yàn)的程序員,懂前端、Java、Python。年初整理了一份最新的WEB前端學(xué)習(xí)教程,無論你是計(jì)算機(jī)專業(yè)想往前端開發(fā)方向發(fā)展,還是零基礎(chǔ)想要轉(zhuǎn)行做程序員,都可以通過教程學(xué)習(xí)?,F(xiàn)在這份教程作為粉絲福利,分享給大家,只要關(guān)注我私信“前端”即可獲取。