前端怎麼學才有優勢?

現在學前端的那麼多,該怎麼學習才能比那些培訓班出來的有優勢?(希望可以給一個即將走上前端崗位的應屆畢業生一些建議。)


不清楚樓主說的培訓班出來的是什麼樣的,不過我覺得樓主專註提升自己其實就可以了,以我的經歷來看,認真看書並且刻意練習寫程序提升的速度非常快,基本上可以快速超越其他人(我也不清楚為啥很多人下班之後不怎麼學習)。

具體書單其實知乎上有很多答案了,挑出現頻率高的看就行了,不願意挑可以看我的其他答案。練習的程序分為通用和特定領域的,通用的就是直接換一門語言也有用的,比如 String、Array、Object 提供的那些方法很多都可以自己試著寫一下。特定領域就是前端領域的知識,比如 HTML 和 CSS,還有 DOM 事件那部分的知識等。

在掌握 HTML 和 CSS(這兩個相對容易)還有 JavaScript(這個比較麻煩,多花時間吧)之後,優先考慮學習 HTTP 協議。據我觀察,掌握 HTTP 協議的後端工程師都不算多,更別說前端了。只知道使用框架提供的那些 API 而不深入思考為什麼是那樣操作,稍微生疏(其實上傳文件不算生疏)一點的需求不清楚怎麼處理。這些都是不應該的。

掌握 HTTP 協議之後(其實到了這一步就已經有很大優勢了),如果想繼續提升,可以考慮學習後端相關的知識,比如語言(我覺得 Node Python Ruby 都不錯)、資料庫、Linux 等。也可以考慮學習數據結構。這些都是 Web Developer 需要掌握的知識。

其他適合樓主的回答:

1. 看什麼書 已經學完 HTML/CSS 但是完全看不懂JavaScript 教程怎麼辦?

2. 如何看書 你是怎麼看完《JavaScript權威指南》《JavaScript高級程序設計》等這類厚書的? - 知乎

3. 如何練習 以後想找web前端方面的工作,現在已經初步學完html,JavaScript,css.接下來該如何走? - 知乎

4. HTTP 協議 Java應屆生,怎樣才能擺脫各類管理系統的開發? - 知乎


題主是科班生嗎。

如果是科班生,你比培訓機構出來的學員相比有很大的優勢啊~

不過培訓機構里的學員也不能一概而論,我想你指的應該是,其他行業轉來的,4個月速成的這些人吧。

所以從理論上來講,如果你是計算機專業的科班生:

1。你的基礎理論體系應該比較好,數據結構,演算法,計算機組成原理,操作系統,計算機網路,資料庫這些必備的基礎課程要比轉行而來的人培訓生要好。

2。你的編碼能力應該比較好,你應該至少寫了很多C,java的一些基本編碼, 寫過圖片館管理系統或者是購物車,有的可能還跟過一些真實項目。

3。你的就業機會應該比較大,第一是校招的企業會招應屆生,第二是你可以沒有工作經驗,第三是你可以應聘一些起點比較低的公司。第四別人不會質疑你的計算機編程基礎知識哪來的。

4。你的人脈關係應該比較好,你的師兄,你的學長,你的同班同學,你的老師,這些都可以在編程和學習指導上給你比較好的幫助。

以上就是一個正常的計算機科班生和培訓機構的學生比起來更有優勢的地方。

但是有優勢就有劣勢~

轉行而來的培訓生和計算機科班生比起來,也有一些自己特殊的優勢。

第一,主動學習的意願非常強。

大部分參加培訓的都是有主見的,工作過一年到兩年,很多人還是原本行業的精英人才,只是因為「入錯行」而重新選擇了一次而已。

修真院因為本身就是一個極度鼓勵自學的機構,對於入學學員心態的要求是苛刻到極點(我是覺得毛線啊連寫七天日報這不是很正常的么),所以在這一點上,我看到的轉行而來的培訓生心態比一般人都要好很多,也包括我見過的一些科班生。

第二,職業素養比較好,懂事兒。

參加過工作的,和沒參加過工作的,差別很大。很多還是在心態上把自己當成是學生的人,這體現在很多地方。

