26自學轉行前端(寫給和1年前同樣迷茫的個人你)

轉行前端有哪些疑慮?

在人生的抉擇處,尋求一些別人的經驗和總結,無可厚非,可是決定了就必定要堅決的走下去,謹慎是爲了更好的堅持,而不是放棄的理由。
寫在前面:這裏先後端指的是web開發的先後端。
一、前端崗位需求如何?前景如何?薪資如何?(這是對將轉行業的必要考量)
二、是自學好?仍是培訓好?(抱歉,我是自學的,對於培訓,下文不發表任何觀點)
三、如何高效學習,多久能找到工做?
四、非科班會不會沒發展?年齡大會不會被淘汰?
五、前端和後端哪一個好?上手?發展前景?
以上這些問題,有些是1年前我想知道的,有些是1年前我所看到的文章裏提到的,也順便一塊兒總結,我將用很長的篇幅從本身的親身實踐及各階段的心路歷程來論述。javascript

關於我

先來看看咱們是否是一類人吧,或者有多少相同點。
本人通常本科-電子信息專業,大學惟一學過與前端有一丟丟關係的課程,算是C語言吧(if、for這些語法和js接近)畢業後從事了近3年環保方面的工做,17年開始自學並轉行,是一個徹徹底底的非科班大齡零基礎程序猿,不只離開了自學的天堂(學校),並且已婚已育,常言道進入社會工做了就學不進去了,別說還有了家庭和孩子,對此我有一些不一樣的見解:
這就提到了一個關於興趣和壓力的問題。
一、興趣:從小到大,老是被問你的理想是什麼?我依然記得這些聲音:我要當科學家、我要當發明家......我只能說當時教育的價值觀和崇拜都是正確的,但是這虛無縹緲的理想是個啥?
興趣遠比理想更能發揮積極做用,更貼近實際生活
這就是命啊!記得當時是我弟弟去問他上海的舅舅,學點什麼能有個一技之長,由於他是作互聯網這塊的大牛,天然推薦我弟弟了一些js方面的知識,說只要肯學,上手了薪資很高。
說句實話,一開始就是被薪資高這三個字吸引了,連前端是什麼都搞不清楚狀態,就這麼糊里糊塗的開始了,靠着一點c語言基礎,學起了javaSE,看看概念作作小例子,無比暢快,相見恨晚,後來才知道java和js徹底不是一個概念。
二、壓力:從小到大,就沒主動看過書,上學徹底是被逼出來的,而有了興趣以後,再給你來點壓力,即便是這樣的我,仍是堅持看了好幾本書的(具體過程後面詳細講)
綜上所述:對於一個無興趣無壓力的我,再多的時間也是浪費,而當你有了努力的理由,就別怕來不及,我把這個看做是開竅了,存在便是合理,以前的經歷都是鋪墊,不後悔!css

是自學好?仍是培訓好?

