學web前端開發?
2020年各大互聯網公司對前端技術人才的需求缺口依然很大,然而公司招不到人和學生找不到工作的矛盾卻更加突出,這一切都與前端技術的飛速發展息息相關,公司對前端人才的開發經驗要求、技術要求逐漸提高。那么企業到底需要什么樣的人才呢?請看下文詳細分析。
一、2020年IT互聯網招聘需求是什么?
我們先來看看各大互聯網招聘網站上面的招聘需求(以杭州阿里網易例):
1、像上面的招聘信息,具體信息里面寫明了工作經驗要求,你或許遇到過很多這樣的例子,為什么會這樣呢?
2、技能要求:移動端、框架(vue/react/angular其中之一)、了解一門后臺語言,這似乎是大部分企業招聘需求必寫的,同時也是大部分學員的短板,又或者自己感覺自己這些都學過,但是也一樣找不到工作,到底企業要的是什么呢?
3、到底原生js重要還是框架重要?在后面的段落中將一一為你解開困惑!!
二、沒學歷沒經驗的我如何找到一份滿意的工作?
諸如上面的問題,相信很多初學者都會有這樣的疑惑。那么,沒有學歷的我能否找到工作呢?學歷真的不重要嗎?企業都需要有工作經驗的,而我還沒工作過怎么找工作呢?
首先,我們來思考一個問題:公司為什么要招聘人,公司到底需要什么樣的人?
我們先來看一個誤區,很多的應屆生有這樣的想法:我先找個實習機會,哪怕不給我薪資都可以,然后邊工作邊學習(公司都會培養)。那么公司會不會培養新人呢?
第一:小公司招人主要是為了解決當前的項目問題;
第二:大公司招應屆生是為了儲備人才,招有經驗的是為了幫助團隊解決問題、盈利,招實習生是響應政府的號召,透露個小秘密(我當年那會招聘一個大學生免稅3.5萬呢)。
那么,你適合進哪種公司呢?為什么會有學歷經驗的限制呢?
第一:有很多人說前端飽和了,但是有哪個行業缺人呢?為什么公司又招不到人呢?因為缺的是真正有技術的人,不管是哪個行業,特別是2015年之后前端的飛速發展,還有鋪天蓋地的培訓機構大肆吹噓,很多的人選擇學習前端(入門門檻低),所以造成初級的前端很多,競爭壓力很大;
第二:公司雖然經常很難招到合適的人,但是也不缺投遞簡歷的人,北上廣深一線城市基本一個崗位能收到200-500份簡歷左右
那么要從這么多人中篩選出一個人,面試成本得有多高??而這還是在招聘需求提高的前提下,如果沒有學歷、經驗的限制,是不是會收到成千上萬的簡歷呢??因為這個招聘需求會篩選了很多人,從而減少了招聘成本而且能招的真正有技術的人。這也就是上面提出的第一個問題的答案,外面沒有寫學歷、經驗限制或許是為了提高點擊查看率,而必須得招有技術的人,里面有把具體招聘需求加上了。
那么沒有學歷沒有經驗的我如何找工作呢?
學歷到底重不重要?學歷代表了什么?什么是經驗?
如果是工作了的同學就應該有深刻體會,就是大學學的東西很散很廣而且很基礎,到了公司很多東西壓根用不到,不管你是專科還是本科畢業,進了公司就是一張白紙,都得從零開始,而大公司招應屆生也就是因為應屆生是一張白紙可以按照自己想要的結果來培養,但是每年接近1000萬多的應屆畢業生,招誰呢?有學歷高的肯定是招學歷高的啊,雖然高學歷也是白紙,但是高學歷能代表這個人學習能力強或者學習態度很OK,公司肯定愿意培養這樣的人,所以學歷還是蠻重要的。但是就能否勝任工作來說和學歷就沒關了,看個例子:
那是不是有學歷就行了呢?答案是本科生一樣很難找工作,因為哪里都不缺人,缺的是有技術經驗的人。
那什么是工作經驗呢?要明確工作經驗不是你工作了幾年就有幾年的經驗,你這幾年都在打醬油,都在混日子,這樣就算你工作五年還不如別人一年的經驗,所以真正的工作經驗不是你確實工作了幾年而是你做了多少項目,有多少項目經驗。所以沒有學歷怎么辦,沒有經驗怎么辦?那就突出你的項目經驗,突出你的技能,很多人會覺得是不是可以靠吹牛逼呢,我想說牛逼是要吹的,但是更重要的是要能證明自己吹的牛逼是真正的牛逼,如果證明不了那你就是在吹牛逼,到頭來你會很慘(普遍是這樣)。
但是問題又來了,很多人會說我也有項目啊,我也拿著項目去了啊,但是還是很難找工作。那么什么是項目經驗呢?要做什么樣的項目才行呢?是不是項目做的多就代表我有項目經驗呢?
我們繼續思考:
第一、開發一個項目真的很難嗎?(一萬個人有一萬種寫法,誰的更好呢)
第二、你真的了解企業標準、企業開發流程、企業需求嗎?(如果你寫的項目都不是企業所需要的,那么怎么能稱之為有項目經驗呢)
第三、怎么證明自己真的有技術呢?
綜上:不管有沒有學歷、經驗都必須拿著項目去找,而且你的項目還必須得是企業需要的,符合企業標準的,能夠證明你確實有技術的!
可是什么樣的項目符合這個標準呢?下面列舉了幾個
1、符合大企業開發標準(不懂可以百度bat公司標準)
2、多終端兼容PC+移動端項目,而且有上線的項目
3、前后臺分離數據交互處理業務模型
4、個人技術博客(記錄自己的學習歷程或者技術總結、技術分享,能夠讓人看到你學了哪些東西,掌握情況以證明你確實有技術)
5、代碼性能優化、網站加載性能優化
6、熟練掌握原生js并能夠自己開發常用組件、插件為團隊提供問題解決方案
那么上面的這些具體是啥,如何達到呢?請看下面的分析。
三、初級前端工程師的命運何去何從?
相信大家經常會見到這樣的言論:IT男很難找女朋友,IT行業天天加班,IT都是吃青春飯。
我們再來思考幾個問題:公司里面到底什么樣的人才能拿高薪?什么樣的人吃青春飯?原生js重要還是可以速成學習當下最火熱的框架就行?
在公司里面技術崗能拿高薪的人一定是有一技之長的人,直白點就是當項目遇到了問題,團隊里面只有你能解決這個問題,那你就是那個能拿高薪的人;或者你能夠為團隊提供解決方案,什么是解決方案呢?比如jquery插件庫很龐大,我們在自己的一個小項目中最多用到了它10%左右的功能,但是引入了這么龐大的一個庫,如果我們能自己封裝一個只適合自己當前項目的小庫呢?這就是提供解決方案,而不是能開發項目的人,3000薪資的人能寫項目,2萬、3萬月薪的也能開發,差別在哪呢?再直接點:IT行業寫代碼的人都是最底層的人員,俗稱碼農。每個大公司都有自己團隊研發的很多自己的功能庫、框架,只是沒有開源出來而已。而只有這樣的人慢慢的才能走上管理崗位(技術總監,技術主管,首席技術官,首席架構師等)而不再吃青春飯,因為當你成家有孩子老人要養的時候你不可能天天加班熬夜趕項目了,而這個時候你的學習能力,精力都會大大下降,你就會跟不上互聯網發展的速度,從而逐漸被淘汰。30幾歲、40歲的時候不得不考慮轉行。
我們再來探討一下原生js重要還是可以速成學習當下最火熱的框架就行?框架是什么東西?為什么需要用框架?
來看個知乎上面的面試例子:
要清楚框架都是用原生js封裝出來的,用來解決一類項目問題,提供開發效率等。但是框架不是萬能的,也不能解決所有的項目問題,所以隨著互聯網的發展,項目需求的提高,就會源源不斷的出來新框架、新技術以解決當下的項目需求問題。綜上,如果你選擇走捷徑,只想快速的學個框架技術然后找個工作,那么你就會吃青春飯,因為每個新技術出來你學習起來都會很吃力。但是如果你把原生js基礎打撈,設計模式學好,最終達到你自己都能封裝插件、封裝框架的高度,再來學習別人的框架,看別人的源碼是不是很簡單了呢?雖然我們不需要重復的造輪子,但是必須得知道造輪子的方法,或者為公司創造自己的輪子。
再想象這樣一個場景,我們去面試的時候能夠拿著自己封裝的插件庫或者框架去面試,那面試官還會懷疑你的技術么?就算學歷低又有多大影響呢?而現在缺的恰好就是這樣的人。再來看個活生生的例子,H5都沒學的孩子:
或許你也覺得看到了未來,不過更大的問題來了,怎么樣才算學好了呢?如何才能達到這樣的高度呢?請看下文詳細分享。
一、前端工程師之路
這里我們來探討一下學習方法。
很多人推薦初學者看W3C、推薦看書,也有很多人確實也是這么學的。但是我想問問大伙,你們知不知道這些推薦的人當年學習了多久,當年的前端是什么現狀?而現在的前端已經脫離了茹毛飲血、刀耕火種的原始社會,開始步入了工業時代,工程化、模塊化、組件化、全棧化的四個現代化已然來臨。所以如果你的學習速度跟不上互聯網的發展速度,那么我的建議是不要來糾結互聯網了,因為你永遠在拉后腿,永遠不可能拿高薪。
是不是看W3C、看書就不好呢?不是的,是因為W3C上面的內容很基礎,而且很多過時的,而真正的企業項目開發大有不同,其實他就像一個新華字典,只是當我們哪個知識點不清晰了去查閱一下,而不是作為學習的工具,你會浪費大量的時間去學習一些無用的東西。而看書呢,很多看過書的人就應該清楚,特別是js(比如傳說中的紅皮書、權威指南等),如果一個初學者去看它,你會發現你越看越迷茫,即使你看到第十章你也還不清楚js到底能做啥,到底怎么用,更寫不出一個具體的案例。因為這些書本都是技術大牛對知識點盡可能詳細系統的羅列,而忽略了初學者如何才能快速上手。這也就是很多人覺得js很頭疼,覺得自己看代碼也都看得懂,對每個知識點也都知道,就是自己沒思路,寫不出東西的原因。這些東西和大學的很多教學模式一樣,都是很基礎而且脫離實際項目運用的純理論知識。那到底該不該看書呢?肯定該看。當你有一定的思維,能夠熟練的寫一些特效案例,或者能自己獨立寫個簡單的游戲(打飛機、推箱子等)的時候再去看書,你會發現事半功倍,看啥都懂,而且能夠立馬運用,這就是補充基礎的時候了。
那到底應該如何學習呢?
當然是知識點結合案例學習,就是學習了這個知識點就能夠寫出一個相應的案例
這就叫學以致用,這樣子經過大量的案例練習、熏陶才能把基礎打扎實,打開邏輯思維,最終也才能達到上面所說的能夠開發插件、框架的高度。記住三尺之冰絕非一日之寒,千萬不要想著速成,不然你會很慘。而當你原生js達到這樣的高度的時候,你會發現那四個現代化也只是最簡單的運用而已了,但是如果你達不到這樣的高度,你就很難理解其中的奧秘,而很苦惱于前端永無止境,學不到頭。
再談到2015年之后非常火爆的HTML5也是一樣,很多人覺得自己H5會了,就是js不行,其實他連HTML5真正重要的東西都不知道,H5離開了原生js就不叫H5了,更沒有任何的優勢了,比如繪圖、多媒體、流媒體、地理信息等等完全依賴于js,再比如H5開發webApp需要涉及到的與設備的底層交互如下這些:
都是H5新增的很強大的接口,都離不開原生js。
講了這么多希望諸君能夠抓住重點,學歷只是敲門磚,企業看中的還是能力,提供學習效率,擁有學習能力,做一個能在這個行業有所成就的人,而不是混個工作而已,對于高手來說是事業而不是工作!