修真院本身就是完全工作中的氛圍,壓根就沒有課堂這個說法,日常的工作郵件,流程,會議也是經常希望所有的在學學員參加。在這個過程中會發現很多有意思的事情,比如說,公司里的電話不在,不同的人接電話說出來的話就不一樣。再比如說有人送水,有人來諮詢,等等等等。這些小事兒,往往是不知不覺得影響了對一個人的判斷,什麼樣的人值的用,什麼樣的人完全是糊弄事,在工作之前基本上就看的差不多了。

第三,工作年限的事兒。

這是最受歧視,也是培訓機構無論是從業者還是學習者還是公司都深惡痛絕的事兒。但是每一個人都又在幕後成為了黑手,每一個人都在推波助瀾。培訓機構去教學員怎麼做假簡歷,否則學員就業率根本上不去;公司要求用新人的薪水標準去招2年的工程師,否則簡歷根本篩選不過來;學員想辦法去編造自己的簡歷,湊夠工作經驗,否則完全沒辦法通過簡歷篩選。

這個惡性循環始自培訓學校,卻失控於公司的簡歷篩選標準,更不用於拉勾這種不匹配的直接拒絕。很多公司招人的要求很簡單,薪水給的8K~12K,這也就是剛入行的水準,但是要求必須有3年工作經驗,說實在的,3年工作經驗,如果不敢要15K以上的薪水,這樣的人,你招過來敢用么。

所以在這一點上,培訓機構出來的學員反而有了工作經驗上的優勢。前提是你的技術水準能過關,或者是說,你面向公司的編程水準能過關(我是最煩背面試題的人了,修真院的學員如果被我知道有背面試題的基本上就是一頓罵,用什麼來代替?用小課堂)。而很多剛畢業的學生就不行了,工作經驗最多寫一個大三就沒課了,跟著老師做一個XXX項目。

第四,好的培訓機構,培養出來的工程師思維比學歷教育要好一些。

畢竟,工程師帶出來的工程師,還是比授課老師帶出來的好一點。大部分的專科和本科院校,老師本身做的項目就脫離實際比較遠了。不排除有好的學校~

還是以修真院為例,敏捷開發,職業素養,需求講解,需求評審,復盤項目,性能測試,發布流程,CodeReview。這些都不太可能會是學歷教育中會接觸到的,但是又是工程中必須要會的,所謂的職業培訓,拋開坑蒙拐騙不說,不就是應該去培養他們在工作中應該會什麼嗎。

所以這一點的差距體現的是工作和學習的差距,只是大多數培訓機構做的都很渣,整個行業的氛圍不太好而已。

以上就是通常意義上說,科班生和培訓機構的學生的差別。

如果放到前端上來說的話, 其實差別不大。如果你的底子比較好,你理解的技術點會深一些。比如說BFC,比如說Nginx跨域配置,比如說有限狀態機,比如說Anglular里的Filter,這受益於你長年累計積累下來的思維方式。

我能這麼說么,很多修真院的學員在學習JS的時候,都不懂什麼叫函數,什麼叫變數,什麼叫返回值。

可能很多機構都會說這些學員的質量不好,學歷不好,不夠聰明。但是修真院從來不這麼想,每個人都有自己的學習路徑,每個人都有自己學習路線中遇到的坑,每個人都有自己困惑不前的地方,每個人都有自己需要幫助的時候。

只是多和少一點而已,所以總體來說,如果你基礎好,你不用我們幫助你補基礎了。這是好事。如果你比較聰明,就不用我來反覆講一些知識點和概念了,你可能一學就會。如果你英語好,就不用花時間告訴你說命名要規範,起名怎麼來了。

前端要學習的話,科班生的優勢不算太明顯,個體的聰明才智影響的因素更大。

大部分的人都可以通過四個月左右的學習,勝任大部分公司常見的操作。

這句話你不用懷疑,修真院一年出產200多個碼農足以證明這一點。但是。

你甘心當一個碼農么?

我想大部分的人都不會甘心,而如果你想從一個初級工程師走向一個中級工程師,你在大學四年里培養的基礎,思維模式就會幫助你起很大的作用,但是最終,還是決定於你的自學能力。

