使用者工具

網站工具


society:programmer_chicken

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
society:programmer_chicken [2011/04/28 11:44]
wenpei 暴強的程式師考題
society:programmer_chicken [2013/01/12 11:16] (目前版本)
wenpei
行 1: 行 1:
 +====== Other References ======
 +[[http://​www.kenming.idv.tw/​cu_ao_a_ie_cui_af_er_el_a_pas_acl_archit|從軟體架構師(Architect)的觀點來看軟體開發流程]]
 +
 +[[http://​yetsai.blogspot.tw/​2012/​06/​cs.html|給CS的你 - 從留學生到第一份工作]]
 +
 +====== 10001 件資工系畢業前一定要做的事 ======
 +出處:http://​mrjamie.cc/​2011/​06/​27/​things-all-cs-students-should-do/​
 +
 +00000 擁有你自己的網域 — 買 .com 和 .com.tw 的網域有各自的竅門,如何找到最划算的價錢,你應該要知道
 +
 +00001 租用你自己的雲端主機 — AWS 第一年幾乎是免費的,EC2 和 S3 是兩個你至少要摸熟的服務
 +
 +00010 安裝 Apache 伺服器軟體 — 學著設定 httpd.conf,例如把 www.domain.com 轉到 domain.com (台灣 90% 的網站都忘了做這件事)
 +
 +00011 安裝 WordPress,經營一個網誌 — 長期經營網誌有很多好處,況且對於程式人員來說,寫作能力是最重要的技能之一
 +
 +00100 用 Ruby on Rails 寫出一個產品 — 我認為 Rails 將會取代 LAMP 的地位,現在缺 Ruby 工程師的比缺 LAMP 的還多,而且都是一些非常棒的新創團隊,我鼓勵你把這個框架學好
 +
 +00101 幫同學解決一個實際的問題 — 去跟非資工系的同學、朋友、親戚聊天,找出他們生活、工作、社團有什麼實際的問題,你可以用程式幫他們解決的,然後實際做出這個網站給他們使用
 +
 +00110 寫一個 iOS/Android App — 如果上面這個問題,透過 Smartphone App 可以解決得更好,那就寫一個 iPhone/​Android 給他們 (台大的學生可以考慮去上我的合夥人 Prof. Mike Chen 的智慧手機開發課)
 +
 +00111 實際使用 Facebook API — 用 Facebook Connect 來讓使用者快速登入你的網站,並且拿到他們的 Email 和好友名單,再想辦法利用這兩個資料給他們更好的服務
 +
 +01000 實際使用 MongoDB (或是其他 NoSQL) — 學校教了很多 RDBMS,但是你要知道現在有很多時候 NoSQL 更符合需求,尤其是大規模網站
 +
 +01001 把你的網站放上 AdSense — 雖然沒辦法賺大錢,但是你會因此更了解網路廣告的各種內幕
 +
 +01010 讀很多別人寫的程式碼、文章和書 — 寫程式和寫作進步的方法,除了多練習,就是多讀別人的作品
 +
 +01011 下載並 Compile 一個複雜的 Open Source 專案 — 像是 OpenSim 或是 Matterhorn
 +
 +01100 貢獻給一個 Open Source 專案 — Open Source 界有他們的文化,跟他們實際協做過,你才能了解
 +
 +01101  學會用 packet sniffer — 聽聽看你愛玩的遊戲,是怎麼跟它的主機溝通的,你會學到很多
 +
 +01110 設定你的 DSL Router讓家裡電腦當伺服器 — 你會對 TCP/UDP ports 有更多了解
 +
 +01111 用 map-reduce 分析資料 — 這是現在最最熱門的題目,你應該要試試 (從這裡開始)
 +
 +10000 去當暑期實習生 — 暑假來了,實際去公司上班兩個月,看看真實世界是長什麼樣子吧!新創公司尤其是你的好選擇,因為你將可以摸到更多好玩的東西 (不知道要去哪裡?寫信來,我幫你介紹:​ mr.jamie.blog [at] gmail.com)
 +
 +10001 去跟 10 個學長姐聊聊 — 在你決定要繼續攻碩士、就業還是創業前,去跟 10 個已經畢業的資工系學長姐聊聊,看看他們都在做什麼,有什麼事情他們後悔當初沒學好,有什麼事情他們覺得你可以考慮去做。不要悶著頭聽同學們的建議做決定,他們和你一樣不知道自己在做什麼。
 +
 +以上,希望對於正在念資工系的你們有幫助。
 +
 +====== 80後想的和你不一樣 ─ 每換一次工作,都是在練功 ======
 +http://​linusvanpelt.pixnet.net/​blog/​post/​33155971
 +
 +出處:商業周刊 第1198期
 +
 +畢業四年換四份工作!
 +
 +當你皺眉心想,這就是「八○後」不穩定的特徵,判斷他們難以成事時,鄭伊廷的故事或許會讓你的想法轉個彎……。
 +
 +鄭伊廷,二十七歲,宏達電的資深經理。更多人是認識她的網名:「XDite」。XDite,
 +
 +這個在網路上赫赫有名的人物,在莫拉克風災時,用一個小時的時間 就打造出救災網站,集結了二千四百名志工,並讓每天四十萬人次可以了解最新災情動態,成為民間救援中心。
 +
 +在此之前,XDite已踢爆馬英九「治國週記」網站提前虛構,並寫了「戴爾之歌」諷刺戴爾(Dell)出包又不願意負責的態度。
 +
 +對夢想,企圖大!
 +未來是要搶來的,不是別人給你的
 +
 +坐在鄭伊廷位於新店的租屋處,PChome二十四小時的宅配紙箱幾乎堆到天花板上,從泡麵到蜆精統統都成箱擺著。
 +聽到她告訴我,上述行為只是為了「好玩」 與「自我挑戰」。
 +而她從大學畢業四年,已經換到第四份工作。
 +我腦子裡浮現的是很多企業老闆對八○後的刻板印象:「對未來沒規畫,只求快樂。」
 +
 +直到下列這段對話出現:
 +
 +我問:「妳覺得未來是……?」
 +她答:「未來是要你自己搶來的,不是別人給你的,我幹嘛,我沒事幹嘛給你!」
 +我重複:「未來是要搶來的?」
 +她答:「對!」
 +
 +「搶來的?」
 +「對!」她用力的回答。
 +
 +在高流動率的背後,其實是這女孩用力搶未來的故事。大學畢業後,鄭伊廷第一份工作是文化大學做網管。看似鐵飯碗的工作,卻未讓她感到滿足。
 +
 +「我想做很偉大,很多人想要用的東西,看到很多人喜歡,我就很高 興……。」
 +
 +她原本想到最好的方法,是成立網站,讓大家都使用,她原本就有好的技術底子,但她發現,要達到這個夢想,還不夠。
 +
 +「我寫東西再強,還是需要team work(團隊運作)。」她說。「因為要成立能商業運作的網站,只靠工程師還不夠,我也要去學習商業模式。」
 +
 +對跳槽,沒眷戀!不能準備好才跳。
 +
 +那時已經沒有船 鄭伊廷從文化大學離開,到第二份工作,一個程式接案公司,在那裡她碰到大量駭客,大家彼此鑽研討論技術;在網站痞客邦的第三份工作,讓她帶領團隊,摸索出 團隊合作的技巧。
 +
 +為了不斷進步,她每個月花一萬多元買書,而且全部看完,平均每天看一本書。她也不斷把自己的想法,放在網站上,歡迎各界挑戰、叫陣,然後 再修正、改良。
 +
 +今年,她把如何讓團隊無阻礙運作的想法,貼在網站上,吸引到宏達電的注意,她也毫不眷戀的跳槽到了宏達電。在這裡,鄭伊廷坐上了這個通常要四十歲才能坐到的經理位置,帶領了一個五十人的團隊,年薪比她的第一份工作翻了好幾番。
 +
 +宏達電吸引鄭伊廷最大的「胡蘿蔔」是:「世界舞台」。因為那能讓她朝「讓更多人喜歡她創造東西」的夢想更近。
 +
 +「設定目標,就一個一個攻下。」
 +
 +她的實際,讓她的跳槽更義無反顧。
 +
 +「你不能萬事準備好才等著跳(跳槽),但是(那時已)沒有船。」
 +
 +對資歷,沒在怕!有人二十年經驗,其實都是同一年
 +
 +「我現在在研究,如何跟不同國籍、不同時區的人溝通、打交道。」她笑著說。每換一次工作,對她而言,都是在練更高的武功。
 +
 +難道不擔心,自己這麼年輕的資歷「罩」不住其他資深的工程師?
 +
 +「不會啊。很多人說自己有二十年經驗,但只是一年經驗,用了二十年,」「我是扎扎實實的學習上 去……,我試了幾百幾千條(方法),看了很多武功秘笈(網路與書的知識累積)。我不需要浪費時間在很多人已經證實的事情上面。」
 +
 +====== 寫給即將入行的程式師的一封信 ======
 +http://​www.jobbole.com/​entry.php/​903
 +
 +來源:伯樂線上
 +
 +首先,歡迎來到程式師的世界。在這個世界上,不是有很多人想創造軟體並解決問題。你是一名hacker,屬於那些願意做一些有挑戰性的事情的人。
 +
 +  “當你不創造東西時,你只會根據自己的感覺而不是能力去看待問題。” – WhyTheLuckyStiff
 +
 +  對於下面的文字你不必完全接受,所有這些來自一個其貌不揚的程式師。我喜歡把事情做到最好,而不是對原來的東西修修補補。
 +
 +  僅僅是因為愛好開始做一些創新,這是一個很好的開始!如果你說“我要先學習一下再開始做”那麼你永遠不會真正開始。每個人都需要從某個地方開始,所以現在打開你的編輯器開始寫代碼吧。
 +
 +  下面是一些很重要的建議,雖然有人並不認同,但我保證你看完我的分析以後會站在我這一邊。一開始,先不要管演算法和資料結構。大多數簡單的程式不需要用到演算法和資料結構,所以當你真正需要時再去學習。程式設計一段時間以後,你就會知道在哪些地方用到他們。這時知道演算法的名字並瞭解它們的功能,然後找一些相關的論文去理解演算法並動手程式設計實踐。如果沒有現成的函式程式庫(其他程式師提供的可重用代碼),你用自己喜歡的程式設計語言來實現它。
 +
 +  0. 選擇一門好的程式設計語言,一門你自認為可以用它快速地做出一些有用東西的語言。
 +
 +  不要選擇C語言作為你第一門程式設計語言。也許選擇C語言會給你一種過時的滿足感。雖然它比早期的組合語言提供了更好語法描述,但是今天C(或者C++)不是能夠快速編寫軟體的語言。毫不偏袒的說,我建議你學習一種動態語言。選擇一種你覺得語法(文檔)讓你使用起來更舒服的程式設計。為此,你可能需要花費一些時間來在幾種不同的語言之間進行比較。這麼做目的不是為了讓你感覺更好或者讓程式設計更容易。更快地完成自己的作品並且能夠看到成果,才是激勵你程式設計的源動力。不要選擇一門需要某種重量級的IDE(IDE是一種能夠幫助你編寫並運行代碼的工具)才能輕鬆程式設計的語言。你所需要的僅僅是一個文字編輯器。(注:原文並沒有標號,是我們加上的,請大家別忘記了哦,我們是從零開始數數的。:​) )
 +
 +  1. 選擇一個好的編輯器。
 +
 +  編輯器對程式師而言,就是像是弓對弓箭手一樣重要。這裡有一些推薦的編輯器:
 + • SublimeText 2 – 如果你剛開始程式設計,推薦使用SublimeText 2
 + • Emacs – 學習曲線陡峭,快速鍵複雜。如果你想定制自己的使用習慣,需要學習Emacs Lisp.
 + • Vim – 不僅操作簡潔而且它默認包含在linux的發行版本中,所以深受大家歡迎。我開始使用了2年Emacs。由於Emacs的快速鍵操作過於複雜,我的雙手開始經常疼痛,這迫使我轉向了Vim陣營。瞭解Vim的快速鍵是非常有必要的。當你在遠端的伺服器上編輯代碼時,你唯一不需要安裝的編輯器就是Vim。
 +
 +  注意!Emacs和Vim可能已經成為成為古董了。但是,它們都具備一些現代編輯器多不具備的功能。
 +
 +  2. 選擇一個你可以從中學到東西的作業系統
 +
 +  Windows不會教會你任何東西。使用Windows你唯一學會的就是打開一個exe(可執行)檔來安裝軟體和使用它。可能剛開始的時候你會覺得很酷,但是長遠來看,如果你立志成為一個web開發人員,可能還是要具備基本的linux知識,尤其是當你要發佈程式的時候。Linux也允許你根據自己的要求來定制程式。Macs也很酷,但是我認為你現在經濟上還負擔不起。
 +
 +  3. 不要通過複製粘貼來做備份
 +
 +  一個新手程式師通常會把檔複製粘貼到一個臨時目錄下麵來進行備份。這也許也是他們唯一知道的方法。不要那麼做!你需要使用版本控制軟體。我強烈推薦使用Git,它是個目前很流行的版本控制工具,而且使用起來非常簡單。對一個Git新手,有一個良好的社區和很多參考資源來學習。(除了Git之外,還有mercurial,​ darcs, fossil等等。但是我還是建議從Git開始,我有很多的理由來支持Git,這裡就不多費口舌了。)
 +
 +  4. 知道去哪裡尋求幫助
 +
 +  參加一個和你相關的(你使用程式設計工具相關的)程式師社區。比如StackOverflow就是程式師的Facebook。那裡沒有消息狀態和回復,取而代之的是問題和答案。除此之外還要學會使用IRC。IRC是一種老式的聊天室,現在還在被大多數開發人員用來分享技術資訊和説明解決問題。
 +
 +  5. 培養你的禮儀
 +
 +  知道什麼時候問問題。你遇到的大多數問題都是別人碰到過並且在Internet上能夠找到解答的。在IRC或者任何論壇裡發問之前,先搜索一下google(或者blekko)來看看是不是有現成的答案。在IRC上問問題需要有耐心。永遠記住,人們只是處於好心來免費幫助你。有時你發問以後需要幾個小時才能有回復。所以,耐心等待。除此之外,記得問問題的時候要禮貌。世界很小,你怎麼對待別人,別人就會怎麼對待你。
 +
 +  6. 結交朋友,技術書籍只能教你解決常見的問題(他們說:書是死的)
 +
 +  當你在搗鼓一些程式或者從程式的作者那裡學習,你能學到一些書本上沒有的東西。當你散步的時候,請和遇到的朋友打招呼。你肯定不是唯一的程式師。和其他的程式師一起交朋友一起工作。你會注意到,當一群技術愛好者在一起的時候,不論話題是從什麼地方開始,最後總是以技術話題收尾。這是必然的現象。所以你可以盡情參與。在你的黃金年齡努力程式設計,我能告訴你的是,我在開始6年前尋找朋友並開始討論程式設計,從那時起才學到那些書本和文章不會我的東西。所以我總是說,我的程式設計經驗有6年,因為只有那個時候開始,我才開始與人交流並開始感覺真正地開始學習程式設計。
 +
 +  7. 參加開源項目
 +
 +  為開源項目編寫代碼能帶來回報。這不僅僅是幫助別人,你留下的代碼會被其他人使用或(可能)改進。當別人給你的代碼添加功能或者提出修改意見時,也是在提高你的程式設計水準。開源軟體專案不一定要是一個大工程,編寫一個下載youtube視頻的小程式也是很有用的。更重要的是,你會驚奇地發現你編寫的代碼會成為與他人有效溝通的橋樑。其實關於參與開源專案,伯樂線上編譯的不少有關程式師的文章都是如此建議,比如Justin James 的《程式師開始程式設計生涯的5個建議》。
 +
 +  最後,若干年之後如果本文的內容曾經對你有一點點的幫助,作為回報請寫一封類似的信給希望開始程式設計並不知如何入手的朋友,有可能的話請糾正本文中過時的內容。
 +
 +  智者說過,掌握某個東西需要10年或10000個小時,也就是漢語中的“十年磨一劍”,所以不用著急。
 +
 +====== 成為編程高手的二十二條軍規 ======
 +1.大學生活豐富多彩,會令你一生都難忘,但難忘有很多種,你可以學了很多東西而難忘,也會因為什麽都沒學到而難忘!
 +
 +2.計算機專業是一個很枯燥的專業,但即來之、則安之,只要你努力學,也會發現其中的樂趣的。
 +
 +3.記住:萬丈高樓平地起!基礎很重要,尤其是專業基礎課,只有打好基礎才能學得更深。
 +
 +4.C語言是基礎,很重要,如果你不學好C語言,那麽什麽高級語言你都學不好。
 +
 +5.C語言與C++語言是兩回事。就像大熊貓和小熊貓一樣,只是名字很像。
 +
 +6.請先學習專業課《數據結構》、《計算機組成原理》,不要剛開始就拿著一本VC在看,你連面向對象都搞不清楚,看VC沒有任何用處。
 +
 +7.對編程有一定的認識後,就可以學習C++了。(是C++而不是VC,這兩個也是兩碼事。C++是一門語言,而VC教程則是講解如何使用MFC類庫,學習VC應建立在充分了解C++的基礎之上。看VC的書,是學不了C++語言的。)
 +
 +8.學習編程的秘訣是:編程,編程,再編程;
 +
 +9.認真學習每一門專業課,那是你今後的飯碗。
 +
 +10.在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果在公司你試試看!所以多去實驗室上機,現在錯得多了,畢業後就錯得少了。
 +
 +11.從現在開始,在寫程序時就要養成良好的習慣。
 +
 +12.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路。
 +
 +13.你會買好多參考書,那麽請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼。
 +
 +14.VC、C#​、.NET這些東西都會過時,不會過時的是數據結構和優秀的算法!
 +
 +15.記住:書到用時方恨少。不要讓這種事發生在你身上,在學校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進書中,那本書就會變得像雞肋!
 +
 +16.我還是強調認真聽專業課,因為有些課像《數據結構》、《編譯原理》、《操作系統》等等,這種課老師講一分鐘能讓你明白的內容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。
 +
 +17.抓住在學校裏的各種實踐的機會,要為自己積累經驗,就業時經驗比什麽都有用。
 +
 +18.多去圖書館,每個學校的圖書館都有很多好書等你去看!
 +
 +19.編程不是技術活,而是體力活。
 +
 +20.如果你決定了要當一個好的程序員,那麽請你放棄遊戲,除非你是那種每天只要玩遊戲就能寫出好程序的天才!
 +
 +21.你要有足夠的韌性和毅力!有個高手出一一道題測試你的韌性和毅力:找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
 +
 +22.找到只屬於你自己的學習方法。不要盲目的追隨別人的方法,適合自己的才是最好的!
 +
 +====== 十年一覺程設夢 ======
 +<​code>​
 +發信人: weber1217.bbs@bbs.cis.nctu.edu.tw (weber), 看板: Programming
 +標 題: 十年一覺程設夢
 +發信站: 交大資科_BBS (Mon Jan 14 00:42:42 2008)
 +轉信站: ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!csnews.cs.nctu!
 +
 +本文可視為 “我的 DDK 學習經驗” 的續篇, 不談軟體技術,​ 而是寫我在華碩
 +10 年的職場經驗. 描述學會了 DDK 這套工具,​ 我是如何運用它,​
 +在工作上落實創意,​ 供各位參考. 另外我的為官經驗,​ 可說是失敗中的失敗,​
 +各位可引以為鑑
 +
 +我在華碩的第一位老闆是 HC, 我日後對軟體價值的想法,​ 受到他的影響極深.
 +他以前在宏碁是 Jonney 的助理, 參與天龍中文終端機開發計畫.
 +當時工作,​ 是用宏碁自行開發的 ASIC, 搭配 firmware 來處理中文顯示.
 +
 +這份工作累積的經驗,​ 讓他日後有能力自己開一家 VGA Chip IC 公司.
 +而也使他成為在華碩中最了解軟體價值的董事.
 +
 +他在華碩第一份工作,​ 是從無到有成立 VGA 部門.
 +當時 3D VGA Chip 霸主是加拿大 ATi , PM 大主管屬意這家公司,​
 +預計與其全面合作. 但 HC從 Chip 架構及規格,​ 反而看好另一家
 +風中殘燭的 nVidia. 那時候 nVidia 找過麗台跟其他家 VGA 卡廠商,
 +都吃閉門羹,​ 沒人想理它.
 +
 +部門內成立 3 條產品線,​ 分別使用 ATi , nVidia, S3 公司的晶片.
 +當時與其他部門最大的不同處是,​ VGA 部門 RD 是以軟3: 硬1的分配.
 +成為公司部門中,​ 擁有人數最多,​ 水準最整齊,​ 都是台清交碩士畢業的軟體人員.
 +連我跟他面試時,​ 還被他嫌在資策會待太久,​ 怕染上不好習性.
 +
 +HC 的個性是,​ 技術不願受制於人. 他逼 nVidia 吐出所有的 VGA source code,
 +命令底下一組軟體工程師來做效能最佳化的工作. 我分配到的工作是,​
 +做安裝光碟程式,​ 及用 X86 組合語言來加速 VGA Driver執行效能.
 +(因當時有許多 2D/3D 指令是用 CPU 先處裡過,​ 然後再傳給 VGA 晶片處裡).
 +
 +因解掉 1 個 nVidia 驅動程式的 Bug, 使華碩 V3000 繪圖卡領先其他對手,​
 +早 1 個月出貨,​ 打響公司在 3D VGA 市場的名號. 因為這一點貢獻,​
 +經 HC 推薦, 而獲得 Jonney 額外的獎勵獎金.
 +
 +VGA 部門在所有同仁努力下,​ 不到 2 年時間內,​ 就擠下原先在台灣第一名的麗台.
 +
 +
 +---------------------------------------------------------------------
 +因在驅動程式這個領域的耕耘,​ 我獲得在資策會時,​ 做夢也不敢夢到的高額報酬,​
 +有感於當時 (1997 年) BBS, 雜誌文章皆是財團法人,​ 學術界人士,​ 學生的論調,​
 +鮮少來自工業界的聲音. 而且是一面倒向 MIS, 資料庫.
 +
 +於是在 BBS 上寫篇 "​我的DDK學習經驗” 文章, 鼓勵其他軟體從業人員,​
 +朝驅動程式發展,​ 而不是只押寶在 MIS, 資料庫.
 +
 +當時在 BBS 上引起支持 RAD Tool, MIS, VooDoo 學生的筆戰,​
 +搞到連 HC 去交大演講招募工程師時,​ 現場都有學生嗆聲點名,​
 +說要找我單挑. 回來後問我是不是覺得時間太閒,​ 沒事做.
 +(XD! 現在是 nVidia 還是 VooDoo 活下來 ? MIS 公司還是 IC 公司錢賺的多 ?)
 +
 +事隔 3 年後, 在台灣微軟 WinCE 技術研討會上,​ 有一名微軟工程師趨前自我介紹.
 +他原本是在交大擔任助理,​ 看過該文後,​ 放棄原有安穩待遇的工作,​ 自願降薪一半,​
 +投身驅動程式開發領域. 我相信, 經過 MS SmartPhone, SoC 的興起, 聯發科,
 +宏達電躍昇為股王後,​ 他現在應居要職領高薪,​ 遠比當交大助理,​ 來得更有成就感.
 +
 +HC 深信公版公 Driver, 絕對無法支撐起產品競爭力. 於是在不增加任何硬體成本下,​
 +極力要求我們要用軟體來增加附加功能. 而我們也不負他所望,​ 連續推出 3D Glass,
 +Game OSD, 3D See Through, Time-Shift, Smart Doctor, OverLock 等特殊軟體功能,​
 +讓 Sales 在報章雜誌上,​ 有材料來連連為華碩繪圖卡創造話題.
 +
 +在不到 5 年內, 他成立的 VGA 部門, 成為世界第一品牌的VGA 卡公司.
 +而以往稱霸的外國 VGA 卡公司, Diamond 跟 Elsa 公司, 一個倒閉,​ 一個縮編.
 +
 +
 +當 Win95 問世, 引發一波 MB 大換潮, 得以讓華碩連續蟬聯 3 年股王.
 +(但套句台語,​ 搖擺沒落魄的久,​ 10 年內, 股價從 800 多元變成現在的 80 幾元)
 +而 MB 也需要搭配 Win95 驅動程式的安裝光碟出貨,​ MB 的主管 Jerry 向他要求
 +軟體人力協助. 他就派我去成立 MB 軟體支援課.
 +我雖然心中不願,​ 但卻也不得不捨下喜歡的 VGA 驅動程式工作.
 +
 +當時的 MB 部門是以 EE 及 BIOS RD 為主導. 軟體支援課形同雞肋般,​ 扮演的角色,​
 +僅比 QT 部門高一點而已. 工作內容僅是製作安裝光碟,​ 檢查驅動程式的穩定度.
 +不過因 MB 種類日益頻繁,​ 使這份工作變成繁瑣的制式工作. 也讓我心中不時思考,​
 +XD! 自己是 RD 還是高級 QT ?
 +
 +然而繁瑣工作還是要做,​ 最後受不了,​ 我模仿 Win95 Plug and Play 的 driver
 +安裝機制,​ 寫出半自動安裝程式,​ 將公司所有的 Chipset, Audio, Lan 等等 driver
 +全部放在一張光碟. 當放進光碟機時,​ 安裝程式自動啟動來偵測 MB 上所有Device
 +的 PID/VID, 挑出正確的 driver 供使用者安裝.
 +
 +這套方法,​ 不僅讓這個軟體支援課逃出繁種無聊的工作,​
 +也大大減少 PM 的安裝光碟庫存壓力. 不用一種 MB 就要準備一張光碟,​
 +而是 Intel, SiS, VIA 晶片組系列的 MB, 各一張安裝光碟.
 +
 +而我就利用這多出來的工作時間,​ 私下做一些自己感興趣的題目.
 +因沒影響到 MB 出貨, 所以 MB PM Joe 跟 Jerry , 根本都不曉得我
 +私下在搞什麼東西.
 +
 +
 +---------------------------------------------------------------------
 +有鑑於 Win95 後, MS 宣稱要停止支援 DOS. 我就將 DOS 版的
 +MB BIOS Flash 程式, 改寫成 Win 版的 WinFlash. 大概撈過界,​
 +惹毛負責 DOS 版 Flash 程式的 RD, 而讓 BIOS Team 不願導入.
 +完成的 WinFlash 只好靜靜躺在硬碟中.
 +
 +過了半年,​ 當時公司為康柏 (Compaq, 現被 HP 併購) 製作一款
 +無軟碟機,​ 安裝 WinNT 的 PC. 原先的 DOS Flash 程式無法在其上使用.
 +(NT 上無法在 DOS 模式下去存取硬體,​ 也沒有軟碟可以 bootup DOS).
 +康柏限期要提供解決方法,​ 藉由康柏施加在 PM 的壓力, 讓這套塵封的
 +WinFlash 程式, 得以應用到產品上,​ 在市面流傳.
 +
 +而另一家 MB 公司微星,​ 在我完成WinFlash的 2 年後, 也做出做法不同
 +但相同功能的程式,​ 並在雜誌上大打能在 Win 上作 BIOS flash 的廣告.
 +看見其他公司的重視程度,​ 想起自家公司的態度,​
 +真覺得 MB 軟體部門只是個打雜部門,​ 絲毫不受重視.
 +
 +完成 WinFlash 後, 當時 WWW 網路剛興起不久,​ 洞悉到網路潛力,​
 +我跟部屬合作開發 Asus LiveUpdate, 利用網路,​ 在 Win95 下來
 +自動更新驅動程式跟 BIOS. 由於 Asus LiveUpdate 是由
 +Client 跟 Server 兩部分程式組成的. Client 端的檢查,​ 下載機制完成後,​
 +尚須要後端 Server 的配合, 才能啟動.
 +
 +但初期 MIS 部門根本無配合意願,​ 最後透過 HC 的影響力,​
 +總算幫 VGA 部門 架設更新網站. 經過 3 年後, 微軟把類似
 +概念的線上更新功能,​ 直接內建到 Win 2000. 而現在華碩
 +官方軟體下載網頁,​ 及 MB/​NB/​VGA/​EeePC 的安裝光碟上,​
 +都存在著這套軟體.
 +
 +同一時期 Intel 在 MB 上推出 Health Monitor 的功能, 用來偵測
 +CPU 溫度, 風扇轉速,​ 及機殼入侵. 同時推銷網管軟體 LDCM
 +(Lan DeskTop Configuration Management) 給公司來 bundle 在
 +intel 系列主機板上. 而 maintain LDCM 的工作就落到我頭上.
 +
 +因 LDCM 既有的InstallShield 安裝程式,​ 需事先提供硬體設定檔,​
 +註明 MB 有幾顆風扇,​ CPU 溫度範圍等資料.
 +我的天啊 ! 若每一片 MB 都要這樣搞,​ 那我豈不是被 LDCM 搞死.
 +
 +於是修改既有的 InstallShield 程式, 讓它能掛上 device driver.
 +在安裝過程去偵測有多少顆風扇,​ CPU 現在溫度,​ 然後動態產生
 +硬體設定檔,​ 餵給後面的 LDCM 設定程式去正確執行安裝.
 +
 +後來上 LDCM 訓練課程時,​ 聽到 Intel 人員提到 Acer 一個軟體部門,​
 +正在進行於 LDSM Client-Server 架構下, 從 Server 端把
 +BIOS/​Application/​Driver 安裝到 client 端.
 +於是自己獨力將 WinFlash 修改成 LDCM 能使用的 PLUG-IN module,
 +提供 MIS 人員直接在 Server 端更新 Client 端 BIOS 的功能.
 +
 +因為 Intel 限制 LDCM 只能用在 Intel chipset 系列的 MB 上.
 +HC 叫我想辦法,​ 在 SiS/VIA Chipset MB 上提供相同功能的軟體.
 +於是就開發 PC Probe 這套軟體,​ 但也發現讓問題越來越複雜.
 +
 +3 家晶片組公司(Intel,​ VIA, SiS) 有各自不同的介面/​地址去讀取
 +Health Monitor, 甚至同家不同系列的晶片組也有所不同,​
 +有用 SMB Bus, 也有用 I2C Bus 的. 而 Health Monitor IC 來源,
 +也有 3 家 IC 公司提供. 產生一堆晶片組加 Monitor IC 的不同組合.
 +
 +做第一片 MB 時, 還覺得有趣. 但做到第 10 片 MB 時, 就覺得
 +又煩又無聊. 所以一直在想,​ 有沒有一勞永逸的解決方法.
 +
 +
 +---------------------------------------------------------------------
 +當初是 1999 年, Win2000 beta 版還在測試,​ WDM DDK beta 版首度
 +出現在 Win98 ME上, ACPI BIOS 1.0 spec 也剛出爐.
 +
 +看完 ACPI Spec 後, 加上幾年的 Window Programming 經驗, 我察覺到
 +MS 想利用此一規格,​ 迫使各硬體系統廠商必須提供 ACPI BIOS,
 +來讓 Windows OS 能直接控制硬體. 並且把 BIOS 角色壓縮成 Boot Loader.
 +一但 OS 啟動後, 讓 BIOS 沒有主控權,​ 以避免 BIOS 影響 OS 運作.
 +
 +(MS 夠邪惡, 但很明顯並未得逞,​ 直到現在,​ 在 Vista 上, programmer
 +還是可以用 device driver 下 SMI 指令, 讓BIOS 取得控制權)
 +
 +看過 ACPI BIOS 規格跟 WDM DDK beta 版後, 我終於找到處理
 +Health Monitor IC Access 跟 BIOS Flash 的一勞永逸方法.
 +讓所有硬體存取相關的動作,​ 全部集中在 BIOS 的 ACPI ASL code 中,
 +由應用程式透過 ACPI driver 來讓 ACPI.SYS 執行對應的 ASL ocde.
 +如此就不用三天兩頭為 SMBus I/O port來改device driver.
 +
 +於是一頭栽進去,​ 偷偷在 Win98 ME 平台上開發 Asus ACPI Driver.
 +同樣的, 因為有把該做的工作完成,​ HC 檢查進度時,​ 沒發覺異樣,​
 +所以才不會對我碎碎唸,​ 說做這個東西有什麼用.
 +
 +但是 ACPI Driver 需要 ACPI ASL code 配合才能啟動.
 +自知惹毛過 MB BIOS Team, 他們是不會幫忙的. 求人不如求己.
 +於是找剛成立的 NB BIOS RD 部門, 向其要了 Lotus NB 的 BIOS 原始碼,
 +自己邊看 ACPI BIOS Spec, 邊在 Lotus 上修改 ACPI ASL code.
 +
 +當花了 3 個月時間,​ 寫出 Asus ACPI Driver 跟對應的 ASL Code 時.
 +因深知此技術的發展潛力,​ 便主動開技術介紹會,​ 邀請 NB/MB
 +BIOS RD 來參加. 但會議結束後,​ 沒有一個 BIOS RD 感到興趣.
 +
 +但我並不灰心,​ 因 Win2000 WHQL Logo program 規定 BIOS 一定
 +要支援 ACPI. 我知道總有一天,​ Asus ACPI Driver 會派上用場.
 +只不過卻沒料到,​ 這 "​總有一天",​ 卻是在 3 年後才來到.
 +
 +
 +---------------------------------------------------------------------
 +2002 年, 公司 的 NB 種類增多. 原先 NB BIOS RD 是直接 program VGA ,
 +在各家 VGA Chip 的 Frame Buffer 上畫 OSD (On Screen Display),
 +但多種不同的繁瑣 VGA Frame Buffer 定址, 讓 NB BIOS 主管 Jason 受不了,
 +因他有聽過我的 ACPI 技術介紹會,​ 於是私下請我幫忙解決.
 +
 +我當時也沒多想,​ 本著同公司就應互相幫助,​ 將 Asus ACPI Driver
 +原始碼提供出來,​ 做投影片,​ 並教 NB 軟體工程師如何移植到 NB 平台.
 +
 +HC 常跟我說,​ 我是做事的人,​ 但卻不是做官的料,​ 有股 RD 的技術狂熱,​
 +卻不懂職場的遊戲規則. 但我毫不在意,​ 老是把他的話當耳邊風.
 +
 +但這次無私的 ACPI 技術提供,​ 不僅沒有獲得任何回饋,​
 +(NB 部門可沒因此而多發薪水股票給我).
 +反而種下 4 年後不愉快的起因.
 +
 +
 +雖然那時是在做 MB 的事, 但還是會關心 VGA team 的發展.
 +把 MB 上學到的 Health Monitor 跟動態超降頻的概念,​ 介紹給 HC.
 +在大家一遍喊 VGA 超頻的時候,​ 逆勢提出降頻觀念.
 +
 +我認為做文書處理或上網時,​ VGA 根本不需要啟動 3D Engine 跟拉高頻率.
 +於是在 VGA 上實作出 Smart Doctor 軟體, 依據 VGA/CPU 實際工作負荷,​
 +來動態超降頻,​ 以避免 VGA 長期處於高熱超頻狀況,​ 降低正常使用期限.
 +
 +事隔 1 年半後, nVidia 公司受到其他 VGA 卡製造商的壓力,​
 +將這項功能,​ 直接內建在 Driver 中. 可惜當初沒人告訴我要申請專利.
 +不過雖然如此,​ 這套動態超降頻功能,​ 已經領先其他對手早 1 年半.
 +
 +當 VGA 部門闖出名號後,​ HC 為了尋求下一波成長動力. 將目光擺在
 +當時熱門的 IA 題材: Setop Box 跟 PDA 上. 但因 VGA 軟體人力不足,​
 +想將軟體人力從 MB 部門抽回來,​ 於是詢問我的意願.
 +
 +但他同時也點出,​ MB 軟體支援課雖然工作無趣繁瑣,​ 但會影響 MB 出貨,
 +公司不能沒有這個課,​ 而且未來將會隨 MB 產能大幅成長變成一個大部門.
 +
 +但我二話不說,​ 自廢武功,​ 自動解散 MB 軟體支援課. 將底下的台清資訊碩士,​
 +從無趣工作中解放出來,​ 投入 Embedded System 研發專案中.
 +我也不再想當管理階層,​ 跟 PM review 進度跟開會,​ 我覺得是浪費生命.
 +
 +
 +---------------------------------------------------------------------
 +在 2002 年時, 掀起一股 IA 熱潮. "PC 已死, IA 當道"​. Embedded System,
 +如 WinCE 3.0, Embedded Linux, VxWork 紛紛跳上檯面. 我被分派去做以
 +Embedded Linux 為主 的 Setop Box 跟 Thin Client.
 +
 +當時曾接觸過 Luxsonor IC 公司, 原想用其 IC 在 Setop Box 上.
 +Luxsonor 的華裔羅副總,​ 因意識到 PC 運算能力提升,​ 以硬體為主的
 +MPEG2 decoder 將倍受威脅,​ 後因理念不合,​ 於是自立門戶,​ 成立
 +InterVideo (IVI) DVD 播放軟體公司.
 +而 Luxsonor 在將 MEPG2 decoder IP 授權給聯發科後,​ 被 Cirrus Logic 併購.
 +
 +因 IA 口號正熱,​ 一些軟體工程師很容易從傳產股金主募得資金,​
 +在國內外,​ 小型 Embedded Linux 公司如雨後春筍,​ 陸續冒出.
 +連 Mr. Taiwan 谷月涵, 也插花當網虎國際的執行長,​ 來搞股票上市上櫃.
 +就可知道這些公司分名是擺明想 A 錢, 用股票換鈔票.
 +(XD! 我打電話給網虎 Sale 問些事情,​ 結果隔天他就發新聞稿,​
 +說華碩即將採用網虎的 embedded linux)
 +
 +在 Setop Box 上的 Embedded Linux 上執行的 Browser 功能很陽春,​
 +涵蓋 PC NetScape/IE 的功能不到 30%, 而他們又無法克服 TV resoultion
 +及 interlacing 問題. 最後淪落為無實用性的玩具.
 +我也因而勸阻 HC 入股某家美國 Embedded Linux公司的念頭.
 +
 +Settop box 做半年後收起來,​ 改做 Web Pad, 一共用 Transmata TM5400,
 +NS GEODE, VIA C3 3 家 CPU 來開發原型機.
 +
 +開發Transmata TM5400 WebPAD 時, 我負責 BIOS 與負責硬體的同事 Alex,
 +僅僅兩人完成該 Prototype. 當時我們好像是在搞家庭代工,​ 什麼事都自己來,​
 +我邊下 BIOS 命令, 他就用 LA 去抓硬體訊號. 那陣子, 雖然壓力大,​ 但也學到
 +Phoneix NoteBook BIOS 架構, 並得知更多 Window 與 BIOS 溝通介面.
 +
 +當時觸控面板的介面 IC 並無支援傳統 PS2 介面, 於是我寫個 Win98 驅動程式,​
 +用南橋晶片空出來的 GPIO pin 去接收介面 IC 的輸出資料,​ 透過驅動程式將
 +其轉化成 PS2 Mouse Event, 去模擬出一個 PS2 Mouse Driver.
 +這是我第一次用軟體驅動程式模擬出特定硬體介面的經驗.
 +
 +5 年前的 SoC 剛萌芽, 硬體省電能力很弱,​ LCD-TV, 跟 LCD Panel 價格昂貴.
 +原型機完成後,​ 因暸解成本昂貴,​ 功能有限. 我向 HC 建議, 不要導入市場.
 +(有夠呆吧! 如果煽動成功,​ 讓老闆投錢投人,​ 起碼可以撈到個副理官位來做,​
 +至於賺不錢,​ 那是他家的事,​ 反正有其他賺錢的部門在養,​ 怕什麼!)
 +結果同時期有兩家公司,​ 大眾電腦跟旺?​ 做出 WebPAD 商品,
 +想也知道,​ 都賠賠賠,​ 成了 3 賠產品.
 +
 +IA 熱潮的泡沫,​ 不到 2 年就消失. 但 PDA 因有
 +Palm 及 WinCE PDA 的銷售成長,​ 得以繼續生存下來.
 +
 +
 +---------------------------------------------------------------------
 +HC 意識到趨勢變化,​ 停止 Steop Box, WebPad 開發, 將所有軟體人力
 +投入 PDA 開發. 於是我被指派去做 Intel Bulverde VC (Validated Customer) 計畫.
 +
 +Bulverde 是顆 SoC, 非 CPU. 它將 ARM base CPU, VGA, Peripheral,
 +Memory Controller 全部塞到 1 顆 Chip 中. VC 計畫是, 在 Intel 提供的
 +pre- alpha SoC 板子上, 架上 MS WinCE 3.0 OS, 寫程式去測試功能.
 +
 +當時是利用 ICE, 透過 JTAG 介面來 program SoC, 使 SoC 發出預期的
 +控制訊號,​ 接著用 LA 去量訊號,​ 檢查是否正確. 然後每星期回報 Bug
 +給 Intel 做除錯之用. 簡言之, 就是寫程式幫 Intel 作 SoC 硬體功能驗證測試.
 +
 +在參與過 Setop Box, Thin Client, 及 Bulverde VC 計畫, 讓我無意中充實對
 +IC 規格和硬體設計方面的知識,​ 有時候當下看是不相干的工作經驗,​
 +往往是日後技術提升的基石. 經歷這時期實作經驗,​ 對日後軟體設計,​ 有極大幫助.
 +
 +但因部門政治因素,​ 外加 VGA 軟體主管離職. 不得不放下喜歡的 Bulverde VC計畫,
 +再度聽從 HC 的安排, 轉任 VGA 軟體主管.
 +
 +HC 一直想為 VGA 部門尋找另一波成長動力. 於是指派我去執行
 +DVD Recorder 及 LCD-TV 專案.
 +
 +初接任 VGA 軟體副理一職時,​ 一位負責維護 Display Driver Hooking 機制的 RD,
 +提出可以將 Video 結合 3D Game 的點子時,​ 我贊同他的想法,​ 並加碼加派一位
 +RD 去做 MPEG4 壓縮跟網路即時通訊功能來配合. 做出全球首套支援 3D Game
 +的視訊軟體. Sale 部門看到這套軟體後,​ 取名為 Game Face 來大力促銷.
 +
 +隨後因 HC 想在大陸成立一個軟體團隊,​ 我暫時放下 LCD-TV 案子,
 +前往蘇州,​ 武漢, 西安等地的大學去招募員工.
 +(有人跑大連,​ 哈爾濱的路線,​ 11 月, 還好不是我)
 +因老婆不願舉家遷移到大陸,​ 在蘇州華鼎成立團隊雛型後就返台.
 +
 +在 LCD-TV/ DVD Recorder 這些專案中,​ 我陸續接觸到 WIS, LSI, TI OMAP,
 +Sigma Design, Trident, OPlus, Genesis, PixelWork, Morning Star 等各家的晶片.
 +這段期間大量接觸各類的 IC 公司, 也讀了一堆相關的 IC spec and datasheet,
 +我試著去比較各家晶片性能. 遇到不懂的規格名詞時,​ 就上 Google, 翻 paper,
 +從基礎理論去了解其規格背後的含義. 而墊下對消費性電子 IC 方面的知識.
 +
 +因為國外 IC Design 公司的規格書寫得非常詳細,​ 我從中接觸到MPEG 2/4, H.264,
 +Scaler, DE-INTERLACE,​ 視訊規格,​ 以及色彩學等方面的知識.
 +
 +記得當時 Trident 代理商的某個 FAE 很臭屁, 欺負我沒摸過 LCD-TV Chip,
 +還說 LCD-TV Chip 很有深度,​ 技術很難懂,​ 要像他這樣的人才才能搞懂.
 +結果事後 K 過 paper 跟 Video Demystified後,​ 才知道他誇口的那些知識,​
 +根本是入門級.
 +
 +做這些案子期間,​ 我觀察到一些 IC 公司只專注在硬體開發,​ 如 LSI, TI.
 +而其 IC 所需的 DSP firmware 或 embedded system 卻要系統廠商,​
 +花錢向其他家軟體公司購買,​ 相關的 Video/Audio codec 授權問題,​
 +也是由系統廠各自向 MPEG2/Dobly 談判.
 +對玩慣 WinTel 的我為此深感不解. 為何無法提供一套完整的方案,​
 +卻還要系統廠到處張羅硬體,​軟體,​權利金等事項 ?
 +
 +相同時期,​ 隨著 SoC 蓬勃發展,​ 聯發科洞悉到系統廠的需求,​ 招募眾多
 +軟體工程師,​ 搭配自家晶片,​ 提供完整的 solution, 在不到 4 年時間,
 +DVD Recorder 方面就打敗 LSI, 手機晶片方面,​ 則是嚴重威脅到 TI.
 +逼得 TI 也出 Davanci SDK for WinCE. 如果 TI 還不親自提供完整
 +TurnKey Solution, 中低階, 甚至高階手機晶片,​ 被聯發科攻陷是指日可待.
 +
 +
 +---------------------------------------------------------------------
 +在 2000 年, 華碩獲利大幅衰退,​ Jonney 意識到主機板高毛利時代,​
 +已經一去不返,​ 連精英都嚴重威脅到華碩 (股價 130 : 70), 一堆 VGA
 +部門的軟體工程師,​ 集體跳槽到精英.
 +
 +Jonney 開始推動巨獅計畫. 進行公司組織重整後,​ VGA 部門被劃給 Jerry.
 +我因而失去重視軟體功能 HC 的支持, 我曾經因案子無預警被中斷,​
 +當面對著 HC 拍桌子, 但他心胸寬大有雅量,​ 沒把這件事放在心上,​
 +日後反而常常在暗中拉我一把.
 +
 +直屬長官變成 VGA 部門的硬體經理. LCD-TV 專案也被迫停擺,​
 +由 Jerry 新成立的數位家電部門來主導. 而底下的一些軟體工程師
 +看苗頭不對,​ 全部跳去負責 VGA 卡的軟體單位.
 +
 +但上帝關起門時,​ 同時也為你開了另一扇窗. 2004 年時 MS 推出
 +Media Center, 並且全球數位電視陸續開播. 雖然處於冰凍狀態,​
 +算是苦中尋樂吧,​ 花時間 K 數位電視訊號規格,​ 去了解 RF, IF, BF,
 +demodulator,​及 OFDM 編碼的原理. 從這些規格跟通訊編碼原理中,​
 +找到屬於技術人員的樂趣.
 +(數位電視訊號規格有牽涉到視訊壓縮,​ 因有看過 MPEG2/H.264 資料,
 +所以蠻快就進入狀況. 有燒香就有保佑,​ 有讀書就有收穫)
 +
 +不久後, Jerry 對 Barebone 部門報以高度的期許,​ 於是我轉移陣地,​
 +設立一個軟體團隊來支援 Barebone 部門, 雖然還掛在 VGA 部門,
 +但 VGA 部門最高主管早就不理我,​ 考績被打得很爛.
 +
 +在 BareBone 部門初期幫忙接 Samsung 的代工案及自有品牌 E-Spreso.
 +但後期 Barebone PM 部門換主管後,​ 無意朝創新發展,​ 以衝產量為優先.
 +也不管軟體功能,​ 把底下的工程師當工具來使用.
 +
 +為了不讓底下的軟體工程師閒閒沒事幹. 加上看到 MB/NB 朝
 +消費性電子化的發展趨勢,​ 同時也知道 LCD Panel 的色彩缺陷性.
 +我不想浪費在 LCD-TV 專案上獲得的一些研究經驗,​
 +於是開案子,​ 將 LCD-TV 色彩處理功能導入到 VGA/NB 上.
 +
 +初期我將這個概念跟專利草稿給另一家 IC 設計的子公司參考,​
 +希望能共同開發. 但後來子公司毫無分享意願. 認清現實一面後,​
 +靠人不如靠己,​ 我分配 2 名 RD, 成立 Cameleon (變色龍) 專案,
 +從事 NB 上的色彩功能開發,​ 並將此觀念介紹給某位 NB 高級 PM.
 +
 +因為這位高階 PM 是工程師出身,​ 有過 TV CRT 的相關開發經驗,​
 +知道此功能的實用性. 雖然NB 內部有阻力存在,​ 但他仍盡力協助我
 +在NB 部門內介紹這項功能.
 +
 +幸運的是,​ 當時 Toshiba 推出強調色澤鮮艷的 Qosmio NoteBook,
 +該 NB 加裝 1 顆我以前摸過的 Trident LCD-TV Chip, 用來處理色彩運算.
 +而公司代工的另一家日系公司也想要有類似功能. 要求 NB team 評估
 +用日本 Jepico 影像處理 IC 在其代工 NB 上的可能性.
 +
 +就在日系公司派出技術科長來台灣,​ 討論代工 NB 的技術相關問題時.
 +IC 子公司透過高層主管安排,​ 向其 demo 他們開發的色彩軟體功能.
 +而我是幸好有該 PM 的私下安排,​ 向日本科長展示 Cameleon.
 +
 +雖然IC 子公司想透過高層主管的政治影響力,​ 來左右日系公司的選擇.
 +但在看過 IC 子公司, Cameleon, 及 Jepico 3 種解決方案後,​
 +基於擴充性,​ 效能, 及價格的考量. 日系公司決定採用 Cameleon,
 +並派出其 TV 部門技師,​ 提供調校色彩參數,​ 來配合 Cameleon 使用,
 +正式導入在日本銷售的 NB 上.
 +
 +因為日系公司採用,​ 形成強而有力的背書,​ 原先反對的人都默不出聲,​
 +順利消除 NB 部門內部阻力,​ Sales 部門將 Cameleon 改名為
 +Video Splendid, 如同 Asus ACPI Driver 般, 成為公司 NB 的基本功能.
 +
 +由於 Jerry 所轄的 VGA/​Barebone 部門主管,​ 無意朝創新發展,​ 只優先衝產量.
 +外加看到 XBox 360/ PS 3 研發售價消息不斷冒出,​ 以及 LCD-TV 低價化.
 +魔獸爭霸也放出消息要移植到 Xbox 360 上時, 我判斷
 +高階 VGA 卡, DMA 及客廳式 PC, 絕對不是Xbox 360/ PS 3 的對手.
 +
 +試問當一台 Blue-Ray BD, 40 GB HDD, WLAN 801g 無線上網,​ 3 顆 CPU 的 PS3
 +只賣台幣 1 萬 4 千時, 還會有多少人去買 1 張 1 萬多元的高階 VGA 卡 ?
 +
 +MS 跟 Sony 可以賣一台虧一台,​ 以後靠 content service 跟 game license
 +來獲利. 但 Dell, HP, Acer, Asus 有可能虧錢賣 PC/NB/VGA 嗎 ?
 +
 +NB 市場的 VGA 方案都是內建,​ VGA 卡公司是看的到吃不著.
 +同時 NB 長力道已經逐步趕上 Desktop 時. 看不出有其它位來發展機會,​
 +於是離開 VGA 部門, 轉調到以系統為主的 NB 部門.
 +
 +
 +---------------------------------------------------------------------
 +公司一變大,​ 一些事情再也不是以技術優劣來考量. 原先以為在 NB Team
 +可以開發第 2 代的 ACPI Driver 及 Video Splenedid, 尤其是 ACPI BIOS
 +已經出到 3.0B 版, 而 ASUS ACPI Driver 還停留在 7 年前的 ACPI BIOS 1.0 時.
 +
 +但這些想法都被 NB 軟體大主管拒絕. 有次討論工廠測試流程時,​
 +還跟我解釋 ACPI Driver 的功能. 當時心想,​ 他還以為 ACPI Driver
 +真的是他手下自行開發出來的.
 +
 +在不被重用,​ 近乎被冷凍的狀況下. 又開始自己找事做,​ 看到大部分人
 +用 NB 時, 通常是用 Mouse 居多, 而 TouchPad 就白白浪費在那邊.
 +加上當時 iPod的觸控螢幕功能造成熱門話題. 所以交代部下去搞個將
 +TouchPad 當 Touch Panel 用的程式並申請專利.
 +
 +結果搞出來後,​ PM 對其興趣缺缺. 但卻沒料到,​過 1 年半後, 在
 +2008 年 CES show 展上, NB Sales 把這個 TouchPad 功能當成一個賣點.
 +
 +因從 2004 WinHEC 資料得知,​ 微軟即將力推 MCE 2005 跟 Vista Premium
 +(code name Diamond), 會拉升 NB 對 TV 功能需求. 又看到大陸工資成長的趨勢,​
 +及公司內部如火如荼的 LSS 精實運動. 我想到用軟體自動化來做工廠檢測.
 +
 +當時 NB工廠大多依賴人工作檢測,​ 無法有精確的量化數據. 在 6 Sigma 的
 +DMCIA 步驟中, 需有 M (Measurement) 步驟提供量化數據,​ 以統計手法分析,​
 +作為方案效果評估,​ 來找出引起品質差異化的關鍵.
 +
 +假想若能提供每月數十萬台的 NB 測試量化數據來加以分析,​ 又能
 +加速測試流程,​ 減少作業員需求量. 對公司的硬體設計,​ 供應商的
 +電子元件良率控制,​ 應當有所幫助.
 +
 +於是實際到工廠待一個下午,​ 發現作業員真辛苦,​ 因為工廠沒能力去寫測試程式,​
 +為了測試 TV, Camera, Audio 的功能, 須操作繁複設定的商用應用程式
 +(IVI Home Theate, Cyberlink Power Cinema, 3D Mark 2003), 以人眼人耳去判斷,​
 +
 +而長期沿用 DOS/​Assembly 的單工觀念,​ 將刺是測試幾個小站,​ 一站一站去測,​
 +絲毫沒利用到目前 CPU/Windows 的多工能力,​ 也無法執行驅動程式來
 +測試 device 功能. 而在測試聲音時,​ NB 啦叭跟機具運轉的噪音,​ 此起彼落,​
 +真是個惡劣工作環境.
 +
 +於是回來後寫個快速測試 TV/camera 的程式, 交給部屬,​ 由他修改介面,​
 +依工廠需求,​ 協助導入 Digital/​Analog TV 軟體檢測,​ 因 MCE 2005/Vista Premium
 +的 NB 產量持續成長,​ 對 TV 的檢測需求,​ 大幅成長. 這套方便的 TV/Camera
 +檢測程式很快就正式導入 NB 生產線, 頗受作業員的歡迎.
 +
 +受到順利導入的鼓舞,​ 我計畫接下來開發 Audio, WLAN, BlueTooth 等檢測功能.
 +再度請出 Google 大神, 上網查聲音相關的論文跟原理文章,​ 最後使用麻省
 +理工學院的快速複利葉轉換程式庫( MIT FFTW), 以及參考普林斯頓聲音研究室
 +( Princeton Sound Lab)的公開原始碼,​ 在 DirectSound 上寫一個可同時測
 +錄放音功能的快速聲頻檢測程式,​ 來檢測 NB 聲音輸出入 的 Channel Balance,
 +Frequency Response, Total Harmonic Distortion, Back Ground Noise Level 品質.
 +為了確保聲音檢測的正確性,​ 我拿商用音頻測試軟體 SpectraLab 來比對.
 +
 +但是要導入時,​ 又發生政治因素,​ 讓快速音頻檢測程式無法上線.
 +軟體主管單位擺明,​ 要導入的話,​ 就把原始碼全部公開給他們,​ 並提供訓練課程.
 +不然的話,​ 就別想導入.
 +
 +
 +大概因接 2 連 3 惹毛其他軟體部門,​ 造成 NB 新主管在管理上的困擾.
 +最後他丟個 PC Camera 的案子給我做. 並告訴我只准做這個案子,​ 不要再亂想
 +或亂碰其他案子,​ 免得跟其他部門起衝突.
 +好吧, 反正不是第一次,​ 我再度發揮苦中尋樂精神,​ 自我尋找技術人員的樂趣.
 +
 +於是跟幾家 Camera USB IC 公司接洽,​ 初期因剛接觸 PC Camera 領域,
 +對相關技術不懂. 於是把 PC Camera 整個軟硬體架構拆解掉,​ 從 Lens, CMOS sensor,
 +步進馬達,​ USB IC, UVC/WDM Capture driver, KsProxy, DirectShow 等硬韌軟體功能,​
 +從頭到尾走過一次.
 +
 +知道影像清晰度跟色彩對 camera 非常重要,​ 就花時間做快速 Auto Focus,
 +因嫌 USB IC 的清晰度判斷能力太爛,​ 自己寫 MTF base 清晰判斷程式來取代.
 +並上網去讀 Glass/​Plastic Len 鍍膜對色彩的影響,​ 以及 CCD vs CMOS sensor 的
 +色彩處理物理特性的優略點分析.
 +
 +甚至到最後,​ 覺得 CMOS sensor 的硬體色彩處理功能 (3x3 matrix process),
 +還是無法真正解決色偏問題,​ 還找到 Nikkon 的色彩處理晶片專利文章,​
 +來了解 Nikkon 單眼相機對色偏的解法.
 +
 +在看過 Micron CMOS Sensor 2020 的 datasheet 及 USB UVC Spec 後,
 +花了 2, 3 個月, 去修改 USB IC 8051 firmware, 利用 UVC Extension 介面
 +從 Windows App 關掉 USB IC 的功能, 直接去 program CMOS sensor.
 +才發覺原來一開始被 USB IC 公司的 sales 給呼?了.
 +
 +原來 USB IC 公司把 Micron 2020 優異的硬體功能關掉,​ 只開自家 IC
 +的影像處理功能. 而 Sales 宣稱其因 IC 具有特殊的附加功能,​
 +如 AWB, Scaling, Sharpness detection 等, 所以要賣得比較貴.
 +
 +但單純從運算速度來看,​ USB IC 的 8051 根本比不上 Micron 2020 的 68H11.
 +而這些功能可以被 CMOS sensor, VGA Scaling 及 Window App 所取代,
 +而且效果遠遠超過它.
 +
 +因 PC Camera 硬體設計進度一直拖延,​ 要做不做的. 一直等也不是辦法.
 +為了證明自己不是只會放砲愛吹牛,​ 寫虛擬攝影機驅動程式,​
 +用 UVC Extension 介面去控制步進馬達,​ 做出快速自動對焦.
 +(1.2 秒, 可以更快,​ 但受限於馬達步進機構精密度的缺陷)
 +
 +將擷取到的畫面導入 VGA Vertex/​Pixel Shader, 去做 face detection.
 +同時研讀微軟北京軟體學院的電子白板相關論文. 想將電子白板的功能
 +導入虛擬攝影機驅動程式. 但最後還是看出主管並無心去推動這個案子.
 +
 +經過 WinFlash, Asus ACPI Driver, Video Splendid 的推動經驗後,​
 +我已經對由內部推動創新的方法絕望,​ 都要靠外部的市場壓力,​
 +來彌平內部阻力,​ 一些被 PM/RD 主管輕視的軟體功能才能出頭.
 +
 +這時興起辭職去其他系統廠發展的想法. 但就如同電影"​東方不敗"​中所說 :
 +"​江湖在哪裡?​ 有人的地方就有江湖 !"
 +
 +其他系統廠也會存在相同狀況,​ 如果沒有總經理級的支持,​ 到時候鐵定
 +也是被排擠的份. 在華碩起碼還有 HC 知道我是會做事的人.
 +還好過沒多久,​ 果真 HC 就暗中幫了我一把.
 +
 +
 +---------------------------------------------------------------------
 +2007 年四月某晚 8 點多時, 接到 Jerry 秘書的電話,​ 說要找我一起吃飯.
 +搭著 Jerry 的 Lexus 460 LS 加長豪華版,​ 去台北藝術大學吃飯.
 +席間才得知,​ 原來 Jonney 交代 Jerry 去執行百元電腦計畫,​ 但 Jonney
 +一直對軟體部分放心不下,​ 要 Jerry特別留意,​ Jerry 就請 HC 推薦合適
 +的軟體人員來幫他看軟體這一塊.
 +
 +雖然 HC 大力推薦,​ 但 Jerry 擔心我常跟其他軟體部門有磨擦,​ HC 反問他,
 +是要找一個會打仗,​ 攻山頭的人(對啦,​ 這種人死的最快,​ 無法享受勝利成果),​
 +還是守成,​ 注重部門和諧圓容的主管 (割稻尾最在行,​ 處世圓融,​ 見縫插針).
 +幾經思考後,​ Jerry 最後還是找上我.
 +
 +其實在 2007 年 1 月時, Jerry 因底下的 PM 不懂軟體,​ 就叫我幫他看
 +數位像框的發展機會,​ 我經過 2 天的技術 survey 後, 建議他取消,​
 +因以其成本,​ 大可做一台 Thin Client 或 WebPAD. 如果真得要做,​
 +建議 PM 考慮用 VIA C3 CPU + Linux 來開發.
 +
 +而邀請 VIA CPU Sale 來開會時,​ 負責 AMD 百元電腦的 PM 也跑來插花.
 +後因華碩跟 VIA, AMD 價格談不攏,​ 最後連百元電腦的案子都停矲.
 +所幸 Intel 看到 AMD 在 OLPC 上的聲勢,​ 為防止 AMD 鹹魚翻身,​
 +就跟華碩合作,​ 進入百元電腦市場,​ 而使這台小電腦起死回生.
 +
 +餐敘後隔天就跟 PM, MID 等相關人員,​ 一起被關到北投春天酒店.
 +2 天後趕出百元電腦的UI/​軟體功能規格初稿.
 +(吃了兩天的生魚片,​ 真得有點反胃)
 +
 +那時候公司內部並不看好百元電腦的前途,​ 只好用我們這群從四處徵招來
 +的散兵游勇來執行. 但因這是 Jonney 非常重視的案子,​ 使 Jerry 認真執行,​
 +一個星期開 3 次會, 常常開到凌晨.
 +
 +當時也不知道百元電腦會不會起來,​ 但與其繼續待在 NB team 被冰凍,
 +到不如把握這個機會闖一闖. 百元電腦是個人人不看好的案子,​
 +沒有高官想進來插旗佔山頭,​ 完全沒有歷史包袱. 只有一群笨蛋,​
 +傻傻的做. 有點像在公司內部創業的感覺,​ 如同 VGA 部門剛成立時一樣,​
 +大家只想把東西做好. Just Do It! 而不會去想些有的沒的,​ 非技術性的事情.
 +
 +出關後, 上網查一下 Intel 對百元電腦的策略,​ 結果發現另一個消息,​
 +原來 Intel 老早把 Xscale CPU 賣給 MARVEL, 全力專攻 X86 CPU 的省電技術,​
 +並在以色列海法分部進行該專案.
 +
 +雖然那時 HC 知道我想換部門,​ 叫我去幫他看車用電腦這一塊,​ 但他底下
 +也有山頭問題,​ 犯不著跟那些人玩政治. 而且我覺得跟隨 Intel 腳步比較有搞頭,​
 +如同宏達電跟隨微軟般. 新興的產品,​ 有大公司在背後推,​ 才有機會成功.
 +
 +所以就接受 Jerry 的邀約, 加入百元電腦團隊. 忙了 1 個月多月後,​ 在 2007 年
 +台北電腦國際展上,​ Jonney 拿出這一部百元電腦亮相,​ 並正式命名為 Eee PC.
 +
 +
 +EeePC 會不會是曇花一現,​ 或是乘勢崛起,​ 我不曉得. 但我個人相信,​
 +在 UMPC/MID 這塊領域能存活下來而且能獲利的,​ 必定是
 +強調系統整合功能的公司,​ 絕對不是只相想靠低價成本搶單的公司.
 +
 +我非常佩服宏達電,​ 死死跟著 MS 的 Window Mobile 平台. 跟到第 4 年時,
 +公司差點倒閉. 因而引進王雪紅的資金. 但等到 WinCE 3.0 夠穩定,
 +能拿出來賣時,​ 宏達電是第一家有量產能力的公司.
 +同時它也聘請許多軟體工程師來做系統整合.
 +
 +當宏達電推自有品牌時,​ 一堆分析師看衰. 但因系統整合難度高,​
 +其他手機代工公司是看的到,​ 吃不著. 後來連原先解約的電信公司,​
 +迫於市場現實壓力,​ 也回頭找它代工,​ 甚至直接貼牌.
 +
 +我是天生反骨,​ 在 WinTel 體制下討生活討了 10 年, 因為了解所以不滿,​
 +對其架構,​ 越看越不順眼. 在我眼中,​ EeePC 應是屬消費性電子產品,​
 +但又需具有 PC 般的擴充能力. 能執行現有 Linux/​Windows 龐大的
 +X86 base 軟體, 讓 User 可以自行添加自己慣用的軟體. 而不會像
 +PDA, 手機般, 被綁得死死.
 +
 +若按照傳統 NB 的觀念來設計,​ 鐵定無法持續穩住目前的地位.
 +競爭對手只要猛攻低價化,​ 體積小的罩門,​ 很快就追上來.
 +
 +現階段 EeePC 競爭對手,​ 都是以硬體成本來挑戰 EeePC .
 +談硬體成本(CPU,​ Panel, Battery)的功力,​ Acer, HP, Dell 會輸華碩嗎 ?
 +談垂直整合生產製造,​ 鴻海會輸華碩嗎 ?
 +更何況還有 Apple 神秘的 iBook.
 +
 +等 2008 年 Q2/Q3 這些重量級廠商的類似產品陸續出籠後,​
 +必定是一場大廝殺. 策略不對,​ 研發能力不強化的話,​ EeePC 鐵定被痛宰 !
 +或許現在一些的好消息,​ 讓華碩一些人飄飄然,​ 我可是蠻憂心,​ 挫著等.
 +
 +若 EeePC 朝更輕更薄,​ 更穩定, 更省電, 更快速開關機,​ 影音品質更好,​
 +螢幕更大,​ 操作介面更人性化,​ 而且能控制住價格. 或許能產生許多差異性
 +系統功能來持續吸引 USER 的眼光.
 +
 +其中系統穩定/​省電功能/​影音品質/​人機操作介面,​ 軟體都可以幫的上忙.
 +
 +
 +當然, 打嘴砲想當官性格的我,​ 一定會考慮到:​
 +
 +沒人逼你做,​ 卻笨到自己主動挖個洞,​ 往下跳. 給自己找麻煩.
 +做出來, 沒人感激你,​ 反而還惹毛一些人.
 +做不出來,​ 別人逮到機會落井下石,​ 說你是大嘴巴,​ 愛吹牛.
 +若乖乖按照現有 NB 業界的安全方法來做,​ 跟大家都一樣.
 +老闆拿不出對照組來評估,​ 當然滿意你的績效.
 +
 +如同銀行的資訊長愛用 IBM 的軟體, 如果出問題,​ 他可說國際級銀行都用 IBM,
 +拿其他銀行來當擋箭牌. 採用一家名不經傳,​ 可以省 200 萬成本的本土資訊廠商方案,​
 +萬一出錯,​ 讓銀行賠上幾千萬時,​ 鐵定被迫辭職或降級. 老狐狸的資訊長當然打安全牌.
 +
 +
 +但工程師性格的我會想:​
 +
 +如果在相同硬體成本下,​ 能用軟體充分發揮整所有硬體功能,​
 +創造出更多附加價值,​ 而且軟體成本是在人事上,​ 賣 1 萬台跟賣 100 萬台,
 +是相同的成本. 當 CPU/VGA 硬體能力成長時,​ 軟體功能也隨之成長,​
 +而且是以加速度來成長.
 +
 +另一方面,​ 軟體也可用來壓低硬體成本. PS3 因用軟體搞定 PS2 相容問題,​
 +而省下 PS2 Chip 的成本. 那 EeePC 可不可以如法泡製 ?
 +若有 5 成把握, 我就放手一搏. 只要一台省下 1 塊美金硬體成本,​
 +賣 300 萬台 就省下台幣 9000 萬, 若失敗, 只是多花 2 個人月的成本,​
 +這個算盤實在是太划算!
 +
 +而這些觀念也獲得一名協理的支持,​ 幫忙我跟 BIOS/HW 部門溝通.
 +要是我出面的話,​ 根本沒人鳥我.
 +
 +這位協理,​ 以前華碩還小時,​ 我就跟他有過幾次合作經驗.
 +這次被關到北投春天酒店,​ 他 review 某個卡了1 個多月的軟體問題時,​
 +我馬上提出解法. 2 個小時後,​ RD 回報已經解掉問題,​ 給他留深刻下印象.
 +後來在正式成立 EeePC 事業處之時,​ 他在 Jerry 面前也幫了我不少忙.
 +
 +
 +---------------------------------------------------------------------
 +一些 PM 開規格時,​ 因沒有深厚的技術背景,​ 為打安全牌,​ 常常就是:​
 +
 +1. 照抄大廠 (DELL, HP, Acer) 的規格
 +2. 照收 WinTel 的 roadmap.
 +3. 照收 component/​software 廠商的 solution.
 +
 +例如每家都配訊連的 PowerDVD, 在 UI 上打上公司 LOGO 來自欺欺人
 +這種做法只能做到消極防禦,​ 無法積極攻擊競爭對手.
 +搞到最後,​ 大家功能都一模一樣,​ 只爽到訊連.
 +
 +而 Microsoft 在 MCE 2005 上推的 SideShow, 其起因是
 +PortPlayer 的 MP3 chip 被 Apple 取消用在 iPod上, 而改用 Samsung 的.
 +為了活下去,​ 它就跑去向 Microsoft 努力推銷 SideShow 觀念.
 +
 +SideShow 說穿了, 就是把 PortPlayer 的 MP3 Player (成本 US $50)
 +黏在 NB 背板上, 讓 NB 同時有 X86 CPU 跟 ARM CPU. 當 X86 CPU 關掉時,
 +可用 ARM CPU 的 SideShow 功能來看 picture, 聽 MP3, 和看 e-mail 通知.
 +
 +有沒有搞錯 ? 隨身攜帶的手機都可以做這些事. 一般 User/ 根本不需要
 +這種華而無用的功能,​ 而且 SideShow 一直開著會耗掉 NB 電源.
 +在 NB 上加 SideShow, 獲利者是 PortPlayer, 而倒楣的是 NB 廠.
 +
 +在 EeePC 會議上, PM 計畫導入某家 PCI-E 3G 無線網卡,​ 內建在 EeePC.
 +同時要求軟體團隊來協助. 有沒有搞錯 ? 應該是這家公司要從頭包到尾,​
 +自行負責,​ 它如果做不來,​ 還有其他家的方案. 哪有動用內部資源去幫
 +外面公司賺錢的道理. PM 到底是領 EeePC 部門的薪水,​ 還是外面公司的薪水 ?
 +
 +在會議上我就開砲,​ 認為最重要的是,​ 趕快推出內建 BlueTooth,
 +跟能輕鬆與各家 3G 手機連線的軟體. 不必為 3G 上網的功能,​ 還要讓 USER
 +負擔 3,4 千元去買額外的 USB/PCI-E 3G 硬體. 況且用 3G 手機, 可馬上解決:​
 +
 +1. 全球各國 Field Test 的問題
 +2. 高速移動時的連線品質,​
 +3. 讓 3G 手機的電池去負擔天線/​3G Chip 的電源, 不用耗掉 EeePC 的電力.
 +
 +便宜, 好用 又省電. 對 EeePC 價格, 軟體團隊,​ 及 User, 是三贏的局面.
 +
 +就是這種雞婆個性,​ 常常撈過界,​ 挑戰別人的專業,​ 無意間就得罪別人.
 +但我覺得,​ 工作除了賺錢,​ 還要有理想,​ 外帶對自我技術的提升,​
 +看看自己的底限為何. 如果自己多花些時間,​ 從使用者的角度,​
 +來改善產品品質,​ 幫 user 省錢. 而不是已交差了事的心態來做事.
 +當參與開發的產品能大賣時,​ 多分些 Bonus, 能獲得工程師最好的
 +工作滿足感跟合理報酬
 +
 +Jerry 看到 EeePC 大受歡迎,​ 衝到 Amazone 網站最受歡迎 NB 的第一名時,​
 +決定把這堆妾身未明的散兵游勇組織起來,​ 成為正規軍.
 +於是成立EeePC 事業處, 地位跟規模將與 NB/​MB/​手機事業處平起平坐.
 +
 +
 +---------------------------------------------------------------------
 +原先我喜歡當工程師,​ 獨自躲在安靜的角落,​ 把上級交代的事做完後,​
 +就天馬行空想新點子,​ 上網找資料看論文,​ 然後動手實作出來.
 +坦白說, 軟體工程師是蠻幸福的,​ 只需一台 PC, 有上網環境,​ 就可以
 +實踐創意. 不需像硬體工程師需要一堆設備跟很多單位配合,​ 才能動手.
 +
 +然而經歷過 6 年不受重視被冰凍的職場生涯後,​ 我的態度改變了.
 +
 +公司規模變很大後,​ 一些事情都慢慢變複雜,​ 日後能給我自由空間發揮
 +的直屬高級主管恐怕也不多見. 而且遇上一些案子,​ 高層會先考量需求
 +的研發/​維護人力,​ 來交給一個 team, 而非一個人來執行.
 +
 +工程師的我永遠是邊緣人,​ 只有發生問題解不掉時,​ 才會想到我.
 +而論功行賞,​ 封官加爵時,​ 根本忘記我的存在,​ 鐵定沒我的份.
 +
 +成立有戰鬥力的研發團隊,​ 是很費時費力,​ 還要靠運氣(產品大賣).
 +但要摧毀它,​ 只需派個只會打嘴砲的主管,​ 不出半年,​ 很快就搞定.
 +
 +與其如此,​ 倒不如自己出任管理階層,​ 參與高層主管決策,​ 來爭取預算,​
 +在自己業務範圍內,​ 營造出良好軟體開發環境,​ 吸引志同道合的 RD,
 +將所學 10 幾年的軟體經驗承傳下去,​ 為公司培養具執行能力的中階幹部,​
 +來擔任士官長的角色. 只要具工程師性格,​ 有創意跟執行力的中階主管,​
 +越來越多時,​ 我在公司內部,​ 才不會到處被視為麻煩製造者.
 +
 +若 EeePC 打算要衝出 500 百萬台的大量,​ 需要成立更多課級單位,​
 +應付現階段出貨需求,​ 著手開發未來次代機種,​ 以及研發新軟體技術,​
 +拉高技術競爭門檻,​ 降低生產成本. 到時候就急需一群能獨立作戰,​
 +充分授權的士官長來貫測執行.
 +
 +軟體產業不是比人多,​ 而是比頭腦好的產業. 派個沒實務經驗的
 +軟體主管,​ 馬上去大陸找一堆 2, 3 百個軟體人員來成立軟體部門,​
 +沒有 20 幾個中階幹部來有組織規劃,​ 落實執行,​ 鐵定是一場災難.
 +
 +我原本打算只成立小型團隊,​ 從 2007 年 7 月時慢慢找,​ 才找到一些
 +合適人員. 但因接下來 EeePC 的延生機種,​ 系統客制化,​ 以及相關
 +軟體的開發,​ 讓高層一直催促我要儲備更多的軟體人才,​ 來應付未來
 +的產品規劃.
 +
 +要加人可以,​ 但我要高層先答應,​ 以後分 Bonus 時, 是要看部門績效,​
 +而不是數人頭. 如果我夠厲害,​ 其他軟體部門要用 10 個人做的績效,​
 +而我能用 4 個人搞定. 到時就分 7 個人的 quota 給這 4 個人.
 +
 +如此公司可省 3 個人事成本,​ 而有實質貢獻的 RD 可拿到較好薪水,​
 +願意長期待下來,​ 自我提升技術,​ 創造更多競爭力. 造成雙贏局面.
 +
 +另一方面,​ 若 EeePC 未來銷售不如預期,​ 養不起這麼多軟體工程師時,​
 +我還能確保部門內 RD 的薪資能優於其他部門,​ 不用辭退多餘人力.
 +
 +為了引進更多志同道合的夥伴,​ 極力向高層推薦老戰友 Alex,
 +Alex 在華碩任職期間,​ 曾做過 WebPAD, PDA, SmartPhone 等案子,
 +後因政治因素辭職去 BenQ, BenQ 的第一代 MP3 Player, 就是他做起來的.
 +最後也因政治因素,​ 鬥不過 BenQ PM 而回鍋華碩.
 +(也就是有他這個案例,​ 我才打消辭職念頭,​ 繼續龜縮在華碩內,​ 等待機會)
 +
 +他對 Embedded System 硬體架構/​省電功能相當清楚,​ 我跟他合作過
 +2 款 WebPAD, 彼此具強烈工程師性格,​ 在系統功能設計上有相同看法.
 +而他歸到 EeePC 事業處後,​ 馬上就抓出一些硬體線路漏電問題,​
 +作為改版及次代機種的改善目標.
 +
 +我建構軟體部門的想法是:​
 +
 +1. 以驅動程式或跟硬體綁在一起的應用程式為主,​ 向外延伸.
 +2. 用軟體手段來求系統穩定,​ 省電.
 +3. 用軟體手段來降低生產成本.
 +4. 用軟體來降低硬體設計成本,​ 並能提供更多的附加功能.
 +5. 成立 “軟體 IC” team, 研究 algorithm 搭配既有的硬體設計,​
 +在不增加任何硬體成本下,​ 用軟體手段提升 EeePC 影音品質.
 +
 +越老鳥的 Programmer 越謙虛, 因為越清楚自己的能力底線.
 +全球 Open Soucrce 高手的功力是遠遠勝過華碩軟體工程師.
 +要跟他們拼純軟體應用程式開發功力,​ 無異以卵擊石.
 +但因公司機密,​ 無法讓他們取得 EeePC 硬體設計圖及相關 IC 規格.
 +而這就是華碩軟體工程師能發揮最大價值的所在點:​
 +
 +幫 Open Soucrce 高手解決硬體相關問題,​ 提供 Library 讓他們使用.
 +使他們隨心所欲改機,​ 修改軟體,​ 很容易將其他 OS移植到 EeePC.
 +
 +
 +---------------------------------------------------------------------
 +雖然 EeePC 事業處另有軟體部門負責 Linux, 而我是負責 Windows,
 +但我極力爭取在部門內成立 2 個 Linux 開發課.
 +
 +為此, 找到網通大廠及 IC 公司的兩位中階軟體幹部,​ 來負責 Linux
 +系統穩定度,​ 驅動程式,​ 跟工廠生產測試軟體等開發工作.
 +
 +工欲善其事,​ 必先利其器. 為了趕快進入狀況,​ 花了 1 個多月,
 +評估 MontaVista 的系統開發工具,​ 並派 RD 與其合作,​ 把該套工具從
 +MontaVista Linux kernel 移植到到 Xandros kernel 上.
 +有個 source code level, remote debugging 的開發環境,​
 +遠比用 printk deug kernel/​driver 方法來的精準快速.
 +
 +打算用 Embedded Linux 手機穩定度的水準,​ 來要求 EeePC Linux 系統穩定度.
 +Linux 上沒有像 MS 在上億台 PC 上執行過的 WHQL/​HCT/​DTM 系統測試程式.
 +商用專業軟體工程師跟志工性質工程師做出來的系統測試程式,​
 +兩者在性能,​可靠度,​ 後續維護,​ 跟技術問題諮詢上,​ 是有很大差距的.
 +
 +而且 MontaVista 有多款 Embedded Linux 手機的成功開發經驗.
 +雖然花上百萬來買這套開發軟體,​ 我覺得非常值得.
 +現在隨便一個沒經驗剛畢業碩士的人事成本,​ 鐵定比它還貴,​
 +而對案子的幫助鐵定遠遠比不上這套工具.
 +
 +如果 EeePC量夠大,​ 這些 Linux Device Driver RD 也都 tune 上來時.
 +到時候計畫成立一個 EeePC Linux Device Driver Certification 課,
 +要上 EeePC Linux 的 device driver 需先經過這個課來驗證.
 +並同時為 Ubuntu 跟 Google Andriod 的移植來鋪路.
 +
 +從 Google 放出 Android 的 source code 後, 我就一直對它念念不忘.
 +不出 5 年, Google 必定取代 MS, 而且還會比 MS 更恐怖.
 +
 +Google 不對 user 收任何費用,​ 它是向廣告廠商,​ content provider 收費.
 +只要 Android 舖的越多,​ 內建到更多能上網的前端便宜 device
 +(手機, Settop Box, MID, UMPC, PC, NB, Game consle), 提供更好更快速的
 +後端 server 功能及頻寬. 那還有誰想想用手機的視訊,​ 訂票, 看電視,
 +查餐廳/​停車場等付費數據服務 ? 更何況還有跟 Google Map 結合的
 +免費地圖導航功能.
 +
 +打不過對方,​ 就加入它,​ 利用它的力量. 站在巨人的肩膀,​ 才能看的更遠.
 +不然就會被巨人一腳踩死. 等量產相關工作都搞定後,​ 我一定親自下海,​
 +加派人力來做這一塊.
 +
 +
 +對工廠軟體下載跟自動化測試軟體的開發,​ 我非常注重.
 +軟體不只可以增加附加價值,​ , 還可以降低生產成本.
 +
 +12 月因 EeePC 生產不順,​ 兩次去上海工廠看問題,​ 發現有太多改善的空間.
 +負責生產的工廠單位,​ 以前接過 Apple Mac NB 的代工案,​ 見識過 Apple 的
 +軟體生產測試工具的效能. 當我提出這個觀念時,​ 他們極力贊成,​
 +還一直逼問我何時可以導入,​ 完全不像其他單位的極力抵抗.
 +
 +有執行單位主管的全力配合,​ 這個案子已經成功一半了.
 +接下來就看我這個部門爭不爭氣,​ 來兌現支票.
 +
 +2008 年大陸頒布的新勞動合同法,​ 會增加生產成本,​ 現在一堆台商
 +搬去越南來避開,​ 那是不是以後遇到相同問題時,​ 要搬去孟加拉 or 非洲 ?
 +而且以後衝量時,​ 有可能下單到其他代工廠. 如果能將生產相關的
 +軟體技術,​ 掌握在手裡,​ 可以避開人力成本跟加快其他代工廠上線速度.
 +
 +若每台生產成本因而省下 1 元美金. 200 萬台就可省下 6400 萬台幣.
 +只要公司撥一半給我這個部門當 Bonus, 大家雖然累,​ 但是會累的很快樂,​
 +累的很有成就感. 不會累的很幹.
 +
 +現請一位主任,​ 先在台北架起一個工廠軟體下載生產測試的模擬環境,​
 +等把相關軟體開發測試過,​ 覺得有把握時,​ 再去大陸工廠實地上線測試.
 +
 +PM 規劃下一代 EeePC 時, 決定加入 TouchPanel 功能.
 +找來廠商來報價,​ 結果報一個離譜價格,​ 對方解釋是因
 +需要一顆 USB IC 跟相關觸控軟體程式.
 +XD! 是欺負華碩沒有懂軟體的人,​ 來亂開價的嗎 ?
 +
 +會後馬上交代一位高工,​ 叫他把 USB IC 拔掉, 照以前寫 WebPAD
 +觸控螢幕的驅動程式觀念,​ 來降低 Touch Panel 成本.
 +
 +程式設計俱樂部網站 (www.programmer-club.com)上,​
 +在“用軟體模擬虛擬攝影機的硬體” 討論串中,​ 我就提出類似用
 +軟體模擬來節省硬體成本的觀念. 結果引起某家 IC RD 的對嗆,
 +說要尊重 IC 公司的智財權等等.
 +
 +就是系統廠 PM 沒經驗, 太好騙, 才讓這些公司獲取暴利.
 +同時也讓 IC 公司的 SW RD 瞧不起系統廠 SW RD 的功力.
 +在 EeePC 上, 如同在 NB 上用 Video Splendid 取代 Jepico IC 般,
 +我鐵定盡全力,​ 用軟體手段,​ 讓這些公司只能獲取合理報酬.
 +同時萬一要發動價格仗時,​ 也讓華碩有更多本錢跟對手硬拼.
 +
 +為達到人盡其才,​ 落實 RD 要幹 RD 的事, 而不變為領高薪的 QT,
 +我從 QT 部門挑出兩位學士測試工程師,​ 交由華梵大學畢業的副課長帶領,​
 +讓他們負責 WHQL Test, WinXP image, 在 WinPE/XPE 上撰寫測試程式,​
 +而他們表現完全不輸碩士級工程師. 讓我意外驚喜,​ 有物超所值的感覺.
 +
 +我給他們的任務是,​ 盡量用軟體手段改善流程,​ 來應付大量 XP image 製作,
 +而不是用人海戰術來應付. 薪水分紅將比照碩士工程師水準來調整.
 +
 +為了用以往 DVD Recorder/​LCD-TV 的開發經驗,​ 來改善影音品質,​
 +我找了交大應屆畢業資訊工程博士跟另一名寫 3D Game 的學士,
 +合作開發 "​軟體 IC".
 +
 +原本給他們的 schedule 是半年將 Video Splendid 1.0 移植到到 EeePC
 +(為了 7 月打考績時能向高層證明),​ 一年後推出Video Splendid 2.0.
 +結果花 3 個月他們就移植出來,​ 並且還寫出第 2 代 的 prototype.
 +真的是江山代有人出,​ 讓我突然覺得老了.
 +
 +OLPC 的 EC firmware RD 也應邀加入. 為等他把 OLPC EC 處裡完,
 +我等了 3 個月. 因他有 x86 BIOS, Window Application,​ 及 EC 的經驗.
 +只需把他教會 ACPI Driver 跟 device driver 相關技術,​ 以後我就可以
 +專注規劃從 Window Application/​ Device Driver/ ACPI BIOS/EC Firmware
 +一路打通的架構跟介面,​ 而由他去操刀執行,​ 配合 HW RD 的修改線路,​
 +希望能將以往在 Bulverde VC上 學到的省電設計經驗,​ 落實到 EeePC 上.
 +
 +
 +---------------------------------------------------------------------
 +或許有人認為我是在吹牛說大話,​ 但如同史蒂芬周說過的,​
 +
 +''​做人如果沒夢想 , 跟鹹魚有什麼兩樣...."​
 +
 +做 RD 就是要有這種 Guts. 做不出來,​ 頂多浪費 2,3 個月, 大家走回頭路,​
 +繼續當 WinTel 的順民, 乖乖照傳統 NB 的路子走,​
 +但若做出來,​ 競爭對手想要照抄,​ 可沒那麼容易抄.
 +
 +硬體線路或許可以照抄,​ 但散落藏在 App/​Driver/​ACPI BIOS/EC 中的軟體,​
 +可就沒那麼容易抄. 如同威騰可以抄襲聯發科的 DVD ROM server chip,
 +但無法抄襲其韌體. 於是原封不動將聯發科韌體套到自家的 chip 上,
 +結果被活逮,​ 判賠美金 5 千萬元.
 +
 +我沒有名校情節,​ 不會非台清交不用. 我在清交大的學業成績是吊車尾.
 +因為知道自己程度差,​ 所以非常用力拼研究所考試.
 +
 +在 "​我的 DDK 學習經驗”中說只要黑手工程師. 10 年後我還是說同樣的話.
 +部門只有 2 位是清交畢業的. 我重視的是做事態度,​ 學習能力以及最重要的績效.
 +
 +現在這些同事在加入團隊之初,​ 我就先說不保證高薪,​ 也不要以為 EeePC
 +可以一直熱賣下去. 要有較好的薪水,​ 就要靠大家努力,​ 為公司創造利潤.
 +
 +為防止保障年薪後,​ 馬上就在公司內擺爛,​ 讓主管對他無可奈何的現象.
 +我是不會採保障最低年薪的手段來聘人.
 +
 +鴻海處理這類應徵者是:​ 你敢拿我就敢給,​ 要高薪可以,​ 先達到業績再說,​
 +沒達到就一路打折下去,​ 從 1 千萬打折到最後只剩 100 萬, 天天逼進度,​
 +讓那些自以為身價非凡的人,​ 待不滿一年,​ 沒等到股票,​ 就主動辭職.
 +
 +就有個手機團隊從工研院跳到廣達,​ 然後跳到鴻海,​ 結果不到一年
 +就辭職回工研院.
 +
 +連我這個大頭目都要親自下海 coding,
 +不准團隊中存在只會打嘴炮,​ 不會做事的人.
 +就算以後幹到管理階層,​ 也絕對不能放掉技術的本. 自己沒技術能力,​
 +如何去帶領更菜的工程師,​ 看出部屬的錯誤之處.
 +又如何能著規格變化來持續改善或推出全新的軟體功能 ?
 +
 +沒有一套軟體功夫能讓你吃一輩子,​ 除非你壟斷產品的某個研發流程,​
 +建立山頭完全不讓別人進入來取代你. 讓上面的人想動你時,​
 +考慮到陣痛期的成本,​ 就不敢輕易開刀.
 +自己的官位跟薪水遠遠凌駕在公司整體利益之上.
 +大公司一代不如一代,​ 技術斷層,​ 山頭林立的現象,​ 就是這樣造成的.
 +
 +也告訴他們,​ 總經理公開宣示,​ 在華碩分家後,​ 會以績效作為分紅主要考量,​
 +大幅拉開 RD 間的待遇差距,​ 全力留住具競爭力的員工,​ 並且每年會 fire
 +不合適的員工,​ 來促進人才流動.
 +
 +若 EeePC 能在 2008 Q2/Q3 繼續站穩腳步,​ 我鐵定在大陸成立軟體團隊.
 +現在上 Google 查 device driver 相關的文章,​ 都出現一大堆量多質精
 +大陸軟體工程師寫的技術文章,​ 遠遠超過台灣軟體工程師的文章.
 +
 +5年前在蘇州成立軟體團隊時,​ 就感受到大陸工程師在困境中,​
 +力爭上游的精神. 在東北老家,​ 父母務農一個月才賺人民幣 200 元,
 +隻身到蘇州,​ 四個人擠在一間破套房內. 只能靠寫程式才有出頭的一天.
 +那種拼勁,​ 置死地而後復生的精神在台灣已不復見.
 +
 +當初還沒進華碩,​ 每月領資策會35 K 的死薪水,​ 租間在三重貧民區
 +的頂樓房子. 老婆懷孕 8 個月, 夏季時太陽曬在屋頂,​ 頂樓房子熱的像烤爐,​
 +怕開冷氣花錢,​ 就只穿條內褲,​ 吹電風扇,​ 假日窩在電腦前寫程式賺外快.
 +幫一家 CNC Controller 廠商寫 Win95 Device Driver, Sample Code, SDK Library,
 +Document, InstallShield 安裝程式. 那時候真的是拼勁十足,​ 程設功力突飛猛進.
 +
 +我想現在大陸還有一大群這種有拼勁,​ Programming 能力夠水準的軟體工程師.
 +如果把他們組織起來,​ 好好訓練,​ 並給予合適報酬. 只要抓住趨勢,​ 全力猛攻.
 +這個團隊的戰鬥力會相當驚人.
 +
 +
 +---------------------------------------------------------------------
 +在台灣, 繼前波藍領階級失業潮後,​ 白領階級也開始失業.
 +我就常收到失業的美國 40, 50 幾歲華裔軟體經理的履歷.
 +Andrew Grove 在 "Only the Paranoid Survive"​ 中寫到,
 +"​公司沒有天生就欠你一碗飯,​ 想吃飯就要靠自己去爭取"​.
 +
 +台灣的軟體工程師憑什麼要求高薪 ? 現在有些工程師是躲在大樹底下好乘涼,​
 +公司大員工多,​ 可以混水摸魚,​ 濫竽充數. 但你能躲多久 ?
 +等到 40 歲被辭退又找不到工作,​ 小孩教育費,​ 全家生活費,​ 20 年房貸都要錢.
 +到時候要怎麼辦 ?
 +
 +華碩低月薪,​ 高分紅(不一定高,​ 要看績效)在業界中是出了名的,​
 +當初兩位有家累,​ 房貸壓力,​ 30 好幾歲的高工,​ 衝著我畫出來的大餅,​
 +甘願減薪加入團隊. 對他們, 我有一份道義責任,​ 以前幹工程師,​
 +搞砸就只有自己吞苦果,​ 現在搞砸就有一堆人跟著倒楣.
 +
 +分家後, Jerry 定下遊戲條件:​ EeePC 事業處未達業績標準,​ 核心主管減薪 40%,
 +基層工程師不受影響. 相反地, 若超出預訂業績標準,​ 就以比例來多發分紅.
 +不久後就要跟他畫押留證據,​ 免得分紅時候,​ 空口無憑. 害慘底下這批工程師.
 +
 +我寧願用比華碩股票低的公司離職員工. 又套句史蒂芬周的話:​
 +
 +"​只要有心,​ 人人都是食神"​
 +
 +就算台清交畢業的 RD, 一星期就能搞定的案子,​ 只要有耐力,​ 有毅力, 有興趣,
 +若他願意花 2 個月來搞定. (況且現在網路上一大堆 open/sample code 可供參考)
 +1個, 2 個, 3 個案子.. 一直做下去,​ 到最後他的技術能力決不亞於偷懶的台清交碩士.
 +
 +我只聽過玩 Online Game 玩到暴斃,​ 還沒看過寫程式寫到暴斃的案例.
 +如果部屬寫程式寫出興趣寫到上癮,​ 就像玩 game 殺終極大魔王般,​
 +我根本不用管,​ 他自己就把案子做出超過我預期的效果.
 +
 +聯發科的開國元老原本在聯電中,​ 是被當皮球踢來踢去.
 +宏達電開張第 4 年, 資金燒光,​ 差點倒閉掉.
 +華碩在 Intel 放出要做 MB 消息時, 走掉一大批 RD.
 +在初創階段,​ 上述公司哪有本錢請素質超好的 RD ?
 +(華碩現在有兩位協理,​ 是光武工專跟淡江大學畢業的.)
 +但還不是最後被他們搞起,​ 做到股王.
 +
 +我想找的,​ 就是有理想,​ 肯學肯拼,​ 愛寫程式的 programmer.
 +因自知條件比不上台清交,​ 所以會謙虛會認命去拼未來.
 +而不是畢業名校,​ 待過大公司,​ 自命身價不凡的 programmer.
 +
 +我就是要這種拿穿草鞋的精神,​ 去跟穿皮鞋的公司拼.
 +用龍蝦鮑魚做出好菜不稀奇,​ 用青菜豆腐做得出來才厲害.
 +只要肯學,​ 程度不要太差,​ 我願意花上 1 年, 傳授 coding 經驗,
 +把他帶上來. 依績效給他對稱的待遇.
 +
 +
 +我印象非常深刻的事是,​ 有記者訪問朱經武博士(超導體先驅學者),​
 +說一星期只有一個晚上能休息,​ 會不會覺得太累,​ 結果他回答,​
 +
 +有人肯幫我買數億元的設備,​ 讓我做我喜歡做的事,​ 我高興都來不及了,​
 +怎麼會覺得累,​ 還覺得時間不夠用.
 +
 +所以有幾個這種部屬,​ 我就可以天天到其他部門,​ 串門泡茶啃瓜子.
 +
 +
 +---------------------------------------------------------------------
 +最近看的一本書 "​科技頑童沃茲尼克",​ 感受相當深刻,​ 心有戚戚焉.
 +
 +Worziak 提到他非常喜歡在 HP 當工程師,​ 而當 HP 成立專案,​
 +派出至少 5 個人以上的團隊,​ 來研發類似 Apple I/II 的產品時,​ 一些經理人
 +覺得受到威脅,​ (因 Apple I/II 的軟硬體是 Worziak 獨自開發出來的)
 +完全將他柄除在外,​ 即使他卑微到只想當個小小印表機介面工程師都不行.
 +(當妒才, 不求長進,​ 壟斷山頭的經理大量冒出時,​ 就是公司停止成長的徵兆)
 +
 +因 Worziak 做過 Artira 的Ping-Pong(乒乓)/​BreakOut(打磚塊)電動遊戲,​
 +將其 TV output, 搖桿, 影音效果的技術,​ 運用在 Apple II 上.
 +而他也做過盜打長途電話的藍盒子,​ 將其音頻技術,​
 +運用在錄音帶來儲存 AppleI/II 程式的技術上.
 +(以前做過亂七八糟案子的技術能量,​ 總有一天,​ 會在某個產品上整合)
 +
 +又他知道如何用軟體去控制硬體(寫電動遊戲時累積下來的軟體功力),​
 +把原先以純硬體觀念設計,​ 花 22 顆晶片組成的軟碟控制器,​ 改成只花 2 顆晶片,
 +搭配複雜的軟體設計,​ 在 2 星期內做出安靜超快的軟碟控制器.
 +(不要傻傻聽信 IC 廠 Sale 的話, 去買又貴又耗電,​ 性能又差的 IC,
 +只要肯動頭腦,​ 了解基本原理,​ 軟體的確可以省下許多硬體成本)
 +
 +在設計 AppleII 時, 用最便宜的方法,​ 支援現有美國電視機輸入頻率,​
 +讓 user 不用花錢另外買 monitor.
 +而且只用 Apple1 一半的晶片數目,​ 就做出功能大幅超越 Apple1 的 AppleII.
 +(不要花錢裝內建的 3G 網路卡, 利用藍芽連接 3G 手機的能力,​ 幫 user 省錢,
 +而不是害 User 多花錢, 讓一堆 IC 公司利用華碩去賺暴利)
 +
 +為了堅持 Apple II 應該有 8 個擴充槽,​ 與賈伯斯起第一次爭執.
 +而被豬頭高階主管主導的 Apple III, 則慘遭開放式的 IBM PC屠殺.
 +(不要為省 connector 的錢, 而把 EeePC MINI PCI-E/DRAM 擴充槽拔掉).
 +
 +現在 Jerry 非常忙, 比周杰倫的牛仔還要忙,​ 根本沒時間看我的規劃方向,​
 +只要解決掉他覺得 EeePC 不好用的地方,​ 就不會被他釘到牆壁上.
 +另一位硬體出身的協理相當 Open mind, 這本書就是他推薦我看的,​
 +還蠻支持我對軟體附加價值的想法.
 +
 +最後只要滿足每個 PM 的出貨 schedule, 就不會天天來煩我.
 +只要部屬有 meet 進度, 我根本不會去管他們要做什麼.
 +讓他們自由發揮創意,​ 或者提早下班.
 +反正最後是看績效,​ 而不是看你每天待在公司的時間,​ 來決定升遷.
 +
 +績效是很模糊的東西,​ 做立即影響出貨的 XP image, 跟做花 1,2 年
 +才看得到績效的 Algorithm. 何者孰重 ? 有些人就是運氣好,​ 撿到輕鬆,​
 +主管誤以為績效高的案子,​ 而有些笨蛋就是想挑戰 mission impossible.
 +
 +又套句史蒂芬周說的話:​
 +
 +"​貪官要奸,清官要更奸,不然怎麼去對付那些壞人?"​
 +
 +當主管的,​ 要比部下更精,​ 不然怎麼去打出公平考績.
 +
 +
 +在程式設計俱樂部上,​ 我有注意過一位 Harrison 網友, 他持續 2 個多月
 +問我有關 ACPI Driver 的事, 我叫他去看一些公開資料,​ 從他問的問題,​
 +越來越接近核心. 我就知道他真的有看這些資料.
 +
 +而且他說,​ BIOS RD 的他想搞 ACPI Driver, 是個人興趣,​ 不是公司硬逼.
 +我就是想找這種人來加入團隊. 但因他誤以為,​ 能進華碩的RD 都是高手,​
 +想繼續練功,​ 練到更有把握. 所以婉拒我.
 +
 +但我告訴各位,​ 公司一大後,​ 有高手也有濫竽充數的夾雜其中.
 +而能撐到最後的,​ 通常是那些有毅力,​ 有耐心, 有危機感,​ 有執行力的人.
 +只要放在以技術為主,​ 沒亂搞政治的工作環境中. 他們就會自動自發,​
 +甚至發揮出出乎意料的表現. 也不用管理階層天天在後面逼他們.
 +
 +況且我會先給舊版程式的 code, 讓他們 trace 打基礎, 有段緩衝期,​
 +還有老鳥可以問問題,​ 然後再要求他們開發下一代的新功能.
 +像我現在,​ 除了開一堆會,​ 回一堆 E-MAIL之外,​ 還有時間寫 code,
 +上網查技術資料,​ 就是靠他們自動自發,​ 讓我省下許多時間.
 +
 +
 +---------------------------------------------------------------------
 +因 104 人力網站只能列出簡短描述,​ 導致我無法細說要求條件,​
 +也無法讓應徵者充分了解我的規劃跟行事風格.
 +
 +因不想浪費彼此時間,​ 若有意應徵的人,​ 請先評估個人期望待遇與發展方向,​
 +是否能符合我提出的這些條件,​ 才來投履歷.
 +
 +若有興趣的,​ 請到104 人力銀行,​ 或華碩人力網上留下聯絡方式.
 +並註明應徵 EeePC 事業處軟體第五部軟體工程師.
 +我只管 EeePC 事業處軟體第 5 部, 其他 EeePC 軟體部門不是我管轄.
 +
 +我不辦考試,​ 有意者請拿做過的作品,​ 來跟我閒聊.
 +目前我需求的人力有:​
 +
 +1. 美術設計人員:​ (1名)
 +需會操作 MAYA 等 3D 軟體並轉成 Direct3D 的格式, 會平面設計及網頁撰寫.
 +需跟工業設計中心(MID) 合作. 重點在設計 Application 的外表圖案.
 +在相關產業有 2 年以上的經驗.
 +
 +2. Window 應用程式開發人員:​ (2名)
 +需 MFC 2 年開發經驗,​ 工作項目初期負責 WinXP Image 製作,
 +開發 WinPE上 的工廠測試程式. 及開發次代安裝光碟程式,​
 +若學習能力強,​ 不排除日後從事 Windows Device Driver 開發工作.
 +
 +3. Windows Display 驅動程式開發人員:​ (1 名)
 +有在 IC 公司從事過 Windows display device driver 開發經驗.
 +工作項目:​ 初期負責充分發揮 EeePC VGA chip 的硬體功能,​
 +撰寫 VGA Memory/3D Engine 測試程式 on WinPE or XPE.
 +後期負責維護/​升級 ASUS VGA Display Driver Hooking 技術.
 +(這一塊技術我可以下指導棋)
 +
 +4. Windows LAN/​WLAN/​WiMax 驅動程式開發人員:​ (1 名)
 +有在 IC 公司從事過 Windows WLAN/LAN device driver 開發經驗,​
 +具 NDIS, WinSocket 等相關技術背景.
 +初期負責 EeePC 網路(LAN/​WLAN/​WiMax) 相關問題並 trace IC 公司提供的
 +device driver source code, 撰寫 WLAN/LAN/3G 相關測試程式 on WinPE or XPE.
 +後期負責 EeePC Window base 通信標案的相關技術.
 +
 +5. Linux LAN/​WLAN/​WiMax 驅動程式開發人員:​ (1 名)
 +同上, 只把 Window 平台換成 Linux 平台.
 +
 +6. Linux Device Driver開發人員:​ (2 名)
 +初期負責 trace and modify Linux device driver open source,
 +確保在 EeePC 上的穩定度,​ 後期撰寫 Device 測試程式.
 +
 +7. Linux OpenGL開發人員:​ (1 名)
 +有在 Linux 2.6.0 版以上 開發過 OpenGL 的經驗.
 +
 +最後若認為自己有潛力但不符這些條件的人,​
 +3也可以拿自己寫的程式碼或產品來跟我談.
 +
 +有個副課長說我,​ 這樣搞法,​ 恐怕沒幾個人來面試.
 +但我告訴他,​ 我就是要這樣惡搞,​ 找不怕死的人進來.
 +寧願這陣子,​ 咬緊牙關先撐住 EeePC WinXP 量產的壓力,​
 +也不要急就章,​ 找到不合適的人. 若在台灣找不到,​ 就去大陸找.
 +
 +若 2008 年 Q2/Q3 跟 HP/​Acer/​Apple 對幹後, EeePC 還能在領先群中.
 +確定 EeePC 事業處有足夠盈餘來養更多軟體工程師時,​
 +軟體第 5 部會擴大營業,​ 在台灣跟大陸,​ 再做一次徵才活動.
 +
 +
 +---------------------------------------------------------------------
 +工程師性格強烈的我,​ 因在網路上留言直言不諱. 多年在
 +BBS, www.23xx.com,​ www.programmer-club.com 上留下多篇文章,​
 +公司內部早就有人看我不爽,​ 多次寄這些文章給 HC, Jerry 來背後告狀.
 +我相信這篇文章,​ 不久就有人背後告狀,​ 轉寄給他們.
 +為了節省他們的麻煩,​ 我自己經先寄給 HC, Jerry.
 +
 +被公司受聘,​ 只要不涉及公司商業/​技術機密,​ 並不代表就沒個人發言權利.
 +連 MS 都有個內部員工網站,​ 可開放給外人觀看,​ 我常常看到有 MS 員工
 +在裡面幹醮自家公司.
 +
 +主管跟部屬下班後,​ 大家都是普通的老百姓. 沒有誰比誰大.
 +
 +我也做好隨時離職的準備,​ 手上的資金,​ 讓我 30 年不工作都不成問題.
 +只要創意/​執行力還在,​ 到其他公司還是可以發展出進階或全新的系統功能.
 +我也相信還是有其他公司的總經理,​ 有雅量來容納我這個異類.
 +
 +華碩不就是因 4 位創辦人不爽老東家宏碁,​ 離職後自行開業.
 +我敢肯定說,​ 華碩絕不會是最後一家,​ 因這種原因而成立的成功公司.
 +
 +微星老闆就非常有危機意識,​ 我上經濟部辦的 “ 94 年研發經理養成班”時,​
 +就有 7, 8 個微星員工參加,​ 公司補貼全部費用,​ 也不用加班來補上課時間.
 +而技嘉老闆跑去開寶嘉,​ 代理標誌汽車.
 +從這點, 我就斷言微星會贏過技嘉.
 +當老闆都開始不務正業時,​ 你還能期望公司會有多好 ?
 +
 +已經脫離 ”為五斗米折腰” 階段, 若是沒人收留我,​ 那就自己當自己的老闆,​
 +開 Window 驅動程式教學課程. 或當自由職的技術顧問,​ 日子還是一樣快樂.
 +未來我可不想像 HC, Jerry 般, 天天開會從早開到晚,​ 坐飛機全球跑來跑去,​
 +錢夠用就好,​ 生命中也不是只有寫程式這項樂趣. 等女兒上大學後,​ 我就不幹了.
 +要去她的學校唸博士,​ 反正現在考博士,​ 只要準備書面報告跟口試就可以.
 +
 +
 +最後祝大家都有個滿意工作,​ 而我希望下次長篇大論時,​ 就是說退休後要做什麼事.
 +
 +看著桌上兩隻 BANDAI MG 版 Hi-Nu/​UNICORN,​ PG 版攻擊剛彈的素組模型,​
 +跟一堆變形金剛:​ 柯博文, 大黃蜂, 飛輪, 黑魔, 毀滅者, 判官, 密卡登.
 +哦, 對了還有藏在櫃子裡的 1/350 大和號, X-Wing, Y-Wing, AT-WALKER,
 +
 +何年何月才能幫他們改裝甲,​ 黏蝕刻片,​ 來上色, 做舊化 ?
 +雖然網路有人代做模型上色. 但做模型的樂趣,​ 就是看一片片塑膠片,​
 +在手中慢慢成形,​ 而且一台比一台做的更細緻更逼真.
 +
 +寫到這裡各位大概猜出我的性格,​ 沒錯, 是宅男型工程師.
 +我找的部屬,​ 都是宅男型工程師.在我們這邊,​ 鐵定沒有鶯鶯燕燕,​ 讓你分心,​
 +只有超安靜的環境,​ 讓你專心工作.
 +</​code>​
 +
 ====== 偷了世界的程式設計師 ====== ====== 偷了世界的程式設計師 ======
 From: http://​coolshell.cn/​articles/​3363.html From: http://​coolshell.cn/​articles/​3363.html
行 361: 行 1766:
 本文作者:蔡學鏞 本文作者:蔡學鏞
 張貼日期:01/​01/​2002 張貼日期:01/​01/​2002
 +
 +====== 畢業三年,同學基本都辭職了 ======
 +當時公司招了大批應屆本科和研究生畢業的新新人類。平均年齡25歲。那個新的助理,是經過多次面試後,我親自招回來的一個女孩。名牌大學本科畢業,聰明,性格活潑。私下裡我得承認,我招她的一個很重要的原因,除了她在大學裡優秀的表現之外,還因為她寫了一手漂亮的字。女孩能寫一手好字的不多,尤其像她,看起來長髮飄飄,多麼女性化的一個姑娘,一手字卻寫的鏗鏘倜儻,讓我對她不由多了很多好感。
 +
 +手把手的教。從工作流程到待人接物。她也學的快。很多工作一教就上手。一上手就熟練。跟各位同事也相處的頗融洽。我開始慢慢的給她一些協調的工作,各部門之間以及各分公司之間的業務聯繫和溝通讓她嘗試著去處理。
 +
 +開始經常出錯。她很緊張,來找我談。我告訴她:錯了沒關係,你且放心按照你的想法去做。遇到問題了,來問我,我會告訴你該怎麼辦。仍然錯。又來找我,這次談的比較深入,她的困惑是,為什麼總是讓她做這些瑣碎的事情?我當時問她:什麼叫做不瑣碎的工作呢?
 +
 +她答不上來,想了半天,跟我說:我總覺得,我的能力不僅僅能做這些,我還能做一些更加重要的事情。那次談話,進行了1小時。我知道,我說的話,她沒聽進去多少。後來我說,先把手頭的工作做好,先避免常識性錯誤的發生。然後循序漸進罷。
 +
 +半年以後,她來找我,第一次提出辭職。我推掉了約會,跟她談辭職的問題。問起辭職的原因,她跟我直言:本科四年,功課優秀,沒想到畢業後找到了工作,卻每天處理的都是些瑣碎的事情。沒有成就感。我又問她:你覺得,在你現在所有的工作中,最沒有意義的最浪費你的時間精力的工作,是什麼?她馬上答我:幫您貼發票,然後報銷,然後到財務去走流程,然後把現金拿回來給您。
 +
 +我笑著問她:你幫我貼發票報銷有半年了吧?通過這件事兒,你總結出了一些什麼資訊?
 +
 +她呆了半天,答我:貼發票就是貼發票,只要財務上不出錯,不就行了唄,能有什麼資訊?
 +
 +我說,我來跟你講講,當年我的做法吧:98年的時候,我從財務被調到了總經理辦公室,擔任總經理助理的工作。其中有一項工作,就是跟你現在做的一樣,幫總經理報銷他所有的票據。本來這個工作就像你你剛才說的,把票據貼好,然後完成財務上的流程,就可以了。
 +
 +其實票據是一種資料記錄,它記錄了和總經理乃至整個公司營運有關的費用情況。看起來沒有意義的一堆資料,其實它們涉及到了公司各方面的經營和運作。於是我建立了一個表格,將所有總經理在我這裡報銷的資料按照時間,數額,消費場所,連絡人,電話等等記錄下來。
 +
 +我起初建立這個表格的目的很簡單,我是想在財務上有據可循,同時萬一我的上司有情況來詢問我的時候,我會有準確的資料告訴他。通過這樣的一份資料統計,漸漸的我發現了一些上級在商務活動中的規律,比如,哪一類的商務活動,經常在什麼樣的場合,費用預算大概是多少;總經理的公共關係常規和非常規的處理方式。等等等等。
 +
 +當我的上級發現,他佈置工作給我的時候,我會處理的很妥貼。有一些資訊是他根本沒有告訴我的,我也能及時準確的處理。他問我為什麼,我告訴了他我的工作方法和資訊來源。
 +
 +漸漸的,他基於這種良性積累,越來越多的交待更加重要的工作。再漸漸的,一種信任和默契就此產生,我升職的時候,他說我是他用過的最好用的助理。
 +
 +說完這些長篇大論,我看著這個姑娘,她愣愣的看著我。我跟她直言:我覺得你最大的問題,是你沒有用心。在看似簡單不動腦子就能完成的工作裡,你沒有把你的心沉下去,所以,半年了,你覺得自己沒有進步。她不出聲。但是收回了辭職報告。
 +
 +又堅持了3個月,她還是辭職了。這次我沒有留她。讓她走了。
 +
 +後來她經常在MSN上跟我聊天。告訴我她的新工作的情況。一年內,她換了三份工作。每一次都堅持不了多久。每一次她都說新的工作不是她想要的工作。05年的時候,她又一次辭職了。很苦惱,跑來找我,要跟我吃飯。我請她去寫字樓後面的商場吃日本料理。吃到中途,忽然跟我說:我有些明白你以前說的話是什麼意思了。
 +
 +所謂的職業生涯,其實你很難預測到你將來真正要從事什麼工作,將來所要從事的工作,是否跟你在大學裡學的專業有關。大多數人,很有可能將來所作的工作,跟他當初所學的專業一點關係都沒有。從22歲大學畢業在26歲之間這四年,重要的不是你做了什麼,重要的是你在工作中養成了怎麼樣的良好的工作習慣。這個良好的工作習慣,指的是:認真,踏實的工作作風,以及是否學會了如何用最快的時間接受新的事物,發現新事物的內在規律,比別人更短時間內掌握這些規律並且處理好它們。具備了以上的要素,你就成長為一個被人信任的工作的人。
 +
 +人都有惰性,也都願意用那些用起來順手的人。當你具備了被人信任的基礎,並且在日常的工作中逐漸表現出你的踏實,聰明,和細緻的時候,越來越多的工作機會就會提供到你面前。原因很簡單,用一句話就能交代清楚並且能被你順利完成的工作,誰願意說三句話甚至半小時交待一個怎麼都不明白的人呢?溝通也是一種成本,溝通的時間越少,內耗越少,這是作為管理者最清楚的一件事。
 +
 +當你有比別人更多的工作機會去接觸那些你沒有接觸過的工作的時候,你就有了比別人多的學習機會,人人都喜歡聰明勤奮的學生,作為管理者,大概更是如此。
 +
 +一個新手,大多數新手,在這四年裡,是看不出太大的差距的。但是這四年的經歷,為以後的職業生涯的發展奠定的基礎,是至關重要的。很多人不在乎年輕時走彎路,很多人覺得日常的工作人人都能做好沒什麼了不起。然而就是這些簡單的工作,循序漸進的、隱約的,成為今後發展的分水嶺。
 +
 +漫不經心的對待基層工作的最大的損失,就是將看似簡單的事物性處理方式,分界成為長遠發展的能力問題。
 +
 +聰明的人,總是不認為自己的能力有問題。時間長了,他會抱怨自己運氣不好,抱怨那些看起來資質普通的人,總能比自己更能走狗屎運。抱怨她容貌比自己好,或者他更會討領導歡心。等等等等。慢慢的,影響心態。所謂的懷才不遇,有時是這種情況。
 +
 +工作需要一個聰明人,工作其實更需要一個踏實的人。在聰明和踏實之間,我更願意選擇後者。
 +
 +而踏實,是人人都能做到的。和先天條件沒有太大關係。
  
 ====== 暴強的程式師考題 ====== ====== 暴強的程式師考題 ======
society/programmer_chicken.1303962243.txt.gz · 上一次變更: 2011/04/28 11:44 由 wenpei