我是自學了差很少4個月才找到工做的,說實話有點艱難。前端是什麼?要學什麼?能作什麼?怎麼去作?這些問題都要你本身一點點去尋找答案,因此入門推薦視頻學習,有的老師仍是很優秀的,講起來幽默風趣,總會帶一點本身的理解,不像書本那麼晦澀難懂(有了必定基礎絕對要去看書、看書、看書,書是人類進步的階梯,一點沒錯)。培訓就是你花錢有人帶着你咯,就像你回到了學生時代(具體效果,去問培訓出來的人吧)。這裏有必要強調一下上文提到的興趣和壓力,若是沒有這兩點,你自學確定不會成功,培訓就不必定了,就像我不愛學習也考了個本科同樣(是否是有點自吹的嫌疑?)當時我選擇自學主要有兩點:1、時間和家庭不容許培訓,一大把年紀了還跑去花錢遠離家庭培訓4個月,有點做;2、若是沒有自學的能力,即便培訓出來也是廢柴一枚,不如直接搬磚去了,幹嗎換個地方培個訓再搬磚,畫蛇添足。
這裏先插播幾個例子,有時候真感受自學黨和培訓黨無端就成了兩派
一、我有個同窗也是畢業後工做差很少1年,培訓轉行的,培訓到入職順風順水,我在決定轉行時也與他交流過,他做爲一個成功的培訓黨,天然推薦培訓的,並且他說他們經理的意思是偏向培訓的,至少培訓出來的人必定能作些基礎的活,而自學的就不保證了。
二、在我工做半年之際,有幸表明公司面試了幾個前端(社會可能對此有誤解,姑且用着這個名稱),我就按照公司工做的要求和一些基礎知識聊聊咯,由於咱們公司嘛招的都算是新人,因此這裏面確定是涇渭分明。
A同窗是自學的,我問及一些基本工做要求和基礎時,他很自信地說:沒問題,很簡單。畢竟你們都是自學轉行的,何苦爲難人家呢,那就多聊聊吧?言語間,他說他常常逛各大博客、張鑫旭老師的網站、看慕課網(噢喲,不錯哦,感受自學能力很強),還說他目前在研究vue、react等框架(我問他那你以爲用這些框架有難度麼),他說我以爲很簡單,人家都給你封裝好了,你就拿過來看着文檔用就行了,前端的東西沒什麼難度,我還想學點後端的東西(這裏我不得不吐槽他了,你TM啥都不會呢就拽成這樣了,要不招你來當銷售?)而後聊了那麼久,最後我仍是給他機會了,我和他說基礎很重要,你面試的是前端,給你個PSD圖,作個靜態來看看先(結果大家確定想不到。。。我估計我這輩子都忘不了這貨了)過了2天,按道理這時間很慢了,他發我一個網站,還備註了一大堆內容:說我這個導航是用的浮動佈局的,輪播用的插件,懸浮的那個橫幅我覺得是困定在banner圖上的,後來才知道是懸浮的,反正很簡單就fixed就行了,沒就作,下面的內容嘛全是選項卡,我就不作了(敢情我給你兩天時間讓你來給我指點迷津了?這裏要罵人了啊兄弟們本身腦補,這種人千萬不能學的,這就叫好高騖遠、紙上談兵)。
B同窗是培訓出來的,還有過工做經驗,照理說能知足公司需求了,奈何她的觀點又雷到我了。她培訓出來作了2年切片,靜態應該毫無問題,問及一些css知識卻不會(是什麼限制了你的能力),那再問問js吧,雖然這裏用不到太多,姑且問問。來了,來了,大神開講啦。她說js我基本沒用過,反正如今cms模板裏就集成了js插件,並且像阿里、騰訊、百度這些大公司都有本身的框架,前端的技術已經很是成熟了,咱們不必去學這些東西,只要用他們的就行了(你真的會用麼?)也難怪了前端常常被吐槽(包括我依然不能算合格的前端工程師),我當時看到了一片文章《寫給那些轉行作前端的人》,很明顯他是招聘前端的大神,雖然文章開頭有些極端的勸阻轉行的人,能夠說是很是痛心疾首,可是後文的分析和給出的意見仍是很中肯的,我以爲興趣也好,壓力也罷,即便是高薪誘惑,能激勵你前行的動力均可以,可是千萬不要誤解。只有菜鳥才分先後端,那是爲了高效開發,分工合做,當水平到達必定境界後必然是全棧,不一樣的只是出身,因此不要認爲會了皮毛就能月薪上萬,高薪後端說不定樣式寫的比你好!
結論:無論你自學仍是培訓,最重要的是基礎和不斷自學的能力,把培訓當敲門磚方得始終!html

前端崗位需求如何?多久能找到工做?前景如何?薪資如何?

一、需求

