我们信息人
曾看到 2002.7 期商業周刊介紹全球最大的威名百貨(Wal-mart)以集中精力的方式,努力做到它的產品賣得最便宜,四十年來目標不變,而今成為全球營業額最大的企業(七兆兩千六百億),超過了傳統的制造業。商周給這件事實的評語是「聚焦得以壯大,多角化會敗家」。
個人的技術聚焦
我常常在想,信息的技術變化得如此之快,到底要如何做才能安身立命。一個老前輩在十年前告訴我:信息人到最后不是放棄專業,專心走管理職;就是專心技術,走顧問職。至今,國內信息界對顧問一職仍然陌生,一般業主對信息人的尊重也依然欠缺。但筆者十幾年來就只對信息技術本身有興趣,對于處理人的問題興趣缺缺,雖然對技術人的未來茫茫然,但依然抉擇以技術人安身立命。因此排拒掉多次升遷與跳槽當管理職的機會,醉心于陶淵明式的「每有會意便欣然忘食」的愉悅中。
常看一堆人換技術像換衣服一樣隨著流行走,筆者的同事也勸筆者應該研究一下 Java、Oracle 系列的東西了。捫心自問教授過五十門左右的微軟課程,以微軟的產品建過大小系統之后,是不是稱現在 Java 正熱時,該琵琶別抱一下。但我自身在處理信息問題上,當下最欠缺的是另一套語言,另一種平臺的認知嗎?當我要做好一個信息技術顧問時,我應該加強什么。就自己的評估是分析設計的能力,好吧,一天只有 24 小時,在閑暇時間研究一下 OOAD,ORM、CMMI、Agile…吧。既然十幾年前賭了微軟,現今它也沒有要倒的跡象,微軟近年還是最賺錢的信息公司之一,且有大幅的研發費用,聘請上萬個相關研究人員。唉!跟著學都還沒有人家開發得快,且看起來尚未賭錯邊,閑暇時還是去玩玩微軟不教我的東西吧。
企業要堅守核心,我個人的技術取向也聚焦一下吧。
君子務本,本立而道生
晚上在跟學員聊 .NET 時,看著大家對于全新的 ASP.NET,ADO.NET,VB.NET 感到無比的學習壓力。我隨手挑起了 ADO.NET 的 SqlCommand 對象問大家這可以做多少事呢?從 SQL ANSI 92 年版本以來,SQL 語法動過了多少?十幾年了,我們都還在用啊。同樣地,HTTP,TCP 協議出來多久了?ASP.NET 只不過是讓我們更容易駕馭它。這些是蹲信息功力的馬步,研究它們很枯燥,但很值得。
有一個主管跟我抱怨說:現在的工程師做什么都很快,三五天就交差了,但使用人數一多,數據量一大就出現無數個 bug,也不知怎么找問題,大家就僵一起。
六年前在美國聽微軟的研討會時,大會認為 XML 的基礎至為重要,因此將能容納萬人的大會廳留給介紹 XML 基礎的講師,約有千人來聽這場演獎,而他真的努力從 XML 的基礎講起,一點華麗驚艷的示范都沒有。回來臺灣我想仿效,但主辦單位認為臺灣的聽眾喜好炫的內容,基本東西枯燥乏味,難有好成績,因而作罷。
在臺灣的信息技術研討會很難有深刻的東西,上回聽 Java 2 時,還有整場在打口水戰的共通場次,看不到深度,廣度,更別說愿景了。在聽美國的研討會時,往往會欽佩于主講者的內涵與風采,他們高興地描述自己的產品,因為那是他親手做出來的,好似他親生的小孩。當聽眾質疑對手的產品已有的特色,為何他沒有做,主講者也會侃侃而談,告知這項特色將會在哪一個版本完成(不見得像臺灣的回答,永遠是下一版喔!),是因為技術問題無法克服呢,還是因為透過調查,使用者的需求性并不是最高的,在開發的時程上,需要排到第幾版才會推出。
幾年前商周介紹「印度 3.0」,是對整個印度的軟件制造質量的褒揚,而臺灣的軟件質量呢?回想一下,你我的軟件有下一版嗎?我曾就這個問題詢問過多家公司的信息從業人員,我們有的是不斷地重寫,因為前一版寫得太爛了,但當下的制作仍然是且戰且走,每一回都是從 0 開始,做到百分之八九十,就交給使用者。若將臺灣信息業當成一個軟件,那版本大概是 0.9,還是 Beta 版。
軟件開發有句話:”越早開始,越晚結束”,我們可曾好好規劃過要做的軟件,要寫的程序代碼,如何版本控管,它的生命周期為何?悲哀的是,要如何好好規劃我們都還不會。很久以前自己就不敢罵微軟,Sun,抑或是其它大廠所出的軟件太爛了,因為自己寫得更爛。當我們在罵 Windows 操作系統不好時,它從 NT 核心到現今已近 6 個版本,二千多人合作完成,你我五個人合寫的軟件,有下一版嗎?
我常常就務本與技術聚焦考慮技術的取舍:設計軟件時,要先做最底層,最不變的組件;讓撰寫呼叫底層的上層組件的同時,就在驗證底層的設計,為底層除錯。上層可以一再的換(使用者喜歡,就被迫換),ASP 流行時,VB Form 的工程師就死了一半,ASP.NET 的出現,ASP 的人又死一半。但含有商業邏輯的組件可以慢一點換,因為它們穩健,已經在執行,且使用者又看不到。數據庫設計更可以保久一點,營運數據可不能隨便亂改。
學技術時,絕不要僅止于操作,Visual Studio.NET 拖曳可成的軟件,SQL Server Enterprise Manager/Management Studio 輕易可建的數據庫與數據表,它們都只是表象,換版時,換得最多的就是它們。當看不到共通性,不了解基礎時,就很難抓住學習的要點,無法提綱挈領,只能瞎子摸象。抉擇技術時,也只能比較銷售員的華麗與否,或是誰比較會攻擊別人,說不出自己真正的需求。
但對于茫茫然的技術海,如何得知什么是基礎什么是浮面呢?持之以恒的興趣似乎是唯一的路。對于某項技術了解得既廣且深時,你可以看出軟件變化的脈絡,知道它變革的重點,你自身的需求。此時,學習,比較,鑒賞本身就是一種樂趣了。當我在看 ASP.NET 時,會贊嘆微軟的工程師們對 HTTP 包裝的能力,每多看一點,就多一點驚喜。賞玩 SQLXML 或 ADO.NET 時,也對工程們在關系型數據與階層式數據的轉換與運用所發揮的想象力感到佩服。
怪現象
或許我們技術人員沒有受到足夠的尊重,因此少有人浸淫在技術中,樂此不疲。就好像前起年盛行一時的寫程序不若賣雞排理論。曾聽一工程師抱怨說,公司薪資太低,留不住有經驗的人,跟上層反應后,主管認為信息技術本來就重視汰舊換新,留不住老人剛好,新人薪資低,耐操又肯學新技術。悲夫,信息技術是輔助工具啊,沒有各領域的知識,哪來貼合的系統。現今流行 ERP,CRM,SCM…上億的錢砸下去,就會有合用的系統嗎?若沒有兢兢業業且有經驗的信息人員,無止境的系統錢坑不但大,還生不出半點成果出來。
曾有主管抱怨,信息人員真的只在處理信息,沒有知識,產生成千上萬的報表,但看不出企業營運的關鍵在哪里。試想,當信息人員下班后都想再找份工作糊口(直銷或賣保險似乎不錯,我倒是知道不少人這么干),最好可以跳槽,自己加自己的薪,哪來的想象力將成千上萬的企業信息轉成知識呢?又有誰想將信息系統精益求精呢?
在技術不受尊重的信息部門中,往往升遷是一攤死水,有升遷,其過程也很奇怪。初進公司時是程序設計師,有了經驗后升成系統分析師,再來升經理,真有點像呆伯特說的,將不會做事的人升遷。若將之比作建筑業,好像處理水泥鋼筋的師父資深了,就改成土木技師,再資深一點就做建筑師吧!這種房子你敢住嗎?
在公司里,反正住這些測試版房子的人都是那些不懂信息的其它部門同仁,就當他們的抱怨是 bug 回報好了(我們的軟件開發應該都沒有品保人員吧!你說,誰是軟件測試人員呢?)。沒有資深技術人員的晉級制度,當然大家都不想夜夜苦讀新技術,寫 20 年的程序,薪水和新進人員差不多,總想干掉其它同事,升成管理職。
每每看著滿腹熱誠的新進同仁加班趕程序時,就有一種莫名的惆悵,不久后他不是熱誠不在,就是跳槽了。
結語
看著基礎需求如數據庫設計、軟件測試、軟件工程漸受重視,真是可喜可賀。畢竟這些是蹲馬步功夫,做得好不好只有自己知道,建得再爛,只要網頁漂亮一點,大家就對我的專業贊賞有加,在數據還沒累積,使用人數還不多,需求還沒變更,口碑還沒下墜時,趕快交接出去。系統會不會因為數據結構不佳而導致重寫,或一段時間后錯誤百出,當機時間比正常時間還長,數據錯誤的比正確的還多,關我屁事。
討論基礎技術的人數增加,希望代表的是上述現象的消退…。
王國維在人間詞話中描述成大事業,作大學問者必經過以下三個境界:
“昨夜西風凋碧樹,獨上高樓,望盡天涯路。”
“衣帶漸寬終不悔,為伊消得人憔悴。”
“眾里尋他千百度,驀然回首,那人卻在燈火闌珊處。”
我看,信息從業人員不必期待作大學問,光是要「快樂」地安身立命,就要經過這三個境界了。你說是嗎?
總結
- 上一篇: 时区的转换nbsp;格林尼治标准时间(G
- 下一篇: 古今中外著名14大悖论