你為什麼選擇做前端?

看過很多像《如何成為一名優秀的前端工程師》這樣的文章,但似乎甚少有人分享《我為什麼選擇做前端》。那麼,你為什麼選擇做前端呢?你一路走來的經歷是怎樣的?在這條路上又是如何定位自己的呢?是否願意堅持下去並將其作為自己的事業?


看到很多人回答了這個問題。其實我也年輕過,雖然現在我也不老。。

我分享一篇文章吧,應該有人可能看過,不過知乎的小同學們肯定都沒看過,08年的時候我大二,那時候我玩的社區是68design和blueidea,感覺那時代的人更單純一些,也沒有現在的人那麼功利,為了找好工作,為了賺大錢,大家其實目的就是一個,興趣,進步。

好了,說太多雞湯了,一個學生網頁製作者的表白

我其實不太願意發這個鏈接,因為這次收錄,我記得我在3天qq加滿了500人,這篇當時中二的時候,腦抽寫的文章。。。

回過頭來看看,當時自己還蠻2b的!


我從幼兒園開始上網,有意思的是,網路對我來說幾乎就是web,泡論壇社區、逛門戶、泡聊天室...不玩網路遊戲,就連QQ都是很遲才註冊的...對使用無處不在的瀏覽器就能瀏覽的web感情實在太深。

小學的時候學習使用frontpage創建網頁,拖控制項的那種,後來課餘時間也有限,就沒再折騰了,單純地做web的消費者。高考結束後,我把創建一個個人網站(不使用wordpress一類的產品)作為我重大人生目標之一,覺得當了這麼久的網民,應該也要學學怎麼建網站了吧。當時覺得建網站這東西很專業,一定很難,預計要在大四才能完成這一目標。

2014年的時候我在知乎上提問:從零開始學網站建設(just for fun),該學習哪些知識? - 互聯網

回答里有人提到了HTML、CSS和JavaScript,他把這三行放在「建站必學知識」的第一步,後面又跟了一些後端技術。當時我啥也不懂啊,更沒有什麼前端、後端、資料庫的概念,一看這麼多名詞就懵了,就想「唔,還是從HTML CSS JavaScript開始了解吧」。

後來我就了解到,這三樣屬於所謂的「前端」。幾個月後在亞馬遜上購買了《head first HTML and CSS》,打算了解一下。這本書現在已經送人了,回想起來,多虧了這本書,我沒受到網路上野雞入門視頻和國內這種《30天學習網頁開發》的垃圾書的荼毒,沒有成為言必稱「DIV+CSS技術」、「H5」的這種人。

對HTML和CSS有了初步了解之後,就開始畫一兩個頁面玩玩了,後來又看了幾本講CSS的書,當時還想著「頁面夠好看了,連彈窗和菜單這種東西都可以用純CSS實現,JavaScript這種東西就沒必要學了吧」,後來一個前輩跟我說「jQuery很簡單的,可以學一下」,我一看demo,喲,用一個像CSS選擇器一樣的玩意兒(就是$函數啦)再加上幾個單詞,就可以畫動畫,噴了!然後就買了本《鋒利的jQuery》開始看。看著看著越來越迷糊,比如$(this)是啥意思?到ajax那部分就完完全全搞不懂了,感覺超出了認知的範圍,當時就覺得很不甘心。

後來我得知jQuery只是JavaScript的一個庫...由於不是學計算機的,當時我連「庫」的概念都不太清楚,只能猜到這大概不是「正統」,還是試試看「正統」的JavaScript吧。於是買了《JavaScript DOM編程藝術》,從此開始學習JavaScript。

開始學JavaScript之後,就把幾乎所有的中文JS書都看了一遍(或幾遍)並整理成了知識庫...這期間聽前輩的建議,只買外國作者的書。看著看著感覺自己對JavaScript有一定了解了,又聽說有專門寫HTML/CSS/JavaScript的職位,叫「前端開發」,從而萌生了當前端的想法。

當時以為只有PHP、Java一類的東西才能寫後台,正想著按這個學習速度,果然得等到大四才能開發一個個人網站啊。結果在學習JavaScript期間了解到了node.js這個玩意兒,原來JavaScript也能開發後台!於是買了書,按書里的知識,耗時兩周用express和mongodb開發了一個博客並上線。雖然代碼醜陋(前後端都很醜,也沒啥優化可言,至今還未改寫),但畢竟堪用。當時我就驚了。預計大四完成的計劃在大一下就實現了,感覺達成了人生一大目標,這種成就感也讓我覺得我可以成為一個靠寫HTML/CSS/JavaScript吃飯的人(雖然可能比較蹩腳)。