1年前我也是網上查來查去,竟然都說前端缺口很大,找工做很簡單,這裏補充一點我是無錫人(不能表明上海、深圳的實際狀況)很顯然我信了,在查閱這些問題的同時,我也尋求着學習方法,入門仍是推薦視頻學習,我看的第一套視頻是51自學網(純粹分享,後來接觸多了以爲妙味課堂和慕課網更好一點)上的H5教程,裏面涵蓋了html、css、js大部分基礎知識,還有實戰,質量仍是能夠的,惟一不足的是老師說學完這套視頻運氣好能夠找份5000左右的工做,我竟然又信了(這裏除了求職者,可能還有用人公司的問題,後文寫到求職經歷時再行說明)我是個比較糾結的人,以後還看了不少html和css的基礎視頻,幾乎都是講解屬性做用的,固然還有編碼規範,我以爲不能相信一家之詞,因此看了不少相同的視頻,甚至還刷了一遍W3C的html、css、js,這裏我能夠很負責任地告訴大家,三人行必有我師,咱們要站在巨人的肩膀上前行而不是看風景,當你集衆人之所長的同時,潛移默化中紮實了你的基礎(基礎很重要,大公司重基礎,小公司重實踐,這是廣泛現象,也是對於轉行的人最殘酷的地方,你會發現二者你都沒有)一邊面試,一邊學習,我終於醒了,恍然大悟,前端崗位缺少的是中級以上的前端工程師,而不是入門級的,因此想光憑會一點html、css是找不到工做的,就算你背的倒背如流也沒用,實踐和理論不是一個概念,因而不少人會推薦新人,你直接去學bootstrap、vue、jq等等框架,這種急於求成也是要不得的,首先在基礎不紮實的狀況下你很難掌握,即便硬着頭皮掌握了,開始了愉快的工做,你很容易迷失在自我感受良好的幻境中,框架解決了大部分問題,疑難雜症問領導,而在中國估計一個小公司決定了框架後夠你用一生,那你可算是真的完了。。。你的前端夢止步於此。公司不可能養一個沒法完成基本工做的人超過1星期的,因此你得把前端最基礎的東西作熟練,才能找到一個公司慢慢進階。我以爲首先把圖切出來,而後作成靜態頁面,你別管怎麼獲取動態數據怎麼放到服務器給別人看,你就瘋狂作你的靜態頁面(一開始沒有PSD就百度找點圖片還免得切了),零碎的知識點老是容易理解的,有針對性的小demo毫無壓力,當你真正開始化零爲整的時候,css感性的一面就會暴露出來,各類屬性相互影響,你要把這些問題完美解決,不能等到工做讓你布個局你還百度怎麼清除浮動,兼容性另說了(隨着時代發展,大部分只兼容到IE8,能夠說減輕了不少負擔)這裏爲何說是完美解決?由於css不像傳統語言那麼理性,一樣的佈局你能夠有不少的實現方法,這裏再強調一遍基礎很重要,想作前端就必定要尊重前端,別人雲亦云說css很簡單。正由於它的簡單,致使了它的不簡單。磚頭式編程就是定寬定高,浮動,更有甚者直接絕對定位的,當你剛學會理論沒有實踐的時候也許你就會這麼作,因此多練多總結才能配合使用好css的各個屬性,作出一個合格的佈局,好多後端就是被這種簡單矇蔽的雙眼(吐槽時間:若是你去應聘一個公司,他以爲前端很簡單隨便找我的都能作,並且後端能夠兼職,只是最近忙想找個前端作作樣式的,千萬不要去!!!分析:會樣式的後端處處都是,作的比前端還好的百裏挑一,基本p8以上了,這樣的公司你去了得不到尊重不說,讓你改他們後端寫的樣式就要了你親命了)目前我所遇到的後端一般學會個浮動就以爲擁有了全世界,有問題直接絕對定位,哈哈,你影響我?我飛到天上看你怎麼影響我,什麼這邊怎麼間隙小了,來個margin吧,怎麼又大了?改個負值(我可真聰明,有些菜鳥前端都不知道能夠用負值吧)文字居中直接<center>,文字滾動就<marquee>,還寫樣式,還用插件,都是傻瓜,這麼好用的標籤不用。(由於這是寫給轉行同窗看的,想來你遇到的不會比我強太多,若是不是這樣,我只能兩行老淚帶着羨慕恭喜你)因此入門級的你看到這些佈局和棄用標籤怕不怕,就問你怕不怕,維護起來比登天還難,好不容易找到了修改了,你發現全是內聯,沒有類名,最多給個id,有多少就改幾遍,抱怨?BB?要不你重寫,原本樣式就不歸我後端管(能抱怨仍是好事,我怕你被他們同化,這樣的話你也能夠努力一把偷師,從後端入手,不過老闆可能要說你了哦,這些東西咱們後端都會,你做爲前端還改亂了,要你何用)
結論:說了這麼多,無非仍是告訴大家基礎很重要,雖然實際需求的不是咱們,但咱們紮實了基礎,假以時日咱們就是需求對象。作前端就要尊重前端,中國目前仍是後端地位高一些,主要發展早,對於客戶而言,功能老是排在界面以前,你不能給人家一個賞心悅目卻不能用的產品吧?早期程序員都是全棧的,既然如今隨着發展分離出來,確定是有他自身的存在價值和體系,技術體系日益龐大,即便站在巨人的肩膀上短期未必能消化,纔有了先後分工,正確理解他存在的意義,別本身限制住本身,不想當全棧的程序猿不是好猴子!!!前端

