談談Web前端工程師的定位

原文地址:http://www.360doc.com/content/10/0708/17/1277406_37692580.shtml

2010-07-08   鋒子chans   閱 1116  轉 13
 
 

先給前端工程師的工做下個一句話定義:運用前端技術,實現體驗的良好傳達。若是在前面加上 Web,那麼是針對 Web 這個領域的,主要是互聯網,也能夠將移動通訊網絡和其餘傳媒網絡(好比IPTV)包含在內,由於其理念是一致的。php

如今要在未畢業的學生中找到一個符合技能條件的 Web 前端工程師能夠說是少之又少。而相關領域的從業者,又由於不被重視、幹雜活、薪水低等緣由,以爲選錯了行當,又中止了在這個方向上的努力學習。最終致使企業招不到一位滿意的 Web 前端工程師。這涉及到兩個定位的問題,即 1) 企業如何給Web前端工程師定位,2) Web 前端工程師如何定位本身。前者等下次有機會再談,先講後者。css

Web 前端工程師如何定位本身

首先,這是頗有前途的工做。百安居的衛哲曾經對大學生擇業提出這樣的建議:第一選擇新行業,第二選擇新企業,第三選擇新部門。互聯網行業相對傳統行業,算是新行業;如今創業公司不少;Web 前端工程師又是一個新的崗位。中國的 Web 前端工程師正在起步,會有很好的發展。html

而後,想一下本身是否適合和喜歡這份工做。Web 前端工程師並非設計師,我更傾向於將這個崗位定位爲開發人員。這個崗位上天天接觸的更多的仍然是代碼、代碼、代碼。若是你喜歡的是設計,那麼應該適當調整本身的學習重點。Web 前端工程師應該是那種完美主義者,或者有必定程度潔癖,天蠍座較佳,更像程序員。術業有專攻,本身多想一想本身的職業規劃。前端

最後,經過努力找到好的僱主。若是你將本身定位爲 Web 前端工程師,那麼去投靠對該崗位有必定認識的公司比較合適(推薦一下淘寶)。在這樣的公司裏面,會有明確的職位說明和職責範圍,以及良好的培養計劃。在這樣的公司可以有比較好的發展。程序員

可是,若是你如今還不具有應有的一些技能,那麼也能夠從「美工」開始接觸起。起碼幾年以內,這個崗位的空缺仍是很大的。在這樣的崗位上,臥薪嚐膽個一兩年,同時注重自身知識水平和思想的提升,對 Web 前端工程師就更近一步了。數據庫

關於技能

通常來說,企業會更傾向於選擇複合型人才(aka. T型人才)。基本上,我以爲 Web 前端工程師所需技能大體以下:瀏覽器

  • (X)HTML + CSS,從入門到精通
  • JavaScript,基本的 Ajax 和 framework
  • Semantic + Accessibility,主要是思想、理念上
  • 瀏覽器(或者相應播放器)的渲染/重繪原理
  • 其餘 RIA 相關技術和理念

看看本身的知識結構,是 T 的一橫不夠廣,仍是一豎不夠深?服務器

其餘

最後提一下關於企業對於 Web 前端工程師的定位問題。主要是三個:a) 是否須要? b) 明確職責,c) 培養計劃。這些之後再談吧。網絡

 

 

要打造一流的Web產品開發團隊,在團隊成員基礎能力上必定要下功夫。對於Web前端產品開發來講,僅僅掌握Web1.0時代簡單的」網頁套接」是徹底不夠的。我結合本身的團隊配備,特此羅列了Web前端產品工程師所涉及的技能列表以下:前端工程師

經過許多實際項目,我的認爲一個完備的前端產品開發團隊,必須擁有以下的人才配備,也但願你們補充:

  • 團隊全體成員達到全部技能中的a級標準
  • 團隊全體成員必須掌握兩項技能中的b級標準,並保證全部的b級標準在該團隊中有50%以上成員能達到
  • 團隊全體成員必須掌握一項技能中的c級標準,並保證全部的c級標準在該團隊中有25%以上成員能達到