學習期間,在社區里我看到很多名詞,什麼sass、grunt、gulp、coffeeScript(太多了,能寫成《報菜名》,不一一列舉了),當時就驚了,完全搞不懂,以為前端的花樣真是多,看著就可怕,估計成不了前端工程師了。後來我想通了,萬變不離其宗,前端說來說去,最後還是HTML、CSS、JavaScript這三樣,除此之外再無新事。技術名詞固然眼花繚亂,但若掌握好那三樣(再加上個HTTP協議),入門到可以使用這些玩意兒的地步,不過是一個下午的事,再加上技術的淘汰速度很快,這不,gulp甩開了grunt,又被webpack甩開了,所以現在我的學習心態也是比較平和,基本上,出了啥新玩意兒,會去體驗一番,僅此而已。畢竟目前還沒有進行過大項目的開發。

至於現在,我在學習ES6還有Python(體驗一下非前端的玩意兒)。

這就是我一個希望成為前端工程師的人到目前(2015年9月)為止的經歷


我接觸前端是在2015年1月份,github也是在那個時候註冊的,記得寫第一份簡歷是想去銀行,簡歷是由H5生成的,生成之後大大的水印遮蓋住我頁面右下角,網頁的標題欄也是長長的廣告,然後心生一念,動手去改,很快從html頁面定位到廣告地方和水印logo,兩個delete鍵刪除,當我投簡歷那一刻發現銀行招聘那裡寫著急招前端,馬上查了查什麼是前端,噢,原來是設計網頁滴吖,立即改了簡歷炫設計,跟著各種折騰弄css背景色啊樣式什麼,第一份簡歷兼前端作品誕生,最後面試雖然沒通過,但是面試官耐心的講解了好多前端的知識和分享了面試經驗,進而給我洗腦並挖坑。

從此人生改變~回去後寫Github,寫博客,寫網頁,恰好舍友所在外企缺人手,被她忽悠了進去,從此踏上前端路~


大二時候不小心入了編程的坑,不過南京的大學編程氛圍不行,全都是自己瞎學,而且那時候網路沒這麼發達,學了一年多,感覺看過很多東西,但是實際上什麼都不會。

最後去找工作的時候,發現也就前端能勉強去面一下,其他的都好難。

於是就做了前端。。


騰訊來我們學校校招,前端的職位投簡歷的最少,我就抱著試一試的心態投了簡歷。然後就一直干到現在


嗯,因為喜歡的妹子是web測試。一測出問題測試就喜歡首先甩鍋給前端,所以我轉了崗。


我在10年接觸前端,那時候上大二,第一次接觸就愛上了前端,因為我發現這東西比c語言那個黑框框牛逼多了,後來發現前端是越學習越喜歡的東西,特別鍾情js


起初是項目缺前端,後面越做就越進去了。

對於大多數人來說,在一開始做哪個方向是不一定的,只是做著做著成就感出來了,看著自己的作品給大家看見和使用,這才覺得要往這個方向深入做。


在學校的時候,學的和用的都是後台(主要是 Java,偶爾也用一下 Python),在第一次實習的時候,mentor 問我,你是想做後台還是前端,我當時想,一直學的後台,不如趁此機會,了解一下前端,這樣以後自己想做點什麼東西玩也方便,然後就入坑了。。。。

當時項目用的是 AngularJS,花了兩天時間看入門教程,然後就開始看項目代碼學著寫了,後面還了解了一點點 node.js,但那時沒想過一直做前端,所以並沒有系統學前端基礎。

後來校招的時候,面試過程中因為我講了之前做過前端方面的實習,而且對前端也還比較感興趣,然後這邊居然給我安排了 @徐飛 大神做帶教(感動到哭),後面跟著做項目和學習已經有一年了(在 2015 小結 有寫),然後現在就徹底愛上前端了。

總之,這一年來,覺得做前端是一件很愉快的事,一群小夥伴都很歡樂,不像後台開發那麼悶(剛來實習的時候,坐在一群後台中,基本上一天說不了兩句話),而且現在對於有想法喜歡搗鼓的人來說,只要會前端,然後基於一些類似 LeanCloud 的 BaaS 產品,很容易做一個 Web APP 原型出來。

