程式員,建立你的商業意識(連載六)
程式員代表著技術的擁有者,比起其它的人群,他們擁有更強大的力量,甚至可以說擁有的是那個傳說中點石成金的金手指。然而,過渡的迷戀技術也讓很多程式員無法獲得那段秘訣,本書將講述那些已經找到秘訣的程式員的故事,並幫你分析他們是如何找到秘訣的。
閆輝 著
2.2 玩技術與利用技術
讓程式員感到最為驕傲的事情是什嗎?那肯定是自己做出的技術在別人的面前進行炫耀。就像當初卡馬克做出新的三維遊戲技術時,整個世界都為之瘋狂,這是一個技術人員能夠達到的最終幻想。不過,對大部分程式員來說,這樣的高度是無法企及的,但這並不妨礙他們來show一下自己學會的技巧。
我認識一位在Dos時代的技術人員,他在別人只會用拼音IME的時候學會了五筆IME;在別人只會用UCDOS的時候,他可以解密WPS檔案,在別人會用CCED的時候,他可以拿著列印的長長的用C語言寫的Menu的實現代碼炫耀。然而,到了今天,仍然對自己掌握了某一個技術感到沾沾自喜。其實,這樣的技術人員應該也不在少數,甚至有些人只不過五十步笑百步罷了。
這並不能怪他們,因為在最初軟體開發進入中國的時候,各方面的技術資料少的可憐,尤其是當Dos向Windows編程過渡的時候,微軟有很多API並沒有公布,在那個時候,可能一個產品的核心依靠的就是比別人多瞭解一個API或者一個鉤子的機制。蔣濤曾經講過金山詞霸的開發,其實只不過是因為他們直到如何利用一個鉤子機制從程式中截獲資訊並進行翻譯的處理,但就是這個技術,事實上造就了如此大的一個產業,也造就了幾位的百萬富翁。而對王志東來說,也是靠剖析了Windows系統中的DLL檔案實現了對Windows平台的漢化,並由此誕生了一個暢銷的中文之星軟體。而瑞星的崛起也是因為劉旭將流行的Word巨集病毒的查殺機製做了出來,便一下子開啟了市場。那個時候,這些人被稱為高手,因為他們掌握著某些關鍵性的技術。甚至可以說,不一定是技術,有可能只是技巧。
然而,現在隨著互連網的興起,技巧的價值變得越來越小,遇到一個難題,用搜尋引擎搜尋一下,一般都可以找到答案。實在不行,到論壇中發一個請求,也經常會有高手告訴你答案。一個人掌握某種技術技巧變得越來越不重要了。說到這裡,我們可以講一個小插曲,這便是微軟最早評選MVP(社區最有價值專家)的時候,在CSDN上根據專家分來進行判斷,也就是誰回答的問題最多,誰就是專家。當CSDN通過檢索把名單給微軟之後,在第一次見面會上,令大家跌破眼鏡的是,第一名是一個女生,而且她不太編程。當詢問她經驗的時候,她說每次看到問題,她就會先用搜尋引擎搜尋一下,如果中文找不到,那她就用選擇一些關鍵詞搜尋英文的網站,這樣一般都會有人回答,這樣答案就出來了,而且很多都是英文的答案,這也讓很多網友感覺這的確是一個高人,因為這些問題都是用英語回答的。瞭解了這一切,令人恍然大悟,除了看到一些程式員的懶惰之外,也可以感受到技巧已經不在稱為衡量一個程式員水平高低的門檻了。
這個時候,考察一個程式員的價值除了其技術的深度和廣度之外,是否能夠看到技術之上的商業價值,是否能夠擁有商業的意識便變得更為重要。這時,如果作為一個程式員,仍然整天為了獲得了某個技巧而炫耀的話,相信無法取得更大的成績。
玩技術還有一層含義,就是迷戀最新出現的技術,一旦有了新的進展,就要下載嘗試一下,或者安裝一下玩玩。曾經有一次我們被某公司邀請參加他們的一個技術研討會。會上有兩組開發的團隊,一組是原有的技術Team Dev,另外一組是最新組建的,而且要準備以.NET技術進行開發,當時.NET還是一個新興的技術,有人給戴習為老師推薦了一位工程師,這位工程師號稱對.NET技術很精通。然而,當在會議上這位工程師講述了自己準備用.NET做產品的構想時,原有的Team Dev問到了很多系統設計層面的內容,這位工程師幾乎無法應對,因為他只是玩了.NET技術,對於這樣的技術在商業上的應用卻沒有經驗。會後,戴習為老師也表示:“儘管他對微軟的.NET技術有一定的瞭解,但的確經驗還缺乏很多。”後來這位工程師發展的還不錯,進入了微軟開發合作部,專門用來講述微軟最新出現的技術,想來這也與他自己的愛好掛上了鉤,也是一個不錯的選擇。不過,這樣的職位畢竟只是少數,對大多數程式員來說,玩技術並不能給他帶來更高的價值。
前兩天,這位工程師又在自己的blog上提到,他用微軟最新開發平台內建的屏保程式製作了一個自己的屏保,示範給同事看,同事感覺很新奇。當我看到這條Blog,感到一絲苦笑:玩技術而已!
玩技術的另外一個後果便是容易迷失方向。在Dos時代,技術的種類很少,程式員面前的技術方向也很少,玩也容易玩出深度。但隨著Windows平台,尤其是網路出現後,各種技術層出不窮,即便是水平再高的程式員也很難兼顧幾種技術領域。如果不能夠對技術發展的來龍去脈有深入的瞭解,就很容易限於技術的表面理解,也就很容易造成程式員不知道如何選擇要繼續下去的技術,丟了西瓜,揀了芝麻。於是會出現論壇中“到底是什麼技術好,到底應該選擇那種語言的疑問。”按照大部分過來人的解釋,其實只要選准一條技術路線,真正的鑽進去,自然會取得好的效果,因為不同的技術之間是相通的。微軟工程師孫展波在回答程式員 “做技術到底應該做深還是做廣?”的疑問時,毫不猶豫的表示:“應該做深,而在廣度的方面每周抽出一些時間瞭解一下就足夠了。尤其是在現在互連網如此方便,網上資訊量如此龐大,專業類網站密布,檢索極其方便的情況下,想要獲得任何資源都是一件並不複雜的事情。”
而且玩技術還有一個結果,就是容易忽略使用者的需求。技術酷是一件很棒的事情,但這並不能保證持續的生存。儘管矽谷曾經以看哪個公司做的技術最酷而吸引程式員的關注。比如最初的是蘋果的技術最酷,後來出現了Netscape這種做瀏覽器的公司給人感覺技術很酷,隨後SUN公司推出Java語言的興起,Java技術變得很酷,但現在,Google搜尋引擎成為了最酷的技術。因此,技術本身僅僅注重酷的感覺是遠遠不夠的。趨勢科技的創始人張明正和陳怡蓁女士合著的《擋不住的趨勢》一書中便提到,開始趨勢的文化是要做最酷的技術和產品,但隨著公司發展到一定的階段,他們發現僅僅這些並不能保證公司的持續發展和客戶的認同,而真正瞭解和分析使用者的需求才是更重要的。“我們公司將從一個酷技術的公司轉變為滿足客戶需求的公司。”,這是他們十多年做公司的總結,而處在軟體公司中的程式員自然應該從中得到某些啟示。