天天看點

web前端開發前景何去何從

web前端開發前景何去何從

關于一個WEB前端的職業規劃,其實是有各種的答案,沒有哪種答案是完整正确的,全憑自己的選擇,隻要是自己標明了,堅持去認真走,就好。正在這裡,我隻是 簡要說一下自己對于這塊兒内容的認識打聽。有一個觀點想要分享給大家的是:任何規劃和目标的實作都依賴于知識的積累,而知識的積累來曆于學習及學習後大量的實 踐。我提供一個實踐途徑,我們能夠正在工作之餘的時間正在網上或外包公司那裡接一些私單做,因為目标不是賺錢,我們能夠用最低的價格來晉升自身競争力,得到大 量訂單就意味着得到大量的實踐機會,同時,還有一些收入作為工作成就感之外的安慰獎,照舊不錯的。

一、職業方向定位

老是有人喜歡讨論說做前端開發有前途沒有,前幾天還有一個剛畢業的大學生問我。說實話我也不知講怎麼樣,但是我很喜歡做前端開發。要說做業務是挑戰自己,做前端開發也是很挑戰自己的,因為資訊更新速度很快,要斷的學習,去研究。下面是我來網上轉來的一篇文章,寫的很有講理。希望我們做前端開發的人心能靜下了,好好的學習。因為要學習的知識太多了。正在這裡我說一句,三百六十行,行行出狀元!

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

           2、産品思想的學習

                  這個方向算是一個WEB前端最基本的選擇了,正在國外,很多老外都能夠把自己的專業做到極緻,能一輩子就正在一個專業領域不斷學習和積累。主要正在于内因和外因 兩方面,内因是老外通常思想比較簡單直接,容易不斷專注于一個領域;外因是國外的環境很好,能夠良好的支援如許的職業發展講路。反觀國内,從内因來 講,WEB前端技術職員照舊蠻浮躁的,通常會因為WEB前端知識的更新速度太快而覺得學習起來辛苦,最終轉向背景或其他講路。從外因來講,WEB前端職員 沒有得到平正的待遇,可能從HTML頁面制作就開始并沿襲下來的,從來WEB前端職員都比後端職員低一等,貌似前端就是“淺顯”的代名詞、後端就是“深 奧”的代名詞,這也直接造就了前端職員的收入無法和後端職員媲美,同時直接影響到前端人才市場的活躍程度。另外一方面,前端的技術入門較容易,造成另外一個極 端情況:職員泛濫、人才稀缺。我想對所有的WEB前端工程師說:面包總會有的,要耐得住寂寞!我個人比較推薦這個職業發展方向,因為,正在這個方向下,隻要 足夠耐心、厚積薄發,成功的機率長短常高的。同時,這是一條最單純的路,我們更多的是花費精力正在技術的鑽研上,而不是辦公室政治等其它瑣事。

           我認為,大抵可分解為三個階段,包括:起步階段、晉升階段、成型階段。這三個階段分别對應着不同的目标:

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

        (3)自己創業

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

         (4) 轉崗管理或其他

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

二、職業發展目标

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

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

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

          第二、分解目标;

        (2)資深WEB架構師

           4、良好的開發習慣

          1、基本知識的掌握

           正在我們梳理的知識架構中,按照我們分析的兩個次元裡最前置的、最淺顯的部份,作為打基礎的階段,必需要正在這個程序中更多投入到實踐中去,我們通常做的多了、熟練了,就認為這部份知識和内容掌握了。

           2、常用工具的掌握

          第一、梳理知識架構;

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

         (1)資深WEB前端工程師

          起步階段:

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

           晉升階段:

            沒有正确的産品思想,很難設計出良好的程式,無論從界面、互動,照舊接口、邏輯,不克不及夠認識打聽産品、認識打聽使用者需求,我們會給自己造成很大的麻煩,例如:我們 千辛萬苦用最新技術、最複雜的實作做出的功能,卻得不到使用者或帶領、同僚的承認。為了使我們的工作和學習更加有效率、避免無用功,我們需要不斷的學習産 品的思想,隻有認識打聽了産品的思路,我們才知講用我們的技術去輸出什麼。

           正在晉升階段對于知識和技能掌握,我們需要從梳理好的知識架構中選擇更深一層次的技術進行學習,選擇之前,我們先通過類比或預估的方法,衡量自身學習的難 點,以學習難點和自己最不感興趣的部份為主。如許推薦大家的本因是:這個階段我們興趣正濃,已經度過了苦澀的起步階段,達到了興奮的晉升階段,我們要用興 趣和興奮去挑戰最困難的部份,正在我們信心受挫和興趣稠密之中找到平衡。同時,輔以其他的深層次知識一起學習和研究。

            通常做技術的人會被定位為“不擅溝通”的人,這是為什麼呢?究其本因,主要是因為多跟程式和代碼打交講,跟人的溝通較少導緻。這類時候我們要特别注意增加 和人溝通的機會,着重晉升這塊兒的能力。另外一方面,我們通常被稱為“不懂溝通技京東巧”的人。作為一個技術職員,包括我自己,似乎天生就有一些難以接受挑戰的 缺陷。正在國内,我們的技術職員通常都是自己制定方案、自己執行方案,正在執行程序中又缺少相關産品、互動設計等職員的溝通,大多是正在自己的思路貫徹下進行開 發,久而久之,我們習慣于信任自己的觀點、正在自己的視角看問題,對于挑戰總是百般地“據理”力争。我們需要更多晉升的是,如何正在對方的視角看問題、如何正在 使用者的視角看問題。

          1、進階技術的掌握

           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函數、包的定義規劃起來,避免将來自己或他人維護代碼的時候出 現問題。程式設計能力,正在技術職員仍然被看做是程式員的這個年代,是灰常、灰常重要滴。

          三、  成型階段:

           3、溝通技巧的掌握