Web前端工程師職業方向定位

一、職業方向定位

首先,只有確定好自己的職業方向,才能做好職業規劃。在我看來,做Web前端技術能夠找到的職業方向有以下幾種:

(1)資深Web前端工程師

這個方向算是一個Web前端最基本的選擇了,在國外,很多老外都能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。主要在於內因和外因兩方面,內因是老外通常思想比較簡單直接,容易一直專注於一個領域;外因是國外的環境很好,能夠良好的支撐這樣的職業發展道路。

反觀國內,從內因來講,WEB前端技術人員還是蠻浮躁的,通常會因爲Web前端知識的更新速度太快而覺得學習起來辛苦,最終轉向後臺或其他道路。

從外因來講,Web前端人員沒有獲得公平的待遇,可能從HTML頁面製作就開始並沿襲下來的,從來WEB前端人員都比後端人員低一等,貌似前端就是“淺顯”的代名詞、後端就是“深奧”的代名詞,這也直接造就了前端人員的收入無法和後端人員媲美,同時直接影響到前端人才市場的活躍程度。另一方面,前端的技術入門較容易,造成另一個極端情況:人員氾濫、人才稀缺。

我想對所有的WEB前端工程師說:麪包總會有的,要耐得住寂寞!我個人比較推薦這個職業發展方向,因爲,在這個方向下,只要足夠耐心、厚積薄發,成功的概率是非常高的。同時,這是一條最單純的路,我們更多的是花費精力在技術的鑽研上,而不是辦公室政治等其它瑣事。

(2)資深Web架構

說功利點兒,我喜歡這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量能騰出更多時間鑽研技術。在國內,Web前端工程師遇到較多的情況是總是反覆編寫着同樣的代碼,總是面對着同樣的技術和產品,容易感覺枯燥。由於我們擁有最爲廣泛的Web相關知識沉澱,使得我們更加容易成爲一名架構師。這個職業發展方向不如第一種來得平滑,主要是作爲一名架構師不得不學習:後端技術、DBA、Platform等內容,而這種學習通常需要實際操刀做項目,不是自己在家裏寫兩個Demo就好的,這就勢必會遭遇一段時間的陣痛期。雖然不是很平滑,但是,對於一個大局觀好、悟性好、知識面廣的前端工程師,我推薦你們努把力,走一條光榮的架構師之路吧。

(3)自己創業

其實,自己創業是最好的道路、也是成功率最低的道路,挑戰和機遇並存。這裏,作爲一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、 相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。但是,這條道路和技術之路稍有分歧,後續將不再贅 述。

(4)轉崗管理或其他

由於這條職業道路和Web前端技術之路關係不大,故而,這裏不做過多討論,但是,無論是否走上這條道路,我覺得對於任何技術之路,更好的大局觀、更廣泛的 視野是良好發展的必備條件,擁有良好的大局觀和更廣泛的視野別無他法,只能不斷的進行知識的橫向拓展和積累,同時,多在橫向拓展知識的時候進行實踐,把知識變成技能。

二、職業發展目標

我都有一個最終的目標,在這個目標之上,我們需要給自己制定一系列學習和成長計劃,制定的方法如下:

第一、梳理知識架構;

梳理知識架構的目的在於,我們要了解清楚,哪些技術是前置、哪些技術是後繼,那些技術是深度、哪些技術是廣度,按照這兩個維度梳理好知識架構之後,我們才能準確地制定清晰的成長目標、高效的成長計劃。

第二、分解目標;

我認爲,大抵可分解爲三個階段,包括:起步階段、提升階段、成型階段。這三個階段分別對應着不同的目標:

起步階段:

1、基本知識的掌握

在我們梳理的知識架構中,按照我們分析的兩個維度裏最前置的、最淺顯的部分,作爲打基礎的階段,必須要在這個過程中更多投入到實踐中去,我們通常做的多了、熟練了,就認爲這部分知識和內容掌握了。

2、常用工具的掌握

對於常用工具的掌握應該掌握一些有大公司或專業團隊背景的流行工具,這些工具的熟練掌握能夠提升專業度、職業度,同時,能提升我們的工作效率。我們只有在檢驗自己對於知識和技能熟練程度的時候,纔會自虐式的用Notepad去編寫頁面、css和腳本等內容。

3、溝通技巧的掌握

通常做技術的人會被定位爲“不善溝通”的人,這是爲什麼呢?究其原因,主要是因爲多跟程序和代碼打交道,跟人的溝通較少導致。這種時候我們要特別注意增加

和人溝通的機會,着重提升這塊兒的能力。另一方面,我們通常被稱爲“不懂溝通技巧”的人。作爲一個技術人員,包括我自己,似乎天生就有一些難以接受挑戰的缺陷。在國內,我們的技術人員通常都是自己制定方案、自己執行方案,在執行過程中又缺乏相關產品、交互設計等人員的溝通,大多是在自己的思路貫徹下進行開發,久而久之,我們習慣於信任自己的觀點、在自己的視角看問題,對於挑戰總是百般地“據理”力爭。我們需要更多提升的是,如何在對方的視角看問題、如何在用戶的視角看問題。

