大多數(shù)優(yōu)秀的程序員都是自學成才慢蜓!
服不服亚再?
很多人在聽到這句話時,或許都會不屑一笑晨抡,畢竟這一結論的得出似乎在一定程度上抬高了非科班轉行以及培訓班出來的技術人氛悬,同時將科班出來的程序員們置于一個較為尷尬的位置。
但是耘柱,據(jù)最新的數(shù)據(jù)研究結果顯示這一結論確實有理可依如捅。日前,國外知名的編碼對戰(zhàn)平臺 HackerRank 深入研究了全球 10351 名學生開發(fā)者的學習方式以及技能狀況调煎,并最新發(fā)布了《2018 年 Student Developer Report》镜遣。令人驚訝的是,報告顯示士袄,當前有 76% 的學生正在攻讀計算機科學學位烈涮,但有 65% 的學生開發(fā)者是自學成才朴肺。那么接下來,我們將用數(shù)據(jù)說話坚洽。
1戈稿、學位不足以支撐開發(fā)者的技術能力
無論是在國內(nèi)還是在國外,計算機專業(yè)的學生都會在大學期間學習 Java讶舰、C鞍盗、C++、數(shù)據(jù)結構等基礎的軟件開發(fā)技能跳昼,從而向專業(yè)的開發(fā)者過渡般甲。但據(jù)調查報告顯示,在超過一萬名的開發(fā)者中鹅颊,有 37.7% 的人表示是通過學校和個人相結合的方式來學習編碼敷存,27.4% 的開發(fā)者表示是完全通過自學的方式學會了編程,相比之下堪伍,僅有 31.9% 的人僅通過學校教學的途徑學習編程锚烦。
由此可見帝雇,自學已成一種學習的趨勢涮俄。但是此前,我們也曾報道了一些企業(yè)的 HR 對于半路出家自學以及培訓機構出來的開發(fā)者常帶有有色的眼鏡來區(qū)別看待尸闸,其表示:
從面試經(jīng)驗來看彻亲,我廠對培訓班出來的基本不會招,基礎太差吮廉,干活也是浮于表面苞尝,知其然而不知其所以然。 另外除非你特別特別牛宦芦,否則一個正規(guī)的本科文憑還是需要的野来,其余的直接簡歷就被刷掉了。
這一席話不禁讓很多信心滿滿的開發(fā)者最終因一紙文憑的門檻而寒了心踪旷。然事實上,早在 2013 年時豁辉,Twitter 的創(chuàng)始人 Jack Dorsey 就在公開場合表示令野,他相信最好的程序員大多數(shù)都是自學成才。另外徽级,據(jù)微博大 V 博主 @斌叔兒童編程爆料:
我以前微軟團隊气破,真正計算機專業(yè)畢業(yè)生的只有 30%,都是別的專業(yè)轉的餐抢。
所以說低匙,無論是科班還是非科班的開發(fā)者,自主學習的態(tài)度均是抓住前沿技術潮流的必備技能碳锈,也是為成功鋪墊的一層基石顽冶。不過從側面來看,自學知識的流行也意味著兩件事:
- 第一售碳,計算機科學課程落后于技術發(fā)展的步伐强重。對于當今行業(yè)不斷更新迭代的技能,譬如每隔六個月就更新的 Java贸人、崛起的 Python间景、層出不窮的各種最新的框架......學生必須依靠自學來填充技術空白。
- 其次艺智,自我學習能力已經(jīng)在開發(fā)者基因中根深蒂固倘要。開發(fā)者對學習有著永不滿足的渴望。平均而言十拣,當高級工程師正在學習 4 種編程語言時封拧,不少開發(fā)者在學生時代就計劃著要學習 6 門語言。此外父晶,根據(jù)報告顯示哮缺,亞太地區(qū)的學生更有雄心壯志,其計劃學習 7 種編程語言甲喝!
就以上而言尝苇,所謂的計算機科學(CS)學位不應該是學生開發(fā)技能的主要衡量標準。相反埠胖,企業(yè)的技術團隊除了需要開發(fā)者在學校良好的表現(xiàn)糠溜,還要將個人項目以及擴展技能納入評估范圍,更不能“一棒打死"諸多從培訓機構出來的技術人直撤。
2非竿、全球范圍內(nèi),JavaScript 開發(fā)者供不應求
在技能方面谋竖,學生開發(fā)者如果學習 JavaScript 編程語言和以 JavaScript 為中心的框架將會有較好的就業(yè)前景红柱。因為據(jù)調查報告顯示,雇主對 JavaScript 的需求量最大蓖乘。而且隨著靜態(tài) Web 頁面逐漸過渡到漸進式 Web 應用程序锤悄,JavaScript 在業(yè)界日益占據(jù)主導地位。除此之外嘉抒,當前 95% 的 Web 應用程序都是基于 JavaScript 構建的零聚,所以它的需求量會如此之大也就很容易理解。
不過從數(shù)據(jù)上來看隶症,雖然有 48% 的雇主表示他們需要會 JavaScript 技能的開發(fā)者政模,但全球只有 42% 的學生開發(fā)者表示他們熟悉這種語言。這就產(chǎn)生了供不應求的局面蚂会。當調查人員在深入挖掘這一現(xiàn)狀時淋样,發(fā)現(xiàn)該語言在使用學習方面存在較強的區(qū)域差異。其中颂龙,印度和加拿大的差距特別大习蓬,美國和英國擁有較多的 JavaScript 開發(fā)者。
而這種技能差距可以追溯到大學的計算機科學課程措嵌《愕穑總的來說,JavaScript 并未在標準計算機科學課程中講授企巢。事實上枫慷,在美國報道的十大 CS 項目中,將 JavaScript 明確納入到核心課程中的高校幾乎為零浪规,當然這在中國諸多高校中也不例外或听,因此想要掌握該門編程語言的學生必須依靠實踐、個人項目或指導來學習笋婿。這也就是為什么更有可能自學代碼的學生(包括美國和英國學生)更好地掌握 JavaScript誉裆。
不過,現(xiàn)實來看缸濒,計算機科學課程中也不太可能很快加入 JavaScript 教學足丢。因為在大學的課程中,更多的是注重編碼理論(與應用程序相比)庇配,而不是像 JavaScript 這類因行業(yè)驅動的技術斩跌。此外,對于想要將 JavaScript 融入日常的教學捞慌,它的可行性也具有很大的挑戰(zhàn)耀鸦。據(jù)調查顯示,有一半的 JavaScript 開發(fā)者認為 JavaScript 的生態(tài)系統(tǒng)變化太快啸澡,所以即使是那些渴望將它加入教學材料的人也很難保持他們的課程能跟上時代袖订。
3、在學生開發(fā)者心中嗅虏,老牌 C 仍占據(jù)首位洛姑,Ruby、Python旋恼、JavaScript 為潛力股
盡管 JavaScript 的開發(fā)者在供與求之間存在差距,但這種現(xiàn)狀無論是對開發(fā)者還是雇主來說,都是一個好消息冰更,畢竟可以更好地激發(fā)相關技術人才的誕生产徊。不過受大學教育的環(huán)境影響,老牌 C蜀细、C++舟铜、Java 語言對學生開發(fā)者的影響很大,但是據(jù)統(tǒng)計發(fā)現(xiàn)奠衔,Ruby谆刨、Python、JavaScript 將成為他們接下來想要學習的首要三大技能归斤。
4、掌握前端框架技能的程序員嚴重欠缺
根據(jù)調查報告顯示脏里,全球范圍內(nèi)她我,掌握前端主流三大框架 AngularJS、React迫横、Node.js 和輕量級的 Java 開發(fā)框架 Spring 的人才嚴重不足番舆,甚至達不到雇主需求量的一半。
導致這樣的原因有很多恨狈,一方面,在大多數(shù) CS 課程中呛讲,學生更多的是學習建立理論和基礎知識禾怠,而不是工作技能。此外圣蝎,大學課程既沒有行業(yè)反饋刃宵,也沒有敏捷性,同時它的資源與行業(yè)趨勢并沒有保持同步徘公。
因此牲证,想要更好地掌握框架技能以及跟上日新月異的技術潮流,最好在實踐項目中不斷積累成長关面。