具體技能描述:

  • 【必備】UserInterface
    1. PhotoShop/Fireworks Design
      a – 配合美工將草圖造成具體的符合WebPage的設計
      b – 有快速製做分層高品質PSD、PNG的能力
      c – 能迅速將PSD、PNG的內容構思成div+css或者table等HTML代碼
    2. Flash Design
      a – 基本動畫效果
      b – 複雜的交互體系設計,瞭解第三方swf輔助設計軟件
      c – 複雜的交互體系設計以及較強的對各種外埠資源(PNG、JPG、MP三、WAV等)的整合能力。精通部分第三方輔助設計軟件(AE、SwishMax、Swift3D等)
  • 【必備】Browser-side (Web Application)
    1. XHTML/CSS
      a – 基本的layout實現
      b – 嚴格跨平臺的layout實現以
      c – 優雅的HTML code,儘量符合標準並有SEO的考慮因素。在任何平臺、瀏覽器下基本保持一致。不要求瞭解各類CSS的hacks,但要求知道遇到問題應該如何查閱資料以在第一時間內解決。可以爲JavaScript開發人員提供最好操做的DOM結構,讓JS開發人員在開發的時候認爲」一切都已經準備就緒了」,而不是」捉襟見肘」。
    2. JavaScript/Ajax/DOM
      a – 基本的DOM操做,瞭解AJAX,能夠實現數據通訊
      b – 基本的DOM操做,能寫高效率的OOP代碼,以下降維護成本
      c – 基於需求,進行不一樣的開發,選擇合適的框架,作到代碼效率最高,用戶體驗最好,代碼下載量最小,而且能夠在單獨甚至更多產品線中最大限度重用代碼
    3. Flash Developement
      a – 基於Timeline的ActionScript操做,能實現簡單交互
      b – 掌握a外,能實現數據層通訊(與服務器以及本地SharedObject)
      c – 精通AS1-3,能根據需求進行各種RIA開發。不管是要求支持FlashPlayer8的,仍是FlashPlayer9的,都能作到開發效率最高、靈活性最大(好比對HTML層的接口設計,等等)。
  • 【必備】Client-side (Desktop Application)
    1. Apollo
      a – 產品級的封裝,基本技術瞭解(如何打包、如何加入HTML和JavaScript等)
      b – 掌握a的同時,能利用Apollo的API獨立設計、開發OS的文件I/O功能。
      c – 掌握基本技能的同時,對」3D概念體系」有所認知。這裏」3D」即:Design(設計)、Development(開發)、Deploy(產品部署)。能用Apollo
    2. Windows Presentation Foundation、WPF/E(Silverlight)
      (待定,歡迎補充)
  • 【增補】Server-side (修改:經考慮,這個技能不參與評級)
    原本列舉了」一、Server端簡單的技術、腳本」和」二、MediaServer(Red5)接口」做爲」Web前端工程師技能列表「的一種(服務器、數據邏輯層技能的)評判標準。但彷佛不少朋友對於前端工程師是否應該掌握Server端技能的必要性表示懷疑。確實,要掌握好上述的展示層技能不是意見容易的事情,並且前端工程師的確很是辛苦。可是,站在另外一方面來講,辛苦的緣由是什麼,我不知道在你日夜奮戰div+CSS的時候思考過沒有。就個人經驗,前端的辛苦在於如下幾個方面:

     

    1. 重複勞動多,大量的div+css都是重複的,即使能夠複製粘貼,但幾千行的div海洋中去尋找一個入口恐怕都很是痛苦
    2. 需求變動多,每每你折騰幾個小時終於把跨平臺問題解決好了,並且在IE六、7和Firefox下面都能顯示一樣的效果了,甚至連JavaScript交互都已經快搞定了。忽然上面說需求要變。這無疑是莫大的痛苦。

    也許表面上看,這跟Server端技能無關,但我以爲有好的Server端的意識,必定會有所幫助(固然不可能解決全部的問題)。畢竟信息結構和數據庫是密切相關的,而Server是鏈接數據庫的惟一渠道(至少大多數B/S應用是如此)。掌握Server端的基本技能,對於同邏輯層開發人員設計接口是很是重要的。並且HTML表現層在開發時與數據的分離,也與Server端的各類模板技術有關。例如PHP中的Smarty模板(我曾經用的)、jsp的model2概念等等。HTML結構如何設計,如何讓HTML重用,甚至在HTML層進行OOP的開發(我如今在新產品線中設計的前端開發流程),都須要Server端的支持。最起碼,你要告訴php程序員你須要什麼。若是你徹底對PHP一無所知的話,那也無從談起了。
    此外,對於創業團隊,每每人手很是有限。爲了讓運營成本降到最低,全部的技術人員都有義務對Server端技術有所瞭解。若是爲了修改一個網頁的標題還要跑去喊PHP程序員鏈接Remote Server的話,那實在是增長了整個公司的運營成本。
    總結:我認爲,能夠不瞭解技術細節,但應該知道原理,最好能掌握一兩套設計思想(畢竟數據邏輯都在這裏走,光看HTML和JavaScript,對人的見識仍是有侷限的,這種侷限限制了我本身好久的時間),那將是一比寶貴的財富。

  • 【增補】Mobile-side(不參與評級)
    1. Flashlite
      (待定,歡迎補充)
    2. Java?
      (待定,歡迎補充)

看到不少朋友留言說前端工程師沒前途,我在想,同時掌握移動設備的技能是否也是拓展前途的一個必要性?這裏再多說幾句,關於技術人員的前途,目前在國內確實得用」慘淡」來形容。浮躁的氛圍讓技術人才每每過早放棄了本身的技術生涯,而爾虞我詐的總體道德水平也讓單純的技術人員痛不欲生(我身邊太多了,恩,不說具體細節了,呵呵)。

做爲一個技術人員,開發人員,在保持純粹地敬業心態(這是前提,這麼沒有,啥也別談)外,更要學會如何保護本身,如何壯大自身,社會不會同情你,只有你本身才能保護你本身。

相關文章
相關標籤/搜索