這也是修真院里一直用近乎變態的方式來要求你必須自已去學習的很重要的原因。你掉坑裡,你爬不上來,會有師兄來幫你,但是師兄不會把你拉上來,你得靠自己的努力。

所以,短期找一份工作來看,差別不是很大,長期奔著更高更深更遠的路來看,科班生的機會更大,而轉行而來的培訓生,你必須要有很強的自律性,不要以為自己找到一份工作就放鬆了。

嗯,這也是修真院一直在強推「洗髓換骨營」,補充基礎知識的原因。可惜了,就算是之前找到工作的那些師兄們,我一直比較看好的這些人,也在找到工作之後大部分都在泡妞,加班,玩遊戲,很少有人有危機感。

這也難怪會被人稱之為碼農。沒辦法,不在我眼皮底下,我管不了,也沒心思管。

以上這些就是我做為修真院,一家正直純潔善良的培訓機構的創始人來說的,對於這個行業的感悟。

另外,友情提示,修真院雖然是培訓機構,但是鼓勵自學,所有在線下學習的內容,和你在線上自我學習的內容是一模一樣的(除了必須有線下環境的真實項目無法提供),你就算是不掏錢,也會有師兄來指導你的學習。

唯一需要的,就是你自己能夠認真學習的動力而已。


對於互聯網來說,我覺得現在入坑怎麼都沒有優勢,互聯網的前端已經過飽和了,但工業前端人遠遠不夠,動畫產業前端也少,演算法類前端更少。

工業類前端看重功能,注重嚴謹和兼容性,比如在線資料庫,在線etl,在線MQ,在線PASS,在線devops這些東西,都需要大量的前端人才,可好多前端人才都被BAT虹吸過去了,都在為商業,金融業服務,都喜歡賺快錢,互聯網該有的生態沒有健康生長,這裡應該有大量的缺口,和炮灰。。。

動畫類前端,一般由動畫師兼職,給動畫師帶來很大負擔,在天朝你不多學幾門學問是混不下去的。好的動畫師是非常稀缺的,爛的動畫師滿大街都是。由於青黃不接,甚至還有動畫師在用flash做事。動畫類前端介入,可以讓一切都動起來。

演算法類前端,演算法類應該是最稀缺的。比如用webgl做一個人頭,需要海量的數據和演算法導入,比如計算一個物體的物理粘滯指數以實現在線的粘滯效果,再比如常用的貝賽爾曲線,都會用但誰能用公式嚴謹實現一個自由落體?

一切都是web這個概念讓好多人成為了前端,以後甚至os都可能是前端工程師的工作。


哦,學點後端,或者移動端


如果樓主是科班出身並且沒有混過這四年,比培訓班出來的不知道強到哪裡去了,除非是清北物理系大神,改學SE,三個月沒準比你會的多。別以為他們比你多知道幾個名詞就厲害,真不是。ES6都是語法糖,Typescript作者就是C#的作者,學校學的Java絕對不是浪費。配置個Webpack,查查stackoverlow,填填坑隨查隨用即可。什麼前端模塊化開發,學校裡面寫的Java都是模塊寫的,又不是全寫一個函數裡面。

綜上所述,你只是沒有寫瀏覽器相關的程序而已,學學就好,不用過度緊張擔憂。

當然我也不是說培訓班出來的水平就不行,沒準人家回家一直自學,一樣寫代碼溜溜的。


最重要的是,做儘可能多的項目,放進github,寫好commit message,突出迭代的脈絡,別人看到的是一種好態度,因為怎麼做比怎麼「學」更有說服力。

全面而深入,這雖然是老調重彈,但不是所有人明白什麼是有意義的全面深入。全面深入需要你放慢速度,理解語言核心,特別是核心概念,一知半解也能模仿出東西來,但完成一個良好的程序設計需要你有真正的理解。全面也意味著有相當的知識面,所以不僅僅要學會html, css, javascript,還要明白前端生態的框架和工具,不需要每個工具都很熟悉,但要明白工作原理。學框架本身不會讓你太深入,因為框架開發就是填空,特別是初學。使用框架的目的是熟悉實際開發的工作流,各種工具如何整合到一起達到目的,各個環節的意義這些。