另外,做前端還有一個最大的好處,天天跟產品妹子和測試妹子打交道,根本不用擔心單身問題啊(好吧,我是例外)。。。


從步入社會算起到今天,風風雨雨走過了15個年頭,望著天空,掐指一算,從事前端已近五個年頭。也算三分之一的時間在做前端,也是從事過時間最久的一份工作。問我為什麼能做這麼久?其實我也時常問自己,怎麼就進前端這個行當,怎麼就整了五年。正如網上所言,一入前端深似海。

玩了五年,或許後面還會有一個五年,兩個五年,或許...... 未來的路,誰與說不清楚,我只想每天走好自己想走的路。——前端路上的旅行


大學畢業至今,做了七八年的web前端開發,當然中間有轉崗做過一段時間的產品經理,談談我所經歷的那段時光的故事。

07、08年的時候,那會兒根本就沒有「web前端開發」這個崗位,都是叫美工,美工的主要職責是:用photoshop設計一張圖,然後切出來,並寫成div+css的html頁面,當然最好還要加一些酷炫的js效果,當時也沒有jquery,都是直接寫原生的js。

沒過多久,隨著淘寶在國內的大放異彩,連帶著它的UED部門,也在國內迅速竄熱,並被譽為「國內最好的UED部門」,一度是行業的標杆。隨之UED下的四大崗位:即「交互設計、視覺設計、數據研究、web前端開發」才被人們所熟知起來。

所以說,web前端開發這個崗位,在國內是那個時候才應運而生的。

再過了幾年,記得是2011年左右,移動互聯網開始流行起來,web前端開發得益於瀏覽器的優勢,在手機上開發的頁面可以跨平台,再加上當時html5的概念被炒得火熱,一度這個崗位非常吃香,許多做後端的小夥伴也紛紛轉做web前端開發,共同在這個移動互聯網的黃金盛世乘風破浪。

至於PC端和移動端前端開發的區別,可以參考我前些日子的一個回答:

前端里移動端到底比pc端多哪些知識,為啥面試時好多公司都問h5水平如何?該從哪學習,求推薦視頻教程? - 互聯網老黑的回答

以上簡單說了一下web前端開發這個崗位的來龍去脈,那麼現在再回應題主的問題:你為什麼選擇做前端?我總結了一下,應該有這麼幾點理由:

1. 前端開發所寫的代碼,一下子就能在pc和手機瀏覽器上看到,非常有成就感;

2. 演算法太渣,思前想後,相比後端,如果想深入學習下去,前端或許對演算法要求低一些,我認識的很多前端朋友都是有這樣的考慮;

3. 入行門檻低,你不會js也沒關係,html+css至少能湊合地寫一些頁面了,以前認識一個小姑娘,毫無邏輯性,只會寫html+css,也可以自詡為程序員了;

4. 最後,當然是最重要的一點,現在是移動互聯網的黃金盛世,web前端開發得益於html5的保駕護航,前途一片光明!

另外我還創建了一個微信公眾號:【互聯網老黑】,主旨是給沒有任何編程經驗的朋友,講解如何做一個簡單的APP(包括ios/android/html5),適合於個人創業者、學生、產品經理等,保證大家都能看得明白,有興趣的朋友可以加進來,一起交流,一起進步!


在銀行入了http://Asp.net的大坑,想換到互聯網企業工作,發現BAT幾乎沒有招C#的崗位。

JAVA自己又看不上,索性臨時轉個前端找了個工作。


java不要我,設計搞不了,只能搞前端。謝謝,再見。


為什麼選擇前端?因為熱愛。

一開始這並不是我的選擇。我2014年軟體工程畢業,出來第一份工作就是前端開發。因為是校招,崗位其實是進了公司才定的,當時前端組正缺人,所以我被安排到了前端。現在回想起來我感到很慶幸,因為我真心熱愛這個工作!我在學校里學過Java/PHP/C/python/...各種語言,但幾乎沒怎麼接觸過前端開發。但是工作了一個月之後,我對前端這個領域就已經愛得無法自拔了。

--------------------------------------------------------------------

一路走來的經歷

我把自己到目前為止的成長經歷分為三個階段:

第一階段:入門。前端的門檻非常低,入門並不難。當時的導師是從後端轉前端的大神,沒有給我太多的指導,只讓我看javascript權威指南,然後做一個練手項目。因為本身有編程基礎,我很快就上手了,一個月之後就加入項目組,算是入了門。

