搞技術,人生無非是如下的五條出路:一、做技術專家,做到李政道、錢偉長或者Linus Torvalds的水平;二、技術管理,瞄準Ray Ozzie那樣的角色,當公司的高管;三、自己創業;四、技術市場、技術營銷:雖然不搞技術了,但是懂得如何推銷技術;五、改行。 做為一名技術人員,應該怎樣選擇“技術專長”的成長之路?非常容易迷惑,這是一個事實。發達國家把它做為一項國家工程,各自研究了一套技能體系,并結合資格認定,引導工程師自我成長。就我所知道的范圍來說,英國、美國、日本等國政府都有一套體系(參考:1,2,3,4,5)。這里我想把這些國家現有的分類體系,結合我自己的體會,介紹給大家。 首先,我們可以把技術分成三大類: 一、開發技術 二、領域技術 三、管理技術 在這里先羅列一下這三大類的分法。 開發技術指的是完成一個大規模的軟件開發工程所必備的技術,比如系統需求分析、系統設計、軟件需求分析、軟件模式設計、軟件詳細設計、代碼編寫與測試、代碼集成(Integration)、軟件檢驗(Validation)、系統集成、系統檢驗等各個環節所需要的工具、模式、流程和知識。 管理技術指的是項目管理和流程管理所必備的技術,比如分工管理、時間管理、成本管理、質量管理、溝通管理、采購管理、風險管理、人員與組織管理等等屬于項目管理技術;而變更管理、配置管理、開發環境管理、開發流程選定、知識產權管理等等則屬于流程管理的范疇。 領域技術指的是平臺技術、界面技術、通信技術、多媒體技術、存儲技術、傳感與控制技術、信息處理技術、應用技術等等。 從這樣的分法我們得到的啟發是,不管自己將來要成為專家還是高管,開發技術和管理技術大部分都是必須掌握的。“我”的“不可替代性”一定是在領域技術中去找的。如果某一項領域技術在公司里能夠做到數一數二,咱們在那個公司才是不可替代,因為把握替代掉要花更大的代價。如果咱某項技術能夠在行業中能夠做到數一數二,那么你就具備了成為“Ray Ozzie”的基本條件。 能夠做到數一數二的,做到不可替代,一個公司里就那么多。如果退而求其次,就是做個“牛人”。上一篇羅列了不同角色,咱們可以成為這些角色的“牛人”。成為各種“牛人”分別需要在哪些方面牛呢?以后有機會再寫吧。 今天先把領域技術分解一下: 一、平臺技術包括 1. 特定的處理器,比如對ARM處理器、TI的DSP或者NVidia的GPU等等的全面掌握 2. 特定的操作系統,比如對Nucleus,Rex OS, Linux等等內核的掌控。 3. 特定的軟件框架,比如Java VM等VM,特定的應用框架比如GNOME、KDE的掌控 二、界面技術 1.輸入處理:通過人類的動作產生的輸入處理比如按鍵、觸屏、氣味、聲波、G-Sensor、GPS信號等等信息輸入的處理技術。 2.輸出處理:顯示、聲音、振動、氣味、光亮 由于GUI通常涉及到輸入輸出,我們把GUI技術劃在界面技術當中,比如透徹掌控X-Windows,GTK+, Match box, mini-GUI等等。嚴格講的,界面技術指的是針對一個特定的功能,用軟件去設計、實現一整套操作、反饋流程,使用戶既容易學、又容易記。從這種意義上看,GUI應該屬于平臺技術,因為GUI是實現用戶操作流程的平臺。 三、通信技術 1. ISO 1~7 層通信模型某幾個層面的設計、實現和維護。 由于無線通信涉及物理層到網絡層的變化,通常分有線、無線通信技術。 GSM協議棧、TCP/IP協議棧、TD-SCDMA協議棧都是通信技術范疇。 2. 無線廣播技術:DVB-T/H, T-DMB, CMMB等等都是無線廣播技術 3. 互聯網技術:這里指的是TCP層以上通信協議,比如HTTP, IMAP, POP3, SMTP,FTP等等技術。 四、多媒體技術 1. 聲音壓縮與解壓縮技術:MP3, AAC, AMR等等 2. 圖片壓縮與解壓縮技術: PNG, GIF, JPEG等等 3. 影視壓縮與解壓縮技術:H.263, H.264, MPEG4等等 五、存儲技術 1.文件系統:FAT32, EXT3,JFFS等等 2.媒體技術:內存、閃存、磁盤等等物理媒體特性的掌控 3.存儲接口技術:熱插拔、冷插拔設備的接口技術 六、傳感與控制技術 1.物理化學量輸入技術:電位、電流、振動、光、壓力等物理化學量的計量技術 2.物理化學量輸出與控制技術:電磁、光、熱、速度、振動、坐標等物理化學量輸出技術 七、信息處理技術 1. 信息輸入技術:數據輸入、聲音輸入等等信息輸入技術 2. 信息安全技術:加密、解密技術 3. 數據處理技術:數據壓縮與解壓縮技術、嵌入式數據庫技術 4. 信息輸出技術:Postscript語言,XML語言,SVG等等通用信息格式輸出技術 八、應用技術,特定目的的應用軟件的實現,它們往往是如上七類技術的綜合應用,比如 1. 瀏覽器 2. 消息類應用:e-mail, IMPS, MMS, SMS等等 3. VoIP應用 4. 視頻通話 5. 媒體播放器 以上八大方面,每一個方面都夠咱們干一輩子的。羅列了這么多,希望能夠給還在大學有志于加入嵌入式軟件開發的朋友,大學畢業后剛剛走上社會的朋友,畢業后做了許多年軟件覺得不知道自己該怎么發展的朋友,或者自以為軟件就那么回事的朋友,提供一個思考的線索。參考這個分類,理出自己發展的路子。 |