WEB前端開發的思考與感悟

最近幾年對於web前端的傳聞很多,比如人才稀缺,簡單易學,待遇豐厚,整體勢頭髮展良好等等。遇到過一個不太熟搞後臺開發的同事跑來問我學習前端需要掌握哪些內容,也聽說過一個搞IOS開發準備自學前端半個月然後要去找前端工作,也曾看到過有人對前端市場人才的稀缺這樣吹捧過:

現在,幾乎整個互聯網行業都缺前端工程師,不僅在剛起步的創業公司,對上市公司乃至巨頭這個問題也一樣存在。沒錯,優秀的前端工程師簡直比大熊貓還稀少。… …

不僅在國內的互聯網行業,在國外,前端工程師一樣是需求旺盛、供不應求的香餑餑。

對於這樣的吹捧,不反對也不支持。因爲由於每個人的位置,經歷的不同,對事總會有不同層面的理解。而作爲一個從成都的菜鳥,蛻變成一名北京厲害一點的菜鳥,也來談談自己對於前端的理解。

一、地域差異

在成都的大部分公司,有一種專門負責切圖排版的網頁工程師。他們需要懂一些PS,然後會使用HTML與CSS排版。而這類人往往是剛參加工作不久的畢業生,響應式佈局對他們來說是一種高大上的技能。很榮幸,我也曾經是他們的一員,也正因爲如此,我掌握着熟練的切圖技巧,而這個層次,可能就是外人認爲的入門容易吧,然而實際上還差很遠很遠。

另外一種,就是比較厲害一點的程序員。他們會js+一門後端語言,比如php,jsp。但是他們會會更加偏向後端一點,他們將
html,css,js當成一種很基本的東西,更多的邏輯都使用後端語言來處理,並不會那麼清晰的將html頁面與後端語言分離開來。所以我們常常會看到有的頁面以.php,.jsp結尾。

來了北京之後,纔算是見識了真正的web前端。以至於常常會有一種恨自己爲什麼不早一點來的感覺,恍如隔世。隨着學習的慢慢提升,會感覺到北京的前端更加具有明確的方向。

我們會真正的注重用戶體驗,所以每個頁面都會響應式佈局,從PC端適配到最小320px寬度的移動端,更加註重html5/css3的相關知識的運用,也會爲了用戶體驗做很多功能之外的更加合理的處理。會真的很認真的考慮面試中常常會問的如何優化前端性能。因此我們使用gulp+require來構建前端代碼,壓縮,打包,上傳cdn。

總的來說,在北京,前端更加專業與明確一點,發展更加好一點。

二、興趣是否重要?

我曾經很認真的思考過這個問題,很多前輩大神告訴我,“興趣很重要。”可是我經過仔細分析自身的情況之後,卻得出了一個相反的結論。因爲我並沒有發現什麼東西是我感興趣、並且能讓我能夠混口飯吃的。然後現在我也覺得只要我能夠這樣慢慢努力下去,在前端這個行業裏,還是能夠擁有一席之地。現實一點來說,只要你能夠進下心來不排斥它,你就可以選擇它。畢竟人都是要吃飯,要養活自己的,我想大多數人都是沒辦法指着自己的興趣過活的。

《一萬小時天才理論》告訴我們,在某一個方向專注一萬小時,你就能夠成爲這個方向的專家。我認爲,這個道理,在前端也同樣適用,專注,比興趣更加重要。

三、什麼心態會影響自己的進步?

不堅定。

至少我現在可以肯定的是,前端方向,並不是一個糟糕的選擇。在最初的時候,時常會在UI設計與前端之間搖擺不定。我認爲我對UI設計更加感興趣一點。特別是參與了電信一個視頻播放app的設計之後,更是認爲自己未來是有機會成爲一名優秀的UI設計師。但是我另外又覺得自己在前端方向會更加快一點提升自己。於是在很長一段時間裏就糾結在這個問題上搖擺不定,停滯不前。其實不管堅定的選擇哪一個方向,在目前的互聯網行業裏,都是很熱門的選擇,都有出頭之日。而最大的錯誤就在於,猶豫不決。

浮躁。

如果我最終沒能成爲一名優秀的前端工程師,那麼最大的原因肯定就是心態的浮躁。