第二階段:進化。做前端的對jQuery必須非常熟悉,這個階段主要就是強化jQuery:從它的各種API到底層代碼、擴展我都研究了一遍。那時候天天研究它的api,一邊讀文檔一邊做實驗,然後嘗試用原生js實現,做後去看源碼學習它的設計思想。那段時間真的成長了很多很多。

第三階段:工程化。前端開發的痛點真的很多,其中一個就是項目的維護。經歷了第一階段和第二階段之後,我開始接手公司的後台項目。剛接手的時候感覺很痛苦,各種業務邏輯和頁面邏輯混在一起,實在難以開發和維護,而且每次還必須等後端寫完業務邏輯前端才能開始工作,影響了開發進度。漸漸地我開始關注前後端分離,希望通過前後端分離來改善整個開發流程。然後我就學了/seajs/requirejs/gulp/grunt...等等,經歷了很長一段時間的打磨,總算總結出來一套工程化解決方案(具體就不說了,其實就是當下比較流行的幾個框架或工具有關)

--------------------------------------------------------------------

如何定位自己

這個問題很簡單:我就是把自己當學徒。

前端開發要走的路還很長,我所學到的知識還是非常的局限,我希望以一種學徒的心態,堅持走在前端的道路上。

--------------------------------------------------------------------

是否會堅持?

當然會堅持,難道你會放棄自己熱愛的東西嗎?


論壇生活帶來的項目想法,和論壇發帖ubb入門的標記型語言的工作方式。


瀉藥...

先佔位...


目前給錢多的職位,難道還有其他理由?


你看我簡介就知道我原來是做.net的,後來為什麼做了前端呢,因為我做後台的時候發現和我合作前端都不認真完美做好前端的工作,後來我只能自己上了,後來被前端坑越陷越深,最後乾脆直接轉向前端得了。


我這也不算是回答了,就是簡單說說我個人的經歷吧。(純屬個人理解,時間上有出入的話請輕噴)

我是04年進入大學的,因老家是農村的,在進入大學之前基本上沒有動過電腦,只是憑著自己的興趣選了這麼個行業。

剛進入大學,大家都曉得的,就是學習C語言,作為一個初入行的孩子來說,對它很排斥,學了一學期之後感覺都是黑黑的界面,做出來的東西又不能像windows程序一樣用,因此基本上是抱著考過就放棄的態度學習的。

偶然間發現了網頁,發現這個東西做完後就能用了,遂狂喜,決定學之。

04年那個時代,div+css已經興起,但作為國內通常都會慢一步,再加上我一個初入門的學生,還是table布局比較多。而JavaScript是一門處理特效的語言,就是輔助瀏覽器做個跑馬燈啦,顯示個幻燈片啥的。入門後做了幾個Table布局的網站,還賺了點小錢,甚喜。

後來07-08年左右,大家都在談div+css了,我也就下功夫學了一下,到畢業時,我不敢說精通,但是做一個網頁還是沒問題的,不過那個時候JavaScript還是一門處理特效的語言,不過那個時候聽說一個叫jQeury的東西了,大家都在學,說是不錯。

過了一兩年,大約是09-10年左右吧,Chrome火起來了,這個瀏覽器以快速載入網頁出名,它有個叫做V8的JavaScript處理器,載入網頁嗖嗖的,於是JavaScript可以做的事情多了起來,不再限於單純處理特效了。JavaScript下的庫、框架雨後春筍般的冒出來,還有就是像Bootstrap這種前端布局框架不一個接著一個的展露頭角,前端時代真正來臨了!

在這之前,前端就叫做「切圖的」

在這之後,前端叫做「工程師」

在這之前,前端不是一個職業,就算是公司大,有這麼個工種,也基本上是給個最低工資。

在這之後,前端的工資要和後端持平了。


我以為前端會有很多妹子!


推薦閱讀:

如何在 form 表單提交後實現頁面不跳轉?
2015年web前端開發行業的牛人有哪些?
為什麼cocos creator 不選擇兼容c#,而是只有js?
js中 aaa.style 和 aaa.getAttribute(style) 等價嗎,有無區別?
html5推出queryselectall之後,jQuery的作用是否減小了?

TAG:前端開發 | HTML | CSS | JavaScript | 前端工程師 |