更新時(shí)間:2018年11月26日14時(shí)53分 來源:傳智播客 瀏覽次數(shù):
一、職業(yè)方向定位
首先,只有確定好自己的職業(yè)方向,才能做好職業(yè)規(guī)劃。在我看來,做WEB前端技術(shù)能夠找到的職業(yè)方向有以下幾種:
(1)資深WEB前端工程師
這個(gè)方向算是一個(gè)WEB前端最基本的選擇了,在國(guó)外,很多老外都能夠把自己的專業(yè)做到極致,能一輩子就在一個(gè)專業(yè)領(lǐng)域不斷學(xué)習(xí)和積累。主要在于內(nèi)因和外因兩方面,內(nèi)因是老外通常思想比較簡(jiǎn)單直接,容易一直專注于一個(gè)領(lǐng)域;外因是國(guó)外的環(huán)境很好,能夠良好的支撐這樣的職業(yè)發(fā)展道路。反觀國(guó)內(nèi),從內(nèi)因來講,WEB前端技術(shù)人員還是蠻浮躁的,通常會(huì)因?yàn)閃EB前端知識(shí)的更新速度太快而覺得學(xué)習(xí)起來辛苦,最終轉(zhuǎn)向后臺(tái)或其他道路。從外因來講,WEB前端人員
沒有獲得公平的待遇,可能從HTML頁面制作就開始并沿襲下來的,從來WEB前端人員都比后端人員低一等,貌似前端就是“淺顯”的代名詞、后端就是“深?yuàn)W”的代名詞,這也直接造就了前端人員的收入無法和后端人員媲美,同時(shí)直接影響到前端人才市場(chǎng)的活躍程度。另一方面,前端的技術(shù)入門較容易,造成另一個(gè)極端情況:人員泛濫、人才稀缺。我想對(duì)所有的WEB前端工程師說:面包總會(huì)有的,要耐得住寂寞!我個(gè)人比較推薦這個(gè)職業(yè)發(fā)展方向,因?yàn)?,在這個(gè)方向下,只要足夠耐心、厚積薄發(fā),成功的概率是非常高的。同時(shí),這是一條最單純的路,我們更多的是花費(fèi)精力在技術(shù)的鉆研上,而不是辦公室政治等其它瑣事。
(2)資深WEB架構(gòu)
說功利點(diǎn)兒,我喜歡這個(gè)方向,既兼顧了工作的單純性、又能夠減少實(shí)際Coding的工作量能騰出更多時(shí)間鉆研技術(shù)。在國(guó)內(nèi),WEB前端工程師遇到較多的情況是總是反復(fù)編寫著同樣的代碼,總是面對(duì)著同樣的技術(shù)和產(chǎn)品,容易感覺枯燥。由于我們擁有最為廣泛的WEB相關(guān)知識(shí)沉淀,使得我們更加容易成為一名架構(gòu)師。這個(gè)職業(yè)發(fā)展方向不如第一種來得平滑,主要是作為一名架構(gòu)師不得不學(xué)習(xí):后端技術(shù)、DBA、Platform等內(nèi)容,而這種學(xué)習(xí)通常需要實(shí)際操刀做項(xiàng)目,不是自己在家里寫兩個(gè)Demo就好的,這就勢(shì)必會(huì)遭遇一段時(shí)間的陣痛期。雖然不是很平滑,但是,對(duì)于一個(gè)大局觀好、悟性好、知識(shí)面廣的前端工程師,我推薦你們努把力,走一條光榮的架構(gòu)師之路吧。
(3)自己創(chuàng)業(yè)
其實(shí),自己創(chuàng)業(yè)是最好的道路、也是成功率最低的道路,挑戰(zhàn)和機(jī)遇并存。這里,作為一個(gè)前端技術(shù)人員,需要將自己的視野更多放在行業(yè)的動(dòng)態(tài)、產(chǎn)業(yè)鏈的動(dòng)態(tài)、 相關(guān)產(chǎn)品領(lǐng)域的動(dòng)態(tài),把關(guān)注細(xì)節(jié)的優(yōu)勢(shì)繼續(xù)保持,同時(shí),增強(qiáng)自己把控一個(gè)產(chǎn)品乃至一個(gè)公司命運(yùn)的能力。但是,這條道路和技術(shù)之路稍有分歧,后續(xù)將不再贅 述。
(4)轉(zhuǎn)崗管理或其他
由于這條職業(yè)道路和WEB前端技術(shù)之路關(guān)系不大,故而,這里不做過多討論,但是,無論是否走上這條道路,我覺得對(duì)于任何技術(shù)之路,更好的大局觀、更廣泛的 視野是良好發(fā)展的必備條件,擁有良好的大局觀和更廣泛的視野別無他法,只能不斷的進(jìn)行知識(shí)的橫向拓展和積累,同時(shí),多在橫向拓展知識(shí)的時(shí)候進(jìn)行實(shí)踐,把知識(shí)變成技能。
二、職業(yè)發(fā)展目標(biāo)
我都有一個(gè)最終的目標(biāo),在這個(gè)目標(biāo)之上,我們需要給自己制定一系列學(xué)習(xí)和成長(zhǎng)計(jì)劃,制定的方法如下:
第一、梳理知識(shí)架構(gòu);
梳理知識(shí)架構(gòu)的目的在于,我們要了解清楚,哪些技術(shù)是前置、哪些技術(shù)是后繼,那些技術(shù)是深度、哪些技術(shù)是廣度,按照這兩個(gè)維度梳理好知識(shí)架構(gòu)之后,我們才能準(zhǔn)確地制定清晰的成長(zhǎng)目標(biāo)、高效的成長(zhǎng)計(jì)劃。
第二、分解目標(biāo);
我認(rèn)為,大抵可分解為三個(gè)階段,包括:起步階段、提升階段、成型階段。這三個(gè)階段分別對(duì)應(yīng)著不同的目標(biāo):
起步階段:
1、基本知識(shí)的掌握
在我們梳理的知識(shí)架構(gòu)中,按照我們分析的兩個(gè)維度里最前置的、最淺顯的部分,作為打基礎(chǔ)的階段,必須要在這個(gè)過程中更多投入到實(shí)踐中去,我們通常做的多了、熟練了,就認(rèn)為這部分知識(shí)和內(nèi)容掌握了。
2、常用工具的掌握
對(duì)于常用工具的掌握應(yīng)該掌握一些有大公司或?qū)I(yè)團(tuán)隊(duì)背景的流行工具,這些工具的熟練掌握能夠提升專業(yè)度、職業(yè)度,同時(shí),能提升我們的工作效率。我們只有在檢驗(yàn)自己對(duì)于知識(shí)和技能熟練程度的時(shí)候,才會(huì)自虐式的用Notepad去編寫頁面、css和腳本等內(nèi)容。
3、溝通技巧的掌握
通常做技術(shù)的人會(huì)被定位為“不善溝通”的人,這是為什么呢?究其原因,主要是因?yàn)槎喔绦蚝痛a打交道,跟人的溝通較少導(dǎo)致。這種時(shí)候我們要特別注意增加和人溝通的機(jī)會(huì),著重提升這塊兒的能力。另一方面,我們通常被稱為“不懂溝通技巧”的人。作為一個(gè)技術(shù)人員,包括我自己,似乎天生就有一些難以接受挑戰(zhàn)的缺陷。在國(guó)內(nèi),我們的技術(shù)人員通常都是自己制定方案、自己執(zhí)行方案,在執(zhí)行過程中又缺乏相關(guān)產(chǎn)品、交互設(shè)計(jì)等人員的溝通,大多是在自己的思路貫徹下進(jìn)行開發(fā),久而久之,我們習(xí)慣于信任自己的觀點(diǎn)、在自己的視角看問題,對(duì)于挑戰(zhàn)總是百般地“據(jù)理”力爭(zhēng)。我們需要更多提升的是,如何在對(duì)方的視角看問題、如何在用戶的視角看問題。
4、良好的開發(fā)習(xí)慣
開發(fā)習(xí)慣是養(yǎng)成的,一旦有不好的習(xí)慣,對(duì)于將來去修正帶來的將是很大的麻煩,我們?cè)谂囵B(yǎng)良好開發(fā)習(xí)慣一定要從起步時(shí)做起,例如:寫代碼之前先分析、先寫文 檔、先寫注釋。定義變量最好能用直接可理解的語義,最好是拼音,別整英文,尤其是生僻單詞,將來自己忘了還要開金山詞霸。文件最好有有意義的文件夾命名來管理,文件名最好有意義,需要版本號(hào)的最好能和項(xiàng)目版本號(hào)一同更新……等等。
提升階段:
1、高級(jí)技術(shù)的掌握在提升階段對(duì)于知識(shí)和技能掌握,我們需要從梳理好的知識(shí)架構(gòu)中選擇更深一層次的技術(shù)進(jìn)行學(xué)習(xí),選擇之前,我們先通過類比或預(yù)估的方法,衡量自身學(xué)習(xí)的難點(diǎn),以學(xué)習(xí)難點(diǎn)和自己最不感興趣的部分為主。這樣推薦大家的原因是:這個(gè)階段我們興趣正濃,已經(jīng)度過了苦澀的起步階段,到達(dá)了興奮的提升階段,我們要用興趣和興奮去挑戰(zhàn)最困難的部分,在我們信心受挫和興趣濃厚之中找到平衡。同時(shí),輔以其他的深層次知識(shí)一起學(xué)習(xí)和研究。
2、產(chǎn)品思想的學(xué)習(xí)
沒有正確的產(chǎn)品思想,很難設(shè)計(jì)出良好的程序,無論從界面、交互,還是接口、邏輯,不能夠理解產(chǎn)品、理解用戶需求,我們會(huì)給自己造成很大的麻煩,例如:我們 千辛萬苦用最新技術(shù)、最復(fù)雜的實(shí)現(xiàn)做出的功能,卻得不到使用者或領(lǐng)導(dǎo)、同事的認(rèn)可。為了使我們的工作和學(xué)習(xí)更加有效率、避免無用功,我們需要不斷的學(xué)習(xí)產(chǎn)品的思想,只有理解了產(chǎn)品的思路,我們才知道用我們的技術(shù)去輸出什么。
3、各種框架的學(xué)習(xí)
框架是我們提高工作效率的優(yōu)秀手段,對(duì)于框架的學(xué)習(xí)是成長(zhǎng)必經(jīng)之路。我們學(xué)習(xí)框架的路線通常應(yīng)該是:使用——》分析——》個(gè)性化定制——》模仿編寫自己的框架。只有大量的使用,才能明白設(shè)計(jì)框架者在設(shè)計(jì)背后的思路,只有了解到設(shè)計(jì)的思路,才能做正確全面的分析,只有正確全面的分析才能支撐我們?nèi)?duì)其裁剪或 擴(kuò)展,只有經(jīng)過實(shí)際分析、修改別人的框架,才有可能寫出優(yōu)秀的、自己的框架。學(xué)習(xí)通常的路線是:學(xué)習(xí)、理解、模仿、創(chuàng)造。
4、富客戶端應(yīng)用的學(xué)習(xí)
隨著帶寬和計(jì)算機(jī)性能的提升,以及WEB2.0的如火如荼,富客戶端應(yīng)用充斥著互聯(lián)網(wǎng),如果你不懂得富客戶端應(yīng)用,你就不能稱之為一個(gè)合格的前端技術(shù)人員??梢园凑眨篎lash動(dòng)畫—>Flash編程—>Flex—>Air—>Silverlight動(dòng)畫—>Silverlight編程 的步驟學(xué)習(xí),先學(xué)Flash后學(xué)Siverlight的原因,一來Silverlight還不太成熟,二來,實(shí)際Silverlight借鑒了很多Flash的思想,最好在學(xué)習(xí)的時(shí)候不要本末倒置。
5、各種網(wǎng)絡(luò)協(xié)議的學(xué)習(xí)
WEB前端技術(shù)就是云上的技術(shù),云的協(xié)議有N種,我們應(yīng)該著重學(xué)習(xí):TCP/IP,UDP,HTTP,POP3,SMTP這幾種協(xié)議,在開發(fā)WEB前端應(yīng)用過程中,這些協(xié)議是我們的技術(shù)的載體,有時(shí)候決定了我們的應(yīng)用是否能實(shí)現(xiàn)、有時(shí)候決定了我們的應(yīng)用是否高性能,同時(shí),這些協(xié)議還是我們和后端技術(shù)交互的 重要手段,這些協(xié)議就像是密碼字典,幫助我們把后端傳輸過來的密文解釋成我們前端技術(shù)能夠理解的明文。
6、程序設(shè)計(jì)
這個(gè)階段我們需要學(xué)習(xí)OO、UML、設(shè)計(jì)模式、設(shè)計(jì)方法……,我們要讓技術(shù)開發(fā)工作變成有目的性、有計(jì)劃性,并且,這些目的和計(jì)劃必須有理論的支持,這樣,我們?cè)O(shè)計(jì)出來的程序才能夠更優(yōu)秀、我們的開發(fā)才更有效率,這樣,我們的技術(shù)才能有所提升。為什么要學(xué)習(xí)程序設(shè)計(jì)呢?主要是,就算我們不用Flash的ActionScript編寫程序的前端邏輯,我們至少要把我們自己的Javascript函數(shù)、包的定義規(guī)劃起來,避免將來自己或他人維護(hù)代碼的時(shí)候出現(xiàn)問題。程序設(shè)計(jì)能力,在技術(shù)人員仍然被看作是程序員的這個(gè)年代,是灰常、灰常重要滴。
成型階段:
到了這個(gè)階段,我也沒什么好說的了,如果能達(dá)到這個(gè)階段,就證明后續(xù)的成長(zhǎng)之路是異彩紛呈的,是成為一個(gè)資深WEB前端工程師,還是成為一個(gè)資深WEB架構(gòu)師,亦或其他,都要具體分析自身的特點(diǎn)和興趣所在。如果是資深的前端工程師,我覺得更重要的是去作新技術(shù)的研究,互聯(lián)網(wǎng)技術(shù)發(fā)展速度日新月異,不斷學(xué)習(xí)新技術(shù),否則就被淘汰。此外,我建議在知識(shí)的廣度、深度方面最好能挑選一個(gè)自己最擅長(zhǎng)和最感興趣的一兩個(gè)領(lǐng)域深入鉆研,不要挑太多,多而不精。如果是資深的WEB架構(gòu)師之路,我建議要深入了解后臺(tái)技術(shù),這種深入了解一定要伴隨著實(shí)際的項(xiàng)目開發(fā),基本方法是:按照別人設(shè)計(jì)的架構(gòu)實(shí)現(xiàn)幾個(gè)Server—>自己設(shè)計(jì)并實(shí)現(xiàn)幾個(gè)Server。
北京校區(qū)