二、多久能找到工做

聽到過不少這樣的說法,前端很簡單,自學1星期就能作網頁,這其實也不錯(只要有公司要你,出問題時,給你足夠的時間去解決,或者有人給你頂着,和你合做的人不嫌棄你的代碼質量就行)本着對本身和公司負責的態度來講,你至少靜態頁面要作的很6,像我上面提到的,作一個靜態頁面基本不會出現佈局問題,也不用百度就合格了,具體時間看我的,我是用了4個月,主要當時很迷茫,徹底和別的文章推薦的模式同樣,面試要求這個了,我就去學這個,要求那個了,我就去學那個,當時我也覺得本身css很牛逼了呢。
插播一下個人經歷吧
(1)上文也提到,我刷了不少遍html、css基礎,還看了《DOM編程藝術》成就感十足,作了幾個靜態網頁,覺得很牛逼了,就去面試了,結果人家問jq會不會用啊,輪播、放大鏡、選項卡這些基本組件會不會啊?我是一臉懵逼。
(2)此次刷了《鋒利的jquery》徹底顛覆了《DOM編程藝術》這本書(固然看仍是建議看的),取值賦值那叫一個6啊,開心,還用起了小插件,感受本身作的網站有了動態效果(該不會這就是網上說的"動態網頁技術"吧?哈哈)又去面試了,啪啪啪,上來先把本身會的展現一下,面試官問:bootstrap會嗎?如今可都要響應式的。
(3)繼續回去補響應式開發咯,學一學bootstrap,而後又遇到問vue會嗎?react會嗎?此處就長話短說了,還有問混合式app開發會嗎?因而我還去學了基於mui的app開發,最氣的就是被面試官噴前端是搬磚的,不懂後端作什麼程序員之類的,那時候我很謙卑,還回去學mysql了,這個事情,後文總結的時候,我要拿出來吐槽一下某些用人單位的。
(4)最後我很感謝聘用個人第一家公司,可是我仍是進去作網站的,剛進公司時,我還常常挑燈夜戰,由於代碼可維護性差呀,因此說基礎很重要(強調了那麼多遍基礎,可能也不太好理解何爲基礎,例如:js裏事件的冒泡與捕獲,閉包,原型鏈機制,佈局當中的BFC,垂直居中等一系列實踐的問題),迷茫的我被牽着鼻子學了那麼多暫時用不到的東西(不後悔啊,永遠不後悔本身的任何經歷,事實也證實存在即合理,在公司需求app的時候,我和同事用mui完成了跨平臺的混合app併成功發佈)
總結:集中精力去紮實基礎,爭取2個月找到一家作網站的公司,別沒學好基礎就隨波逐流去搞各類框架,先了解,緣分到了天然會了,引用一下本身建立博客園時的簽名"所謂境界,像宇宙般虛無縹緲,卻又像宇宙般在歲月的長河中積累、沉澱,無聲無息地壯大本身。有些事非一朝而能明瞭,有些理非一夕而能透徹。帶着自信堅持下去,書讀百遍,其義自見,境界到了,萬物皆虛,萬事皆允!"
大公司重基礎也對學歷和年齡講究,小公司重實踐經驗,若是佔其一,你還能夠選擇選擇,既然二者都沒有,那就沒什麼好考慮的了呀,破罐子破摔啊,反正轉行找工做就是艱難,我的建議注重基礎,將來才走得更遠,而後拿出你態度去海投,不必去迎合那些亂七八糟的公司需求,有些公司需求一大堆,又寫着經驗不限,巴不得你啥都會,記住真正有技術需求的,你那僅是瞭解的狀態一眼就被看穿,而隨大流隨便寫需求的公司每每都不和你談技術的,因此會就會,不會就不會,正是應聘者和用人單位的這種不坦誠致使瞭如今的前端亂象(用人單位嫌棄簡歷上寫的天花亂墜,什麼都會,一問三不知的,應聘者也噁心那種後端爲主,只是知道前端有哪些技術棧就直接羅列一下的公司)吐槽時間:中國至少無錫,好多公司領導都是銷售,就算技術經理也是後端多,若是到達這個位置還對前端一無所知,我以爲有必要噴一噴,你那麼看不起前端,你招什麼前端,讓保潔阿姨兼職好了,我去應聘的web前端,你問我java會不會?別告訴你的java指的是javascript而不是java,我說我會js能夠考慮學一下nodejs日後端發展一下,領導發話了啊,js只是運行在瀏覽器的一個腳本而已,你會這個有什麼用,不知這位自稱搞了10年技術的大佬斷網了多少年,這絕對真實,他應該不是技術大佬而是大忽悠,不然公司危矣,面試遇到這樣的,你就直接拿簡歷禮貌的走人吧,記得帶上簡歷(1塊錢復印費呢),還有就是大部分不限經驗的,都是培訓機構,通常上來問一問你的狀況(最好你不會,你要是會,他都能給你忽悠的不會了)而後就推薦你培訓啦,這就是市場經濟,若是你堅持不去培訓就提早作好調查,別老是白跑一趟,有些明確的就能夠拉黑或者屏蔽了。vue

