半路出家的倉庫管理員如何成爲一個好的前端工程師(三)

       人總要爲本身作的事情找個理由,說服本身也說服別人,寫博客也同樣,說到底,咱們寫博客的最終目的仍是爲本身所思考的東西找個去處,換個說法,咱們每一次思考,就像是玩一款遊戲,若是你不保存你的進度,那隻能寄望於一次通關了。否則永遠也玩不到更高的級別。這樣能夠解釋爲何技術大牛都樂於寫博客和分享,只有這樣才能逐漸的把一個問題思考的更透徹,更深刻而不是日復一日的從新思考。php

       故而隨着咱們經驗和技術以及閱歷的增加,咱們對問題的解釋也會發生變化,對於半路出家的倉庫管理員如何成爲一個「好」的前端工程師,在不一樣階段的描述也大相徑庭。css

       過去我習慣於從左到右的思考,由於這符合書寫的習慣,對於「好」得前端工程師,咱們首先可能會去思考什麼是好,好的定義和範圍,標準和要求?但如今我習慣於從右到左的思考,由於我以爲越是抽象越難以定義,從粒度更小的名詞入手,咱們更容易找到解開問題的路徑。故而我將這個問題分紅三個階段來思考:前端

如何成爲工程師,如何成爲前端工程師,如何成爲好的前端工程師node

固然這一切還有一個前置條件「半路出家的倉庫管理員」react

       突出倉庫管理員的目的,在於任何轉行你都得有一個前提,那就是你得有時間,在平常工做以外可以給本身流出充足的時間來學習和提高本身。而半路出家則說明了一個現狀,每一個人都會對生活不滿,迫於壓力或者其餘緣由來尋求轉變,但願能進入投入產出比更高的職業領域。若是你仔細的去尋找一些逆襲的履歷,你會發現不少都有相似倉庫管理,圖書管理,保安等等之類的經歷,因此你想經過自學轉行當前端工程師。css3

第一步就是找一份,能養活本身同時又提供足夠的空餘時間的工做。git

如何成爲工程師

       軟件工程師能夠看作是對程序員的一個增強,工程是一個商業化的概念,相對於程序員這個概念,工程師更復雜,程序員更純粹,簡單的理解,當一個程序員在某一個商業領域有了必定的項目經驗之後,他就是一名工程師。程序員

       固然半路出家意味着你不可能回頭再去讀四年大學好好學習如何當一個程序員,因此咱們要跨過這個概念,直接進入工程師這個範疇,關鍵即是「在某一個商業領域有了必定的項目經驗」商業是以結果爲驅動的,故而你只要獲取到一個完整的項目經驗,即可以跨過程序員這個雷區成爲一名工程師。github

       因此在這個階段,尋找任何一份可以接觸到實際完整項目的崗位就成了當務之急,每一個人基礎不一樣,在這個階段,可能有人能迅速找到相符合的崗位,而有人可能只能找到一些似是而非僅僅是搭上邊的崗位,好比名爲前端,實際卻只負責頁面修修改改,摳圖之類的工做或者被外包到某些公司裏負責活動頁面等等。但只要目標明確,儘快得到一個完整的項目經驗,你就不會在工做中迷失本身,這個階段跳槽可能會很頻繁,由於你在快速的調整本身。那麼什麼樣的項目是完整的呢?web

       一個完整的web項目包含了從前端的用戶輸入到後端的數據存取,任何複雜的大型項目自己也是無數個小項目構建而成,因此經歷一個完整的web項目,有助於你從前到後的瞭解數據如何從瀏覽器端通過服務器處理流入數據庫。過去我可能會推薦你試試php,由於它和JavaScript很像,如今有了node,要搭建一個web應用就變得更加簡單了。當你通過一系列不堪回首的過程,在做坊公司裏開發了一個完整的web項目的時候,你就能夠嘗試進入下一個階段。

如何成爲前端工程師

       在github上流傳着一份前端工程師技能樹,乍看之下絕對會打消你繼續朝前端努力的念頭,由於它太繁茂了,枝繁葉茂的技術棧層出不窮,更有新技術被不斷的添加進去。因此我這裏並不推薦你按照技能樹的順序去學習,由於前端的技術迭代太快了,可能你還沒學完這個技術就已經被其餘新技術所取代了。在我看來前端領域包含了兩個大塊,計算和設計。

設計

       設計包含了用戶的交互體驗和視覺,css所要描述的內容,大多來自於設計領域能夠說基本是ps上內容的移植,因此瞭解些ps設計上的知識有助於你將設計稿轉換成css代碼,而交互體驗主要是指用戶在應用上的操做是否流暢,這種流暢包括性能和交互兩個方面。

計算

       若是細數前端這些年的發展,其實除了一些瀏覽器環境特有的問題,大多數仍是在照搬後端的那些東西,包括模塊化,編譯,面向對象等等,這麼作的緣由是什麼?我以爲是爲了解決web應用中的一個趨勢,計算前置,爲了使web應用在設計中可以使用戶交互更加流暢,咱們把不少後端的計算邏輯搬到了前端來完成,這種趨勢促進了前端技術的發展。

       而面對如此繁複的前端技術體系,又從何入手呢?

       首先萬變不離其宗,基礎不能落下,JavaScript是重中之重,掌握JavaScript其實不難,做爲一門腳本語言,JavaScript自己的標準化庫也着實少得可憐,平常工做中,你用到最多的可能就是處理dom事件,發送ajax請求,處理回調,渲染dom。
JavaScript內部的機制,閉包等概念,在這個階段,你能夠知其然但不知其因此然,由於這些概念自己是須要經驗和時間的積累去理解的。

       其次css,說實話你能使用css3寫出動畫而且掌握常見的佈局就足以應對大多數初創公司的要求,至於less和sass,懂更好,不懂也無妨。

       最後你得熟練使用jQuery,由於它太簡單了,花不了你多少時間,另外掌握bootstrap,能夠顯著提升你在一些後臺應用開發中的工做效率。有了以上這些技能加上一個完整的項目經驗,前端工程師的大門便爲你打開了,你要作的很簡單---跳槽

如何成爲「好」的前端工程師

       經歷了前兩個階段的洗禮,我不知道你花了多少時間,數月或者數年?但這一切纔剛開始。雖然我想說寫代碼是爲了改變世界,不那麼功利,但事實上,半路出家搞前端,多半都是家裏揭不開鍋了...想要養家餬口,天然得當一名好的前端工程師。

       而所謂好在這裏實際上是和薪資掛等號的,這個「好」可能相對狹義,而且更具備商業化的色彩,故而成爲好的前端工程師能夠這麼來。

  1. 關注業界動態,github基本上算是前端開源技術的風向標了,從backbon 到angular 到react都是各領風騷兩三年,掌握一門時下熱門的流行的開發技術對於你的薪資提高有很大的幫助,畢竟熱門就意味着更大的影響更多市場需求,而薪資顯然是供需關係主導的。

  2. 注意溝通表達能力的培養,想的再好,說不出來也枉然。

  3. 時間有限,儘量投入到新技術或者投入產出比高的技術學習中去,好比如今再作ie兼容類的工做,就是很低收益的事情。

  4. 最重要的一點,一旦你目前的工做對你來講得不到提高,就要考慮走人了,不要拖,不要混,半路出家大可能是大齡青年,混吃等死沒資本。

  5. 多看書,有些東西,你能夠沒作過,但你不能沒說過。

相關文章
相關標籤/搜索