4、良好的開發習慣

開發習慣是養成的,一旦有不好的習慣,對於將來去修正帶來的將是很大的麻煩,我們在培養良好開發習慣一定要從起步時做起,例如:寫代碼之前先分析、先寫文 檔、先寫註釋。定義變量最好能用直接可理解的語義,最好是拼音,別整英文,尤其是生僻單詞,將來自己忘了還要開金山詞霸。文件最好有有意義的文件夾命名來管理,文件名最好有意義,需要版本號的最好能和項目版本號一同更新……等等。

提升階段:

1、高級技術的掌握在提升階段對於知識和技能掌握,我們需要從梳理好的知識架構中選擇更深一層次的技術進行學習,選擇之前,我們先通過類比或預估的方法,衡量自身學習的難點,

以學習難點和自己最不感興趣的部分爲主。這樣推薦大家的原因是:這個階段我們興趣正濃,已經度過了苦澀的起步階段,到達了興奮的提升階段,我們要用興趣和興奮去挑戰最困難的部分,在我們信心受挫和興趣濃厚之中找到平衡。同時,輔以其他的深層次知識一起學習和研究。

2、產品思想的學習

沒有正確的產品思想,很難設計出良好的程序,無論從界面、交互,還是接口、邏輯,不能夠理解產品、理解用戶需求,我們會給自己造成很大的麻煩,例如:我們 千辛萬苦用最新技術、最複雜的實現做出的功能,卻得不到使用者或領導、同事的認可。爲了使我們的工作和學習更加有效率、避免無用功,我們需要不斷的學習產品的思想,只有理解了產品的思路,我們才知道用我們的技術去輸出什麼。

3、各種框架的學習

框架是我們提高工作效率的優秀手段,對於框架的學習是成長必經之路。我們學習框架的路線通常應該是:使用——》分析——》個性化定製——》模仿編寫自己的框架。只有大量的使用,才能明白設計框架者在設計背後的思路,只有瞭解到設計的思路,才能做正確全面的分析,只有正確全面的分析才能支撐我們去對其裁剪或 擴展,只有經過實際分析、修改別人的框架,纔有可能寫出優秀的、自己的框架。學習通常的路線是:學習、理解、模仿、創造。

4、富客戶端應用的學習

隨着帶寬和計算機性能的提升,以及Web2.0的如火如荼,富客戶端應用充斥着互聯網,如果你不懂得富客戶端應用,你就不能稱之爲一個合格的前端技術人員。可以按照:Flash動畫—>Flash編程—>Flex—>Air—>Silverlight動畫—Silverlight編程 的步驟學習,先學Flash後學Siverlight的原因,一來Silverlight還不太成熟,二來,實際Silverlight借鑑了很多Flash的思想,最好在學習的時候不要本末倒置。

5、各種網絡協議的學習

Web前端技術就是雲上的技術,雲的協議有N種,我們應該着重學習:TCP/IP,UDP,HTTP,POP3,SMTP這幾種協議,在開發Web前端應用過程中,這些協議是我們的技術的載體,有時候決定了我們的應用是否能實現、有時候決定了我們的應用是否高性能,同時,這些協議還是我們和後端技術交互的 重要手段,這些協議就像是密碼字典,幫助我們把後端傳輸過來的密文解釋成我們前端技術能夠理解的明文。

6、程序設計

這個階段我們需要學習OO、UML、設計模式、設計方法……,我們要讓技術開發工作變成有目的性、有計劃性,並且,這些目的和計劃必須有理論的支持,這樣,我們設計出來的程序才能夠更優秀、我們的開發才更有效率,這樣,我們的技術纔能有所提升。爲什麼要學習程序設計呢?主要是,就算我們不用Flash的ActionScript編寫程序的前端邏輯,我們至少要把我們自己的Javascript函數、包的定義規划起來,避免將來自己或他人維護代碼的時候出現問題。程序設計能力,在技術人員仍然被看作是程序員的這個年代,是灰常、灰常重要滴。

成型階段:

到了這個階段,我也沒什麼好說的了,如果能達到這個階段,就證明後續的成長之路是異彩紛呈的,是成爲一個資深Web前端工程師,還是成爲一個資深Web架構師,亦或其他,都要具體分析自身的特點和興趣所在。如果是資深的前端工程師,我覺得更重要的是去作新技術的研究,互聯網技術發展速度日新月異,不斷學習新技術,否則就被淘汰。此外,我建議在知識的廣度、深度方面最好能挑選一個自己最擅長和最感興趣的一兩個領域深入鑽研,不要挑太多,多而不精。如果是資深的Web架構師之路,我建議要深入瞭解後臺技術,這種深入瞭解一定要伴隨着實際的項目開發,基本方法是:按照別人設計的架構實現幾個Server—>自己設計並實現幾個Server。

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