6年架構師針對web前端小白,作出的職業規劃建議

本人從事前端6年了,目前在廣州從事架構師。業餘總結了很多學習資料,在不斷總結的過程中提升自己的技術水平,跟進時代的發展,也想幫助更多想從事前端工作的朋友。本文我會普及一些入門和提升建議,思想提升了,路線明確了自然就可以展開高效學習。

確定方向

做職業規劃的目的是避免迷茫,而避免迷茫最有效的方式就是確定明確的方向和目標。

對於任何一個技術崗位,都有固定的兩個方向:技術專家(架構師)和 開發經理。前者偏重技術,需要你在當前領域鑽研得很深;後者偏向管理,需要你在對技術有很深掌握的同時,可以帶領團隊完成項目的開發。當然,兩者並不是魚與熊掌的關係,你可以同時成爲技術專家和開發經理。

對於技術專家和開發經理兩個方向的選擇,更多取決於你自身在工作中多巴胺的分泌情況。當你專研技術時,多巴胺分泌得更多,感到更興奮,或許你會很容易成爲技術專家;反之,當你跟團隊一起做業務時,多巴胺分泌得更多,更有獲得感,那麼你可以嘗試向開發經理方向發展。當然,你也可能做什麼都沒有分泌太多的多巴胺,那麼,你可以在嘗試一段時間後,轉型其他職業,例如產品經理。前端作爲核心是用戶體驗,與用戶最近的工程師,轉型產品經理,阻礙會小一些。況且,文藝型前端佈道人豆瓣前端負責人張克軍認爲,前端工程師正慢慢演變爲產品工程師,前端和產品離得確實很近。

做業務還是做架構

做業務,時間要求比較緊,代碼質量要求高,可參考的代碼比較多,業務知識需要學習。做架構,時間稍微自由,對經驗要求比較高,無可參考代碼,專業基礎知識需要深刻理解;最主要的,做架構的你既是開發,又是用戶,還是 PM ,只有 80% - 90% 的明確目標,並在開發過程中不斷微調最終的目標。

對於一個新人,其實不用糾結,做業務纔是好的選擇,而且做 技術含量高使用流行技術的業務纔是最好的。原因很簡單,架構的最終的目的是解決業務當中的問題,你沒做過業務,哪能知道業務的問題在哪,你都不知道要解決什麼問題,如何做好架構。所以,從業務做起,是新人最好的選擇,也是唯一可行的選擇。而選擇有技術含量、使用流行技術的業務的原因更多在於成長,這樣你的成長可能會更快、成長道路可能會更直。當然,這只是『可能』,不同的人適合不同的業務,所以不要強求一定『技術含量高、使用流行技術』的業務,更多的而是改變自己,去 適應團隊適應業務,這樣才能 更快地成長

技術的學習

說了半天,到了最核心的問題了,對於一個新人如何學習技術?筆者給的建議是:千萬不要囫圇吞棗,先把當前使用的技術學透用熟,纔是最重要的;千萬不要在還沒把當前使用的技術喫透之前,去學新的東西,不管新的東西有多火。就像上文所說,不同的框架,有不同的核心,有不同的思想。兩個框架代碼相似之處的思想不一定相似,例如 Angular 和 Vue 都有雙向綁定,雖然效果相似,但是實現思想和內部實現方式是截然不同的。還在入門階段的你,會被各種思想充斥頭腦,反而會更不清楚。

一定的時間後,當你理解透一個架構體系後,你可以 類比地去看 更多的架構體系。這時候,你會發現不同架構很多東西都是殊途同歸,理解得很快。

當然,理解透一個架構體系,有人需要一年,有人需要三年,還有人可能需要更長時間。爲什麼有這麼大的區別呢?因爲有些人在開發中,並不認爲完成就可以了,會在開發中,追求代碼的優美,會不斷優化自己的代碼,讓自己的代碼性能更好、可讀性更高,並通過長時間的積累,達到 量變導致質變 的程度。即使一個特別聰明的人,沒有『量』也不可能『質變』的,只不過他的量可能比其他人少而已。

要提醒的一點是,學技術,一定要結合你所在公司、團隊的技術棧。

當然,在學習架構的同時,不要忽略兩樣最基本的東西,一個是 技術基礎,一個是 開發規範

技術基礎是一切開發、架構的前提,沒有一個好的基礎,是無法讓你自身的技術水平達到足夠高的維度。例如你對於繼承理解的並不透徹,你很難理解清晰 React 的內部實現。

對於開發規範,筆者在帶應屆生時特別注意讓他們遵守。代碼規範比比皆是,但是很少有人嚴格遵守。究其原因,多是在代碼規範制定之前,已經有自己的一套代碼習慣,很難短時間改變自己的習慣。而應屆生,一般來說代碼並不多,還沒有形成自己的編碼習慣。這時候,開始遵守一定的規範,會促使他們養成一個較好的編碼習慣,爲後續的成長打好基礎。下面,列舉一下開發規範的幾點好處,讓大家明白代碼規範的重要性:

規範的代碼可以促進團隊合作。

規範的代碼可以減少 Bug 處理。

規範的代碼可以降低維護成本。

規範的代碼有助於代碼審查。

養成代碼規範的習慣,有助於程序員自身的成長。

主戰場 —— 移動混合開發

隨着移動浪潮的興起,業務在移動端App 的需求量迅速擴大,應用迭代更新的頻率也隨之極速攀升,但與此同時純 Native 的開發和更新成本成爲了業務增長難以逾越的瓶頸。因此,引入一種開發更高效、成本更低的解決方案勢在必行。

在當前的移動互聯網環境下,iOS 和 Android 上的 App 已經成了每個互聯網產品的標配。如果一個用戶端產品並不提供相應 App 版本,幾乎會直接定義成一個不完整的產品。而被互聯網人尊爲鐵律的『唯快不破』—— 快速開發、高速迭代、低成本上線,同時也是移動時代每個開發團隊所追求的目標。綜合以上兩點原因,『Native 搭臺,Web 唱戲』的 Hybrid 開發模式,以『快』的特點贏得了大家的青睞,並紛紛投入大量開發力量,使這種開發模式迅速走紅。當前最常見的技術架構方案有以下三種:

基於 Web 的 Hybrid 解決方案:例如微信瀏覽器、各公司的 Hybrid 方案

非基於 Web UI 但業務邏輯基於 Java 的解決方案:例如 React-Native

基於 Web UI,但是爲了追求運行效率,對 UI 展現邏輯和業務邏輯的 Java 進行了隔離的解決方案:微信小程序

前端的未來

對於前端的未來,或者說是互聯網技術的未來,我比較認同阮一峯老師的一個觀點:將來程序員只分爲兩類,端工程師雲工程師

端工程師,直面用戶,爲了用戶能更好使用產品而殫精竭慮,包括傳統的前端、Native、AR/VR、TV 端開發等;

而云工程師,直面數據,將冰冷冷的數據轉化爲與用戶息息相關的產品,包括分佈式、大數據、機器學習等等。

可以看出,未來前端,大前端,在2020有更多的發展性,現在學習前端,是最好的時刻。

專門建立的學習Q-q-u-n ⑦③①-⑦⑦①-②①① 分享學習方法和需要注意的小細節,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)

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