誰都想要在短期內成爲一名學識淵博,經驗豐富,德高望重的前端工程師。我也想,這是很難避免的一個心態問題,別人高額的薪水與自己的困境總是那麼輕易的擾亂心神。所以一個月從入門到精通,3個月從入門到精通之類的宣傳標語,都是非常受歡迎。然而事實上,這並不可能。打着這些宣傳標語的培訓機構,最多隻能帶你入門。甚至很有可能一位在前端行業沉浮好幾年的老同學都不敢說自己已經在這個行業算得上優秀了。並不是說幾年的時間沒辦法變得優秀,而是能夠靜下心來潛心修煉的人確實鳳毛麟角。所以其實實際情況是慢慢來,才最快

畢業幾年,感覺自己前進道路上最大的阻礙就是這兩個心態問題。我希望能夠靜下心來,將自己學到的東西整理出來,分享給大家,讓別人能夠更加簡單直接的瞭解自己,二來也鍛鍊自己的心態。

四、 如何應對新技術層出不窮的現狀

很多時候我都會覺得前端對於新人來說其實挺過分的。想要學習一門ui框架,有什麼easyui,bootstrap,Foundation等等。想要搞一個自己的靜態博客,有什麼wordpress,jekyll,hexo等等想要學構建工具,有什麼grunt,gulp,webpack等等還有好多傳說中都很厲害的庫,jQuery,angular,vue,react等等真的眼花繚亂,剛開始怎麼分得清誰比誰好啊。一不小心就走一大堆的彎路。

所以這個時候我們就必須明白一個道理。基礎的重要性在於,他能夠提高我們的學習能力。

bootstrap,angularjs最初於我如傳說中的存在,高不可攀。而且很多公司招人都希望員工能夠掌握這些技術。所以在基礎很薄弱的時候就開始嘗試去學習。很顯然,效果是幾乎沒有的。反而會減少我對於前端的自信,會很容易產生動搖,覺得自己不適合。

可是隨着基礎的慢慢提升,我發現要掌握bootstrap與angularjs似乎也沒有那麼難。我甚至能夠看着文檔就有模有樣的將這些技術運用起來。這對於以前的我來說,簡直就是不可思議。因此,從以前的高不可攀,到現在的觸手可及,讓我明白了基礎的重要性。

而對於最近非常火的react,webpack等,掌握起來也沒有當初那種無法觸及的感覺。這些技術之所以能火,就說明能夠學會的人很多,他並不存在特別難以掌握的瓶頸。如果你的基礎夠牢靠,你就是這些技術的弄潮兒。

五、前端並沒有那麼簡單

前端不簡單的地方,並不在於知識點的掌握,技術的實現,而在於尋找更優解。即使是最簡單的頁面佈局,也存在層出不窮的優秀解決方案,比如在大學的時候,常用table元素來實現幾乎所有的頁面佈局,到現在理解文檔流,會運用浮動,各種盒模型,BFC等來實現佈局這中間的差距對於一個新人來說是非常巨大的。

從最初的寫一大堆js代碼,實現一個頁面的小功能,到後來發現有的人只需要用幾行代碼配合html/css就可以控制整個頁面的所有動畫,這中間的差距,也是非常巨大的。所以前端並不是外界認爲的那麼簡單,甚至並不比掌握好一門後端程序語言那麼容易。所以我們要保持敬畏之心。

六、其他

學習方法

在我這個階段的認識來看,我認爲學習最靠譜的方法就是積累。有一個很普遍的假象是,互聯網時代似乎獲取知識越來越容易,很多人都在擔憂所謂的信息過剩的問題。然而實際情況卻是,我們更加難以捕捉到對我們來說真正有用的信息。而前端的知識相對而言更加零散與碎片化,並且越來越多樣化,所以知識的積累則是一個非常重要的過程。

英語很重要

英語很重要的原因是因爲國外的技術比我們發達,我們常常需要閱讀國外的文章來提升自己,也常常需要在google搜索上找到自己問題的答案

總的來說,在前端的道路上,遇到過動搖,困惑,迷茫。也因爲浮躁的心態停滯不前。好在都一步一步的走了過來。並且可以很把握的告訴自己,這個方向,不會虧待我的付出與努力。

花了很多時間,終於把這篇文章寫完了!感悟就是萬事開頭難,中間難,結尾也難。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章