三、前景

H5新增的api如視頻、音頻、canvas不要太強大哦,加上CSS3的新特性,能夠說顛覆了html+css創造之初只爲展現圖文信息的初衷,走向了富媒體時代,js也因node的出現,向服務端進軍(以前看到node之父本身數落了一下本身犯下的錯誤,而後宣佈拋棄node這個親兒子,具體還沒怎麼了解,無論怎麼說js愈來愈強大了)。人類做爲生物鏈頂端的生物,永遠不會知足於現狀,當互聯網產品穩定成熟之際,拼的就是差別化、個性、創意,前端必定程度上也是個設計師,哎呀,這傢伙真的是太花心了,難怪被世人誤解。加上微信小程序和hybrid-app的出現(配合性能愈來愈高的硬件),ios/安卓大勢將去,可能被前端收編,當性能問題再也不是問題時,跨平臺的特性將鋒芒畢露。java

四、薪資

從行業看,大數據顯示金融業最高,而後就是IT行業,再從先後端看,順便解決前端和後端哪一個好?上手?發展前景?這個問題。
關於上手:當時,我得出的結論是前端入門簡單,深刻較難;後端入門難,擴散簡單;(所謂難易,主要指短期投入的學習成本,槓精繞道)前端三劍客HTML、CSS、JS基礎的知識點很容易理解,因此說上手快,可是每每簡單的東西,深刻老是難一點,就比如巧婦難爲無米之炊;後端則相反,因其發展較早,成熟而穩定,一上來就扔給你一大堆體系,要掌握不少知識點,可是運用熟練後,一通百通,天高任鳥飛 海闊憑魚躍(從入門淺談而已,大神勿怪,有更好的說法請指正)
先後端薪資和發展之類的比較,這裏引用大神的回答(就不獻醜了),如下總結幾點
(1)先後端在大公司是一個批發價
(2)薪資取決於市場,也取決於我的工做能力和談判能力
(3)無論是前端仍是後端,都是敲門磚,將來走向高P時,他們是同一個起點(web開發)
貼一下原文地址前端工資比後端低嗎?如何規劃本身的職業node

非科班會不會沒發展?年齡大會不會被淘汰?