學會寫作,寫好一個問題,和有經驗的人作有意義的交流,通過寫作總結自己的學習進度,這是和編程同樣重要的能力。

追蹤市場上招聘情況,看職位要求,積極尋找能讓自己接觸實際開發的機會。


P.S. 原題是問如何學習才能超過培訓班的人。

你自學是不可能比我教你自學更有優勢的。

因為有個人幫你學習肯定是強於你一個人學習的。

除非你智商高於我、悟性高於我、經驗多於我,那我就沒必要幫你了。

唯一的優勢可能就是跟面試官說我沒有受任何人的指導就學會了吧。

但是

你不需要怕,因為我一年也教不了一百個學生。完全不會影響你的工作機會。前端崗位實在太多。

至於某內等量產型培訓班,產品質量太低也不足為懼。

所以

好好學就行了。

Be smart, and get things done.

就會有公司要你。

學學張秋怡,把英文搞上去。


這問題太複雜。不知道怎麼回答。誰比誰更有優勢?能快速解決問題,定位bug,能快速適應不同圈子,在一個圈子深入就算優勢吧。


謝邀;

培訓班與培訓班不同;同一個培訓班內部也分為學霸和混子;

上次我埋怨新手同事代碼不規範的文章(前端開發工程師怎樣能表現的不那麼「新手沒經驗」、不那麼「培訓班出來的」 - 知乎專欄)被他培訓班的老師看到了,隨後這位老師就把代碼規範加到培訓班畢業考試大綱中了;

所以說短期內能解決的問題對培訓班來說都不是問題;

那前端行業有什麼問題短期內不能解決呢?我認為答案是:大量、完整、長期、真實的項目開發經驗;下面分別分析:

1、大量

一個完整網站項目從原型策劃-設計效果圖-前端開發-後台對接-修改維護,整個流程下來,大概需要1-3個月;

而培訓班一般只有4-6個月,即使6個月時間啥都不幹專門做項目,也很難完完整整做幾個項目;

有很多問題無法教會,只能從項目中吸取經驗並越來越熟練,項目經驗少了必然會有很多短板。

2、完整

因為完整的項目需要時間比較長,所以很多培訓班老師不讓學生管前期策劃和後期維護,只給學生一個設計圖讓學生來寫好前端代碼就算完成任務;

這樣會導致很多問題:

比如有些設計圖特效可選的地方很多,如果選錯,做完之後再修改既浪費時間又容易產生代碼冗餘;

大家經常看到有很多網站圖片變形、布局錯位、html標籤上面很多style,這些問題有可能就是前端沒有盡到自己的維護責任產生的。

3、長期

做前端這五年,見過太多非計算機專業的人轉行做前端,沒做多長時間又轉行到其他行業(銷售、全職太太、保險、導遊),只要聽說哪行輕鬆又錢多,就趕緊換行;

我不想說太多高大上的感慨,只想說可惜了你交那一萬五的培訓班費用;

能長期做好一件事,本身也是一種優勢吧;

突然想起羅永浩自我標榜的「工匠精神」,人家工匠精神都是一輩子做好一件事,羅永浩每隔幾年換一個行業,怎麼好意思說自己有工匠精神?

4、真實

有些培訓班的朋友可能不高興了,我們培訓班也有實戰呀;

我想說培訓班的實戰「缺乏對失敗的畏懼之心」;

培訓班的學生做實戰,有老師托底,即使做砸了,老師會幫你修改甚至幫你做;客戶的期望也不高,客戶明知道你是一個零基礎的學生還找你做,應該對項目要求不高。

可是真實的項目不是這樣的;

真實的項目研發團隊中,一般有一個產品經理、一個網頁設計師、一個前端開發工程師、一個後台工程師,整個流程就像電流的串聯一樣,一個流程卡殼,整個項目失敗;

我曾經有一段為了多賺錢,同時兼了好幾個項目,這樣每個項目分配的時間就明顯不足了,為了減少在每個項目中浪費的時間,我把能忽略的細節全都忽略;