不少傳統行業都有越老越吃香這一說,那小夥伴們確定也想了解一下IT行業啊,是否是,未雨綢繆老是好事。1年前我也看了不少相關論壇,滿滿的負能量,差點動搖了個人心,下面劃重點逐個擊破!
一、程序員圈子小,作久了會脫離社會,難以與人交流。你肯定你在別的行業就善於交流了?互聯網無國界啊,這圈子還小?雖然氛圍是有導向做用,但你既然察覺了就該自我調整,而不是怨天尤人。有些銷售滿嘴跑火車,幾年下來,不撒個慌,吹個牛都不自在了,這是優勢仍是缺點呢?因此,要發揮人類強大的適應性,因地制宜,一般好的銷售也是作足了功課,理論上不比技術差的。
二、常常加班,身體差。這也有必要解釋?你忘了大學時,咱們一塊兒包過多少次夜麼?你還說你要奮鬥到天明。人家傳統行業的銷售還說成天胡吃海喝傷身體呢?你是否是在那羨慕?有空抱怨,不如一塊兒去跑個步,健個身,我發現如今好多程序員身材都很棒呢!
三、吃年輕飯,容易被取代。隨着社會老齡化日益嚴重,愈來愈多的年輕人更願意到年輕的IT行業來工做,其實我也以爲IT行業更有朝氣,就算搬磚也得找個舒服的地方搬吧。傳統行業彷佛真的是越老越吃香,一大把年紀啥也不作,總體絮絮不休,阿諛奉承,你再優秀也別想把他趕下臺,可是你沒看到他踩在多少人身上纔上去的。因此說吃年輕飯是不對的,IT行業要作高管,也得學管理、大局觀、戰略部署、人脈資源等等這些和技術無關的,或者上文大牛寫的職業規劃裏面有各類進階方向,純技術研究,年輕人能遇上你的,那絕對是天才,就別不服了。若是說你作了10年還一直在套人家的模板,用着老技術,那分明是你在搶新人的飯碗,還說被取代......
四、不是科班出身,不懂計算機原理(後面省略一萬字罵人的話)論壇和貼吧確實有科班出身的優越狗,可是有好多大神都不是科班哦,就像大部分人的工做都不是大學學的專業,有空就補補計算機方面的書籍,看看底層,作個鋪墊(防止遇到科班出身的優越狗)。mysql

如何高效學習?

1年前看的第一套H5視頻,還依稀記得老師說的一些話,這裏先還原一下:
(1)多學、多看、多練,堅持天天打代碼,即便是重複的;
(2)樂於分享、幫助他人解決問題的同時成長本身;
(3)先模仿,後創新,學會站在巨人的肩膀上;
(4)規範代碼,方便本身複習和他人閱讀;
以上這些,能夠說是終身受用,但對於轉行的小白來講,顯得有點大道理了。反正我剛開始是徹底想不到去上什麼知乎思否github博客園CSDN掘金等等這類網站的,個人生活——百度足以。因此這裏推薦一下上述網站,有問題去裏面搜搜,有時間去裏面看看相應的欄目,有能力去裏面解答一些相關的問題,把這些當作玩遊戲作任務同樣,慢慢你就升級咯。
除了關心個人人,能看到如今的小夥伴,必定已經下定決心了,分享一下我看過的以爲好的書籍(從左往右,我看的時候有點亂,如今我幫大家排好序了哦)
html:標籤-特性-語義化(html和後兩者慼慼相關,隨着後二的進階,天然而然地進階)
css:css2基礎屬性-css3新特性-《css世界》深刻理解css2屬性-《css揭祕》玩轉css3新特性
js:《DOM編程藝術》-《鋒利的jquery》-《js高級程序設計》-《高性能js》-《js語言精粹》-《js設計模式與開發實踐》
注:犀牛書我沒看,不表明不推薦
有了必定基礎仍是推薦看書學習,更系統,看博客、文章就上文提到的知乎、掘金等等就再也不貼連接了,有時候看視頻學習沒那麼枯燥乏味,那就去慕課網妙味課堂等等,固然那些大火的框架,天然是去看對應的官方文檔和社區。react

基礎也很抽象,怎麼對口找工做?

一、bootstrap以手機端爲主,製做多端響應的網頁。
二、微信小程序,用微信提供的框架製做只能運行在微信中,相似原生app的應用。
三、cms內容管理系統,用後臺模板數據標籤+靜態頁面組合成完整網站。
......
看公司主營業務,選一個提高熟練度,拿下第一份工做,不要什麼都瞭解,什麼都不會。jquery

結尾

至此本文也該結束了,這篇文章是寫給和我同樣想轉行的人看的,也許不少人比咱們優秀,也有不少人沒咱們優秀,別信誇讚,別怕批評,前端路上You are not alone!也以此文勉勵本身,總結過去,走向將來!

相關文章
相關標籤/搜索