最後的結果是產品經理很用心的做策劃、設計師很用心的做效果圖、後台工程師很用心做後台,因為我前端一個人的不用心,整個網站就做的很醜很醜;

項目結束後,客戶意見很大,說花了這麼多錢、浪費了這麼多時間來改版這個網站,結果改版後還沒有改版前美觀;

最後團隊開會分析問題,產品經理、設計師都說我寫的前端代碼太過粗糙,最終我被扣工資了;

所以真實的項目不會有人給你托底,你要是失敗了就必須面對「客戶的指責」、「同事的抱怨」、「經濟上罰款」等等,只有你經歷過「恨不得找個地縫鑽進去」的情形,才能知恥而後勇,時刻警告自己要做好細節不能讓整個團隊的努力在我這裡毀於一旦。


近幾年前端的高速發展說明這塊越來越得到重視 現在是百家爭鳴 後面一定會往更精細化的方向發展 前端兩字前面一定會加上各種前綴 所以找到自己最感興趣的才是最重要的


說起來也算是零基礎吧

在畢業後在家附近工作了一年

然後想去北上廣浪

然而卻沒有一技之長

想到了年少時的一點小興趣

想入計算機這一行了

然後聽說前端上手簡單

我就來到了上海某輔導班

然後全靠自學

有的或許更多是學習的氣氛吧

輔導班質量在降低

好多新手講師

講的還沒百度百科好理解

so 得看你想比哪一部分人厲害了

班級有從學校出來什麼都會

然後再來輔導班強化的

有為了賺錢轉行過來

也有為了興趣愛好的

甚至還有不知道不知道為了什麼在混的

建議就是,百度個大綱,加點交流群組,混下論壇,依託著度娘和當下的那點熱情動起來,

學的越久我越感覺自己會的越少,有什麼比不停的超越自己更快樂的呢

兄弟加油嘍


科班的理論應該比較好, 起碼數據結構,演算法這些都是大學裡的課程, 學起其他的來更輕鬆,容易。


相比培訓班的有優勢,你只需要做到:

1. 熟練使用英語,無縫閱讀各種文檔與文章

2. 學習java ruby等後端語言,有全棧開發經驗。作為前端你需要知道js是一門有很多缺陷的語言,即使到現在各種新提案實現後也仍然有很多不完美的地方。同時,不同語言有其不同的經典編程思想,都很值得去學習(如java中的依賴注入,ruby中的oo)

3. 永遠不要使用被社區拋棄的技術,目前來說es7或typescript要成為項目必備工作棧(這兩個都越來越接近java,其中谷歌為背後主要推動者,所以2中所提的學習java能讓你有不少收穫)

以上建議排名越前重要性越高


除了掌握好Javascript,再自學以下課:數據結構與演算法;軟體工程;設計模式與架構;面向對象語言一門後端Java or PHP;信息系統分析。


上面一堆扯淡應屆生沒有好的實習單位哪來的項目經驗,唯一的優勢就是基礎紮實好培養


我是某內出來的低端搬磚工( ˙-˙ )

你要比我這種渣渣前端有優勢,你只需要

1.多摳細節,注意頁面還原度

2.注意代碼規範,好好寫注釋

只要你能做出和培訓出來的同樣的效果,你就是有優勢的,畢竟大家都默認無力自學或者想省事兒的才會去培訓?_?


基礎紮實,項目經驗豐富,對前端技術發展有敏銳的眼光,這就夠了


首先我覺得,基礎得紮實。


我認為最有優勢的地方在於業務。技術只是實現手段,業務做的好才是符合領導符合公司利益的。順便,也別老是去黑培訓班出來的,這個事看個人,不具有普適性


推薦閱讀:

Html5標準下的footer置底的問題,為何min-height會失效?
有哪些網站的前端代碼風格非常好,值得學習?
使用DIV時,table和ul分別在什麼情況下使用?
有多大比例的前端工程師,能在合理的時間內獨立開發出一個足以供商業網站使用的文本編輯器?

TAG:前端開發 | HTML | D2前端技術論壇 | 精通web前端 |