society:programmer_chicken
差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版前次修改 下次修改 | 前次修改 | ||
| society:programmer_chicken [2011/04/28 11:44] – 暴強的程式師考題 wenpei | society:programmer_chicken [2013/01/12 11:16] (目前版本) – wenpei | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== Other References ====== | ||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ====== 10001 件資工系畢業前一定要做的事 ====== | ||
| + | 出處:http:// | ||
| + | |||
| + | 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/ | ||
| + | |||
| + | 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 去當暑期實習生 — 暑假來了,實際去公司上班兩個月,看看真實世界是長什麼樣子吧!新創公司尤其是你的好選擇,因為你將可以摸到更多好玩的東西 (不知道要去哪裡?寫信來,我幫你介紹: | ||
| + | |||
| + | 10001 去跟 10 個學長姐聊聊 — 在你決定要繼續攻碩士、就業還是創業前,去跟 10 個已經畢業的資工系學長姐聊聊,看看他們都在做什麼,有什麼事情他們後悔當初沒學好,有什麼事情他們覺得你可以考慮去做。不要悶著頭聽同學們的建議做決定,他們和你一樣不知道自己在做什麼。 | ||
| + | |||
| + | 以上,希望對於正在念資工系的你們有幫助。 | ||
| + | |||
| + | ====== 80後想的和你不一樣 ─ 每換一次工作,都是在練功 ====== | ||
| + | http:// | ||
| + | |||
| + | 出處:商業周刊 第1198期 | ||
| + | |||
| + | 畢業四年換四份工作! | ||
| + | |||
| + | 當你皺眉心想,這就是「八○後」不穩定的特徵,判斷他們難以成事時,鄭伊廷的故事或許會讓你的想法轉個彎……。 | ||
| + | |||
| + | 鄭伊廷,二十七歲,宏達電的資深經理。更多人是認識她的網名:「XDite」。XDite, | ||
| + | |||
| + | 這個在網路上赫赫有名的人物,在莫拉克風災時,用一個小時的時間 就打造出救災網站,集結了二千四百名志工,並讓每天四十萬人次可以了解最新災情動態,成為民間救援中心。 | ||
| + | |||
| + | 在此之前,XDite已踢爆馬英九「治國週記」網站提前虛構,並寫了「戴爾之歌」諷刺戴爾(Dell)出包又不願意負責的態度。 | ||
| + | |||
| + | 對夢想,企圖大! | ||
| + | 未來是要搶來的,不是別人給你的 | ||
| + | |||
| + | 坐在鄭伊廷位於新店的租屋處,PChome二十四小時的宅配紙箱幾乎堆到天花板上,從泡麵到蜆精統統都成箱擺著。 | ||
| + | 聽到她告訴我,上述行為只是為了「好玩」 與「自我挑戰」。 | ||
| + | 而她從大學畢業四年,已經換到第四份工作。 | ||
| + | 我腦子裡浮現的是很多企業老闆對八○後的刻板印象:「對未來沒規畫,只求快樂。」 | ||
| + | |||
| + | 直到下列這段對話出現: | ||
| + | |||
| + | 我問:「妳覺得未來是……?」 | ||
| + | 她答:「未來是要你自己搶來的,不是別人給你的,我幹嘛,我沒事幹嘛給你!」 | ||
| + | 我重複:「未來是要搶來的?」 | ||
| + | 她答:「對!」 | ||
| + | |||
| + | 「搶來的?」 | ||
| + | 「對!」她用力的回答。 | ||
| + | |||
| + | 在高流動率的背後,其實是這女孩用力搶未來的故事。大學畢業後,鄭伊廷第一份工作是文化大學做網管。看似鐵飯碗的工作,卻未讓她感到滿足。 | ||
| + | |||
| + | 「我想做很偉大,很多人想要用的東西,看到很多人喜歡,我就很高 興……。」 | ||
| + | |||
| + | 她原本想到最好的方法,是成立網站,讓大家都使用,她原本就有好的技術底子,但她發現,要達到這個夢想,還不夠。 | ||
| + | |||
| + | 「我寫東西再強,還是需要team work(團隊運作)。」她說。「因為要成立能商業運作的網站,只靠工程師還不夠,我也要去學習商業模式。」 | ||
| + | |||
| + | 對跳槽,沒眷戀!不能準備好才跳。 | ||
| + | |||
| + | 那時已經沒有船 鄭伊廷從文化大學離開,到第二份工作,一個程式接案公司,在那裡她碰到大量駭客,大家彼此鑽研討論技術;在網站痞客邦的第三份工作,讓她帶領團隊,摸索出 團隊合作的技巧。 | ||
| + | |||
| + | 為了不斷進步,她每個月花一萬多元買書,而且全部看完,平均每天看一本書。她也不斷把自己的想法,放在網站上,歡迎各界挑戰、叫陣,然後 再修正、改良。 | ||
| + | |||
| + | 今年,她把如何讓團隊無阻礙運作的想法,貼在網站上,吸引到宏達電的注意,她也毫不眷戀的跳槽到了宏達電。在這裡,鄭伊廷坐上了這個通常要四十歲才能坐到的經理位置,帶領了一個五十人的團隊,年薪比她的第一份工作翻了好幾番。 | ||
| + | |||
| + | 宏達電吸引鄭伊廷最大的「胡蘿蔔」是:「世界舞台」。因為那能讓她朝「讓更多人喜歡她創造東西」的夢想更近。 | ||
| + | |||
| + | 「設定目標,就一個一個攻下。」 | ||
| + | |||
| + | 她的實際,讓她的跳槽更義無反顧。 | ||
| + | |||
| + | 「你不能萬事準備好才等著跳(跳槽),但是(那時已)沒有船。」 | ||
| + | |||
| + | 對資歷,沒在怕!有人二十年經驗,其實都是同一年 | ||
| + | |||
| + | 「我現在在研究,如何跟不同國籍、不同時區的人溝通、打交道。」她笑著說。每換一次工作,對她而言,都是在練更高的武功。 | ||
| + | |||
| + | 難道不擔心,自己這麼年輕的資歷「罩」不住其他資深的工程師? | ||
| + | |||
| + | 「不會啊。很多人說自己有二十年經驗,但只是一年經驗,用了二十年,」「我是扎扎實實的學習上 去……,我試了幾百幾千條(方法),看了很多武功秘笈(網路與書的知識累積)。我不需要浪費時間在很多人已經證實的事情上面。」 | ||
| + | |||
| + | ====== 寫給即將入行的程式師的一封信 ====== | ||
| + | http:// | ||
| + | |||
| + | 來源:伯樂線上 | ||
| + | |||
| + | 首先,歡迎來到程式師的世界。在這個世界上,不是有很多人想創造軟體並解決問題。你是一名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, | ||
| + | |||
| + | 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# | ||
| + | |||
| + | 15.記住:書到用時方恨少。不要讓這種事發生在你身上,在學校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進書中,那本書就會變得像雞肋! | ||
| + | |||
| + | 16.我還是強調認真聽專業課,因為有些課像《數據結構》、《編譯原理》、《操作系統》等等,這種課老師講一分鐘能讓你明白的內容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。 | ||
| + | |||
| + | 17.抓住在學校裏的各種實踐的機會,要為自己積累經驗,就業時經驗比什麽都有用。 | ||
| + | |||
| + | 18.多去圖書館,每個學校的圖書館都有很多好書等你去看! | ||
| + | |||
| + | 19.編程不是技術活,而是體力活。 | ||
| + | |||
| + | 20.如果你決定了要當一個好的程序員,那麽請你放棄遊戲,除非你是那種每天只要玩遊戲就能寫出好程序的天才! | ||
| + | |||
| + | 21.你要有足夠的韌性和毅力!有個高手出一一道題測試你的韌性和毅力:找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。 | ||
| + | |||
| + | 22.找到只屬於你自己的學習方法。不要盲目的追隨別人的方法,適合自己的才是最好的! | ||
| + | |||
| + | ====== 十年一覺程設夢 ====== | ||
| + | < | ||
| + | 發信人: [email protected] (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 的助理, 參與天龍中文終端機開發計畫. | ||
| + | 當時工作, | ||
| + | |||
| + | 這份工作累積的經驗, | ||
| + | 而也使他成為在華碩中最了解軟體價值的董事. | ||
| + | |||
| + | 他在華碩第一份工作, | ||
| + | 當時 3D VGA Chip 霸主是加拿大 ATi , PM 大主管屬意這家公司, | ||
| + | 預計與其全面合作. 但 HC從 Chip 架構及規格, | ||
| + | 風中殘燭的 nVidia. 那時候 nVidia 找過麗台跟其他家 VGA 卡廠商, | ||
| + | 都吃閉門羹, | ||
| + | |||
| + | 部門內成立 3 條產品線, | ||
| + | 當時與其他部門最大的不同處是, | ||
| + | 成為公司部門中, | ||
| + | 連我跟他面試時, | ||
| + | |||
| + | HC 的個性是, | ||
| + | 命令底下一組軟體工程師來做效能最佳化的工作. 我分配到的工作是, | ||
| + | 做安裝光碟程式, | ||
| + | (因當時有許多 2D/3D 指令是用 CPU 先處裡過, | ||
| + | |||
| + | 因解掉 1 個 nVidia 驅動程式的 Bug, 使華碩 V3000 繪圖卡領先其他對手, | ||
| + | 早 1 個月出貨, | ||
| + | 經 HC 推薦, 而獲得 Jonney 額外的獎勵獎金. | ||
| + | |||
| + | VGA 部門在所有同仁努力下, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 因在驅動程式這個領域的耕耘, | ||
| + | 有感於當時 (1997 年) BBS, 雜誌文章皆是財團法人, | ||
| + | 鮮少來自工業界的聲音. 而且是一面倒向 MIS, 資料庫. | ||
| + | |||
| + | 於是在 BBS 上寫篇 " | ||
| + | 朝驅動程式發展, | ||
| + | |||
| + | 當時在 BBS 上引起支持 RAD Tool, MIS, VooDoo 學生的筆戰, | ||
| + | 搞到連 HC 去交大演講招募工程師時, | ||
| + | 說要找我單挑. 回來後問我是不是覺得時間太閒, | ||
| + | (XD! 現在是 nVidia 還是 VooDoo 活下來 ? MIS 公司還是 IC 公司錢賺的多 ?) | ||
| + | |||
| + | 事隔 3 年後, 在台灣微軟 WinCE 技術研討會上, | ||
| + | 他原本是在交大擔任助理, | ||
| + | 投身驅動程式開發領域. 我相信, 經過 MS SmartPhone, SoC 的興起, 聯發科, | ||
| + | 宏達電躍昇為股王後, | ||
| + | |||
| + | HC 深信公版公 Driver, 絕對無法支撐起產品競爭力. 於是在不增加任何硬體成本下, | ||
| + | 極力要求我們要用軟體來增加附加功能. 而我們也不負他所望, | ||
| + | Game OSD, 3D See Through, Time-Shift, Smart Doctor, OverLock 等特殊軟體功能, | ||
| + | 讓 Sales 在報章雜誌上, | ||
| + | |||
| + | 在不到 5 年內, 他成立的 VGA 部門, 成為世界第一品牌的VGA 卡公司. | ||
| + | 而以往稱霸的外國 VGA 卡公司, Diamond 跟 Elsa 公司, 一個倒閉, | ||
| + | |||
| + | |||
| + | 當 Win95 問世, 引發一波 MB 大換潮, 得以讓華碩連續蟬聯 3 年股王. | ||
| + | (但套句台語, | ||
| + | 而 MB 也需要搭配 Win95 驅動程式的安裝光碟出貨, | ||
| + | 軟體人力協助. 他就派我去成立 MB 軟體支援課. | ||
| + | 我雖然心中不願, | ||
| + | |||
| + | 當時的 MB 部門是以 EE 及 BIOS RD 為主導. 軟體支援課形同雞肋般, | ||
| + | 僅比 QT 部門高一點而已. 工作內容僅是製作安裝光碟, | ||
| + | 不過因 MB 種類日益頻繁, | ||
| + | XD! 自己是 RD 還是高級 QT ? | ||
| + | |||
| + | 然而繁瑣工作還是要做, | ||
| + | 安裝機制, | ||
| + | 全部放在一張光碟. 當放進光碟機時, | ||
| + | 的 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 只好靜靜躺在硬碟中. | ||
| + | |||
| + | 過了半年, | ||
| + | 無軟碟機, | ||
| + | (NT 上無法在 DOS 模式下去存取硬體, | ||
| + | 康柏限期要提供解決方法, | ||
| + | WinFlash 程式, 得以應用到產品上, | ||
| + | |||
| + | 而另一家 MB 公司微星, | ||
| + | 但相同功能的程式, | ||
| + | 看見其他公司的重視程度, | ||
| + | 真覺得 MB 軟體部門只是個打雜部門, | ||
| + | |||
| + | 完成 WinFlash 後, 當時 WWW 網路剛興起不久, | ||
| + | 我跟部屬合作開發 Asus LiveUpdate, 利用網路, | ||
| + | 自動更新驅動程式跟 BIOS. 由於 Asus LiveUpdate 是由 | ||
| + | Client 跟 Server 兩部分程式組成的. Client 端的檢查, | ||
| + | 尚須要後端 Server 的配合, 才能啟動. | ||
| + | |||
| + | 但初期 MIS 部門根本無配合意願, | ||
| + | 總算幫 VGA 部門 架設更新網站. 經過 3 年後, 微軟把類似 | ||
| + | 概念的線上更新功能, | ||
| + | 官方軟體下載網頁, | ||
| + | 都存在著這套軟體. | ||
| + | |||
| + | 同一時期 Intel 在 MB 上推出 Health Monitor 的功能, 用來偵測 | ||
| + | CPU 溫度, 風扇轉速, | ||
| + | (Lan DeskTop Configuration Management) 給公司來 bundle 在 | ||
| + | intel 系列主機板上. 而 maintain LDCM 的工作就落到我頭上. | ||
| + | |||
| + | 因 LDCM 既有的InstallShield 安裝程式, | ||
| + | 註明 MB 有幾顆風扇, | ||
| + | 我的天啊 ! 若每一片 MB 都要這樣搞, | ||
| + | |||
| + | 於是修改既有的 InstallShield 程式, 讓它能掛上 device driver. | ||
| + | 在安裝過程去偵測有多少顆風扇, | ||
| + | 硬體設定檔, | ||
| + | |||
| + | 後來上 LDCM 訓練課程時, | ||
| + | 正在進行於 LDSM Client-Server 架構下, 從 Server 端把 | ||
| + | BIOS/ | ||
| + | 於是自己獨力將 WinFlash 修改成 LDCM 能使用的 PLUG-IN module, | ||
| + | 提供 MIS 人員直接在 Server 端更新 Client 端 BIOS 的功能. | ||
| + | |||
| + | 因為 Intel 限制 LDCM 只能用在 Intel chipset 系列的 MB 上. | ||
| + | HC 叫我想辦法, | ||
| + | 於是就開發 PC Probe 這套軟體, | ||
| + | |||
| + | 3 家晶片組公司(Intel, | ||
| + | Health Monitor, 甚至同家不同系列的晶片組也有所不同, | ||
| + | 有用 SMB Bus, 也有用 I2C Bus 的. 而 Health Monitor IC 來源, | ||
| + | 也有 3 家 IC 公司提供. 產生一堆晶片組加 Monitor IC 的不同組合. | ||
| + | |||
| + | 做第一片 MB 時, 還覺得有趣. 但做到第 10 片 MB 時, 就覺得 | ||
| + | 又煩又無聊. 所以一直在想, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 當初是 1999 年, Win2000 beta 版還在測試, | ||
| + | 出現在 Win98 ME上, ACPI BIOS 1.0 spec 也剛出爐. | ||
| + | |||
| + | 看完 ACPI Spec 後, 加上幾年的 Window Programming 經驗, 我察覺到 | ||
| + | MS 想利用此一規格, | ||
| + | 來讓 Windows OS 能直接控制硬體. 並且把 BIOS 角色壓縮成 Boot Loader. | ||
| + | 一但 OS 啟動後, 讓 BIOS 沒有主控權, | ||
| + | |||
| + | (MS 夠邪惡, 但很明顯並未得逞, | ||
| + | 還是可以用 device driver 下 SMI 指令, 讓BIOS 取得控制權) | ||
| + | |||
| + | 看過 ACPI BIOS 規格跟 WDM DDK beta 版後, 我終於找到處理 | ||
| + | Health Monitor IC Access 跟 BIOS Flash 的一勞永逸方法. | ||
| + | 讓所有硬體存取相關的動作, | ||
| + | 由應用程式透過 ACPI driver 來讓 ACPI.SYS 執行對應的 ASL ocde. | ||
| + | 如此就不用三天兩頭為 SMBus I/O port來改device driver. | ||
| + | |||
| + | 於是一頭栽進去, | ||
| + | 同樣的, 因為有把該做的工作完成, | ||
| + | 所以才不會對我碎碎唸, | ||
| + | |||
| + | 但是 ACPI Driver 需要 ACPI ASL code 配合才能啟動. | ||
| + | 自知惹毛過 MB BIOS Team, 他們是不會幫忙的. 求人不如求己. | ||
| + | 於是找剛成立的 NB BIOS RD 部門, 向其要了 Lotus NB 的 BIOS 原始碼, | ||
| + | 自己邊看 ACPI BIOS Spec, 邊在 Lotus 上修改 ACPI ASL code. | ||
| + | |||
| + | 當花了 3 個月時間, | ||
| + | 因深知此技術的發展潛力, | ||
| + | BIOS RD 來參加. 但會議結束後, | ||
| + | |||
| + | 但我並不灰心, | ||
| + | 要支援 ACPI. 我知道總有一天, | ||
| + | 只不過卻沒料到, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 2002 年, 公司 的 NB 種類增多. 原先 NB BIOS RD 是直接 program VGA , | ||
| + | 在各家 VGA Chip 的 Frame Buffer 上畫 OSD (On Screen Display), | ||
| + | 但多種不同的繁瑣 VGA Frame Buffer 定址, 讓 NB BIOS 主管 Jason 受不了, | ||
| + | 因他有聽過我的 ACPI 技術介紹會, | ||
| + | |||
| + | 我當時也沒多想, | ||
| + | 原始碼提供出來, | ||
| + | |||
| + | HC 常跟我說, | ||
| + | 卻不懂職場的遊戲規則. 但我毫不在意, | ||
| + | |||
| + | 但這次無私的 ACPI 技術提供, | ||
| + | (NB 部門可沒因此而多發薪水股票給我). | ||
| + | 反而種下 4 年後不愉快的起因. | ||
| + | |||
| + | |||
| + | 雖然那時是在做 MB 的事, 但還是會關心 VGA team 的發展. | ||
| + | 把 MB 上學到的 Health Monitor 跟動態超降頻的概念, | ||
| + | 在大家一遍喊 VGA 超頻的時候, | ||
| + | |||
| + | 我認為做文書處理或上網時, | ||
| + | 於是在 VGA 上實作出 Smart Doctor 軟體, 依據 VGA/CPU 實際工作負荷, | ||
| + | 來動態超降頻, | ||
| + | |||
| + | 事隔 1 年半後, nVidia 公司受到其他 VGA 卡製造商的壓力, | ||
| + | 將這項功能, | ||
| + | 不過雖然如此, | ||
| + | |||
| + | 當 VGA 部門闖出名號後, | ||
| + | 當時熱門的 IA 題材: Setop Box 跟 PDA 上. 但因 VGA 軟體人力不足, | ||
| + | 想將軟體人力從 MB 部門抽回來, | ||
| + | |||
| + | 但他同時也點出, | ||
| + | 公司不能沒有這個課, | ||
| + | |||
| + | 但我二話不說, | ||
| + | 從無趣工作中解放出來, | ||
| + | 我也不再想當管理階層, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 在 2002 年時, 掀起一股 IA 熱潮. "PC 已死, IA 當道" | ||
| + | 如 WinCE 3.0, Embedded Linux, VxWork 紛紛跳上檯面. 我被分派去做以 | ||
| + | Embedded Linux 為主 的 Setop Box 跟 Thin Client. | ||
| + | |||
| + | 當時曾接觸過 Luxsonor IC 公司, 原想用其 IC 在 Setop Box 上. | ||
| + | Luxsonor 的華裔羅副總, | ||
| + | MPEG2 decoder 將倍受威脅, | ||
| + | InterVideo (IVI) DVD 播放軟體公司. | ||
| + | 而 Luxsonor 在將 MEPG2 decoder IP 授權給聯發科後, | ||
| + | |||
| + | 因 IA 口號正熱, | ||
| + | 在國內外, | ||
| + | 連 Mr. Taiwan 谷月涵, 也插花當網虎國際的執行長, | ||
| + | 就可知道這些公司分名是擺明想 A 錢, 用股票換鈔票. | ||
| + | (XD! 我打電話給網虎 Sale 問些事情, | ||
| + | 說華碩即將採用網虎的 embedded linux) | ||
| + | |||
| + | 在 Setop Box 上的 Embedded Linux 上執行的 Browser 功能很陽春, | ||
| + | 涵蓋 PC NetScape/IE 的功能不到 30%, 而他們又無法克服 TV resoultion | ||
| + | 及 interlacing 問題. 最後淪落為無實用性的玩具. | ||
| + | 我也因而勸阻 HC 入股某家美國 Embedded Linux公司的念頭. | ||
| + | |||
| + | Settop box 做半年後收起來, | ||
| + | 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 剛萌芽, 硬體省電能力很弱, | ||
| + | 原型機完成後, | ||
| + | (有夠呆吧! 如果煽動成功, | ||
| + | 至於賺不錢, | ||
| + | 結果同時期有兩家公司, | ||
| + | 想也知道, | ||
| + | |||
| + | IA 熱潮的泡沫, | ||
| + | Palm 及 WinCE PDA 的銷售成長, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | HC 意識到趨勢變化, | ||
| + | 投入 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 發出預期的 | ||
| + | 控制訊號, | ||
| + | 給 Intel 做除錯之用. 簡言之, 就是寫程式幫 Intel 作 SoC 硬體功能驗證測試. | ||
| + | |||
| + | 在參與過 Setop Box, Thin Client, 及 Bulverde VC 計畫, 讓我無意中充實對 | ||
| + | IC 規格和硬體設計方面的知識, | ||
| + | 往往是日後技術提升的基石. 經歷這時期實作經驗, | ||
| + | |||
| + | 但因部門政治因素, | ||
| + | 再度聽從 HC 的安排, 轉任 VGA 軟體主管. | ||
| + | |||
| + | HC 一直想為 VGA 部門尋找另一波成長動力. 於是指派我去執行 | ||
| + | DVD Recorder 及 LCD-TV 專案. | ||
| + | |||
| + | 初接任 VGA 軟體副理一職時, | ||
| + | 提出可以將 Video 結合 3D Game 的點子時, | ||
| + | RD 去做 MPEG4 壓縮跟網路即時通訊功能來配合. 做出全球首套支援 3D Game | ||
| + | 的視訊軟體. Sale 部門看到這套軟體後, | ||
| + | |||
| + | 隨後因 HC 想在大陸成立一個軟體團隊, | ||
| + | 前往蘇州, | ||
| + | (有人跑大連, | ||
| + | 因老婆不願舉家遷移到大陸, | ||
| + | |||
| + | 在 LCD-TV/ DVD Recorder 這些專案中, | ||
| + | Sigma Design, Trident, OPlus, Genesis, PixelWork, Morning Star 等各家的晶片. | ||
| + | 這段期間大量接觸各類的 IC 公司, 也讀了一堆相關的 IC spec and datasheet, | ||
| + | 我試著去比較各家晶片性能. 遇到不懂的規格名詞時, | ||
| + | 從基礎理論去了解其規格背後的含義. 而墊下對消費性電子 IC 方面的知識. | ||
| + | |||
| + | 因為國外 IC Design 公司的規格書寫得非常詳細, | ||
| + | Scaler, DE-INTERLACE, | ||
| + | |||
| + | 記得當時 Trident 代理商的某個 FAE 很臭屁, 欺負我沒摸過 LCD-TV Chip, | ||
| + | 還說 LCD-TV Chip 很有深度, | ||
| + | 結果事後 K 過 paper 跟 Video Demystified後, | ||
| + | 根本是入門級. | ||
| + | |||
| + | 做這些案子期間, | ||
| + | 而其 IC 所需的 DSP firmware 或 embedded system 卻要系統廠商, | ||
| + | 花錢向其他家軟體公司購買, | ||
| + | 也是由系統廠各自向 MPEG2/Dobly 談判. | ||
| + | 對玩慣 WinTel 的我為此深感不解. 為何無法提供一套完整的方案, | ||
| + | 卻還要系統廠到處張羅硬體, | ||
| + | |||
| + | 相同時期, | ||
| + | 軟體工程師, | ||
| + | DVD Recorder 方面就打敗 LSI, 手機晶片方面, | ||
| + | 逼得 TI 也出 Davanci SDK for WinCE. 如果 TI 還不親自提供完整 | ||
| + | TurnKey Solution, 中低階, 甚至高階手機晶片, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 在 2000 年, 華碩獲利大幅衰退, | ||
| + | 已經一去不返, | ||
| + | 部門的軟體工程師, | ||
| + | |||
| + | Jonney 開始推動巨獅計畫. 進行公司組織重整後, | ||
| + | 我因而失去重視軟體功能 HC 的支持, 我曾經因案子無預警被中斷, | ||
| + | 當面對著 HC 拍桌子, 但他心胸寬大有雅量, | ||
| + | 日後反而常常在暗中拉我一把. | ||
| + | |||
| + | 直屬長官變成 VGA 部門的硬體經理. LCD-TV 專案也被迫停擺, | ||
| + | 由 Jerry 新成立的數位家電部門來主導. 而底下的一些軟體工程師 | ||
| + | 看苗頭不對, | ||
| + | |||
| + | 但上帝關起門時, | ||
| + | Media Center, 並且全球數位電視陸續開播. 雖然處於冰凍狀態, | ||
| + | 算是苦中尋樂吧, | ||
| + | demodulator, | ||
| + | 找到屬於技術人員的樂趣. | ||
| + | (數位電視訊號規格有牽涉到視訊壓縮, | ||
| + | 所以蠻快就進入狀況. 有燒香就有保佑, | ||
| + | |||
| + | 不久後, Jerry 對 Barebone 部門報以高度的期許, | ||
| + | 設立一個軟體團隊來支援 Barebone 部門, 雖然還掛在 VGA 部門, | ||
| + | 但 VGA 部門最高主管早就不理我, | ||
| + | |||
| + | 在 BareBone 部門初期幫忙接 Samsung 的代工案及自有品牌 E-Spreso. | ||
| + | 但後期 Barebone PM 部門換主管後, | ||
| + | 也不管軟體功能, | ||
| + | |||
| + | 為了不讓底下的軟體工程師閒閒沒事幹. 加上看到 MB/NB 朝 | ||
| + | 消費性電子化的發展趨勢, | ||
| + | 我不想浪費在 LCD-TV 專案上獲得的一些研究經驗, | ||
| + | 於是開案子, | ||
| + | |||
| + | 初期我將這個概念跟專利草稿給另一家 IC 設計的子公司參考, | ||
| + | 希望能共同開發. 但後來子公司毫無分享意願. 認清現實一面後, | ||
| + | 靠人不如靠己, | ||
| + | 從事 NB 上的色彩功能開發, | ||
| + | |||
| + | 因為這位高階 PM 是工程師出身, | ||
| + | 知道此功能的實用性. 雖然NB 內部有阻力存在, | ||
| + | 在NB 部門內介紹這項功能. | ||
| + | |||
| + | 幸運的是, | ||
| + | 該 NB 加裝 1 顆我以前摸過的 Trident LCD-TV Chip, 用來處理色彩運算. | ||
| + | 而公司代工的另一家日系公司也想要有類似功能. 要求 NB team 評估 | ||
| + | 用日本 Jepico 影像處理 IC 在其代工 NB 上的可能性. | ||
| + | |||
| + | 就在日系公司派出技術科長來台灣, | ||
| + | IC 子公司透過高層主管安排, | ||
| + | 而我是幸好有該 PM 的私下安排, | ||
| + | |||
| + | 雖然IC 子公司想透過高層主管的政治影響力, | ||
| + | 但在看過 IC 子公司, Cameleon, 及 Jepico 3 種解決方案後, | ||
| + | 基於擴充性, | ||
| + | 並派出其 TV 部門技師, | ||
| + | 正式導入在日本銷售的 NB 上. | ||
| + | |||
| + | 因為日系公司採用, | ||
| + | 順利消除 NB 部門內部阻力, | ||
| + | Video Splendid, 如同 Asus ACPI Driver 般, 成為公司 NB 的基本功能. | ||
| + | |||
| + | 由於 Jerry 所轄的 VGA/ | ||
| + | 外加看到 XBox 360/ PS 3 研發售價消息不斷冒出, | ||
| + | 魔獸爭霸也放出消息要移植到 Xbox 360 上時, 我判斷 | ||
| + | 高階 VGA 卡, DMA 及客廳式 PC, 絕對不是Xbox 360/ PS 3 的對手. | ||
| + | |||
| + | 試問當一台 Blue-Ray BD, 40 GB HDD, WLAN 801g 無線上網, | ||
| + | 只賣台幣 1 萬 4 千時, 還會有多少人去買 1 張 1 萬多元的高階 VGA 卡 ? | ||
| + | |||
| + | MS 跟 Sony 可以賣一台虧一台, | ||
| + | 來獲利. 但 Dell, HP, Acer, Asus 有可能虧錢賣 PC/NB/VGA 嗎 ? | ||
| + | |||
| + | NB 市場的 VGA 方案都是內建, | ||
| + | 同時 NB 長力道已經逐步趕上 Desktop 時. 看不出有其它位來發展機會, | ||
| + | 於是離開 VGA 部門, 轉調到以系統為主的 NB 部門. | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 公司一變大, | ||
| + | 可以開發第 2 代的 ACPI Driver 及 Video Splenedid, 尤其是 ACPI BIOS | ||
| + | 已經出到 3.0B 版, 而 ASUS ACPI Driver 還停留在 7 年前的 ACPI BIOS 1.0 時. | ||
| + | |||
| + | 但這些想法都被 NB 軟體大主管拒絕. 有次討論工廠測試流程時, | ||
| + | 還跟我解釋 ACPI Driver 的功能. 當時心想, | ||
| + | 真的是他手下自行開發出來的. | ||
| + | |||
| + | 在不被重用, | ||
| + | 用 NB 時, 通常是用 Mouse 居多, 而 TouchPad 就白白浪費在那邊. | ||
| + | 加上當時 iPod的觸控螢幕功能造成熱門話題. 所以交代部下去搞個將 | ||
| + | TouchPad 當 Touch Panel 用的程式並申請專利. | ||
| + | |||
| + | 結果搞出來後, | ||
| + | 2008 年 CES show 展上, NB Sales 把這個 TouchPad 功能當成一個賣點. | ||
| + | |||
| + | 因從 2004 WinHEC 資料得知, | ||
| + | (code name Diamond), 會拉升 NB 對 TV 功能需求. 又看到大陸工資成長的趨勢, | ||
| + | 及公司內部如火如荼的 LSS 精實運動. 我想到用軟體自動化來做工廠檢測. | ||
| + | |||
| + | 當時 NB工廠大多依賴人工作檢測, | ||
| + | DMCIA 步驟中, 需有 M (Measurement) 步驟提供量化數據, | ||
| + | 作為方案效果評估, | ||
| + | |||
| + | 假想若能提供每月數十萬台的 NB 測試量化數據來加以分析, | ||
| + | 加速測試流程, | ||
| + | 電子元件良率控制, | ||
| + | |||
| + | 於是實際到工廠待一個下午, | ||
| + | 為了測試 TV, Camera, Audio 的功能, 須操作繁複設定的商用應用程式 | ||
| + | (IVI Home Theate, Cyberlink Power Cinema, 3D Mark 2003), 以人眼人耳去判斷, | ||
| + | |||
| + | 而長期沿用 DOS/ | ||
| + | 絲毫沒利用到目前 CPU/Windows 的多工能力, | ||
| + | 測試 device 功能. 而在測試聲音時, | ||
| + | 真是個惡劣工作環境. | ||
| + | |||
| + | 於是回來後寫個快速測試 TV/camera 的程式, 交給部屬, | ||
| + | 依工廠需求, | ||
| + | 的 NB 產量持續成長, | ||
| + | 檢測程式很快就正式導入 NB 生產線, 頗受作業員的歡迎. | ||
| + | |||
| + | 受到順利導入的鼓舞, | ||
| + | 再度請出 Google 大神, 上網查聲音相關的論文跟原理文章, | ||
| + | 理工學院的快速複利葉轉換程式庫( MIT FFTW), 以及參考普林斯頓聲音研究室 | ||
| + | ( Princeton Sound Lab)的公開原始碼, | ||
| + | 錄放音功能的快速聲頻檢測程式, | ||
| + | Frequency Response, Total Harmonic Distortion, Back Ground Noise Level 品質. | ||
| + | 為了確保聲音檢測的正確性, | ||
| + | |||
| + | 但是要導入時, | ||
| + | 軟體主管單位擺明, | ||
| + | 不然的話, | ||
| + | |||
| + | |||
| + | 大概因接 2 連 3 惹毛其他軟體部門, | ||
| + | 最後他丟個 PC Camera 的案子給我做. 並告訴我只准做這個案子, | ||
| + | 或亂碰其他案子, | ||
| + | 好吧, 反正不是第一次, | ||
| + | |||
| + | 於是跟幾家 Camera USB IC 公司接洽, | ||
| + | 對相關技術不懂. 於是把 PC Camera 整個軟硬體架構拆解掉, | ||
| + | 步進馬達, | ||
| + | 從頭到尾走過一次. | ||
| + | |||
| + | 知道影像清晰度跟色彩對 camera 非常重要, | ||
| + | 因嫌 USB IC 的清晰度判斷能力太爛, | ||
| + | 並上網去讀 Glass/ | ||
| + | 色彩處理物理特性的優略點分析. | ||
| + | |||
| + | 甚至到最後, | ||
| + | 還是無法真正解決色偏問題, | ||
| + | 來了解 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 優異的硬體功能關掉, | ||
| + | 的影像處理功能. 而 Sales 宣稱其因 IC 具有特殊的附加功能, | ||
| + | 如 AWB, Scaling, Sharpness detection 等, 所以要賣得比較貴. | ||
| + | |||
| + | 但單純從運算速度來看, | ||
| + | 而這些功能可以被 CMOS sensor, VGA Scaling 及 Window App 所取代, | ||
| + | 而且效果遠遠超過它. | ||
| + | |||
| + | 因 PC Camera 硬體設計進度一直拖延, | ||
| + | 為了證明自己不是只會放砲愛吹牛, | ||
| + | 用 UVC Extension 介面去控制步進馬達, | ||
| + | (1.2 秒, 可以更快, | ||
| + | |||
| + | 將擷取到的畫面導入 VGA Vertex/ | ||
| + | 同時研讀微軟北京軟體學院的電子白板相關論文. 想將電子白板的功能 | ||
| + | 導入虛擬攝影機驅動程式. 但最後還是看出主管並無心去推動這個案子. | ||
| + | |||
| + | 經過 WinFlash, Asus ACPI Driver, Video Splendid 的推動經驗後, | ||
| + | 我已經對由內部推動創新的方法絕望, | ||
| + | 來彌平內部阻力, | ||
| + | |||
| + | 這時興起辭職去其他系統廠發展的想法. 但就如同電影" | ||
| + | " | ||
| + | |||
| + | 其他系統廠也會存在相同狀況, | ||
| + | 也是被排擠的份. 在華碩起碼還有 HC 知道我是會做事的人. | ||
| + | 還好過沒多久, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 2007 年四月某晚 8 點多時, 接到 Jerry 秘書的電話, | ||
| + | 搭著 Jerry 的 Lexus 460 LS 加長豪華版, | ||
| + | 席間才得知, | ||
| + | 一直對軟體部分放心不下, | ||
| + | 的軟體人員來幫他看軟體這一塊. | ||
| + | |||
| + | 雖然 HC 大力推薦, | ||
| + | 是要找一個會打仗, | ||
| + | 還是守成, | ||
| + | 幾經思考後, | ||
| + | |||
| + | 其實在 2007 年 1 月時, Jerry 因底下的 PM 不懂軟體, | ||
| + | 數位像框的發展機會, | ||
| + | 因以其成本, | ||
| + | 建議 PM 考慮用 VIA C3 CPU + Linux 來開發. | ||
| + | |||
| + | 而邀請 VIA CPU Sale 來開會時, | ||
| + | 後因華碩跟 VIA, AMD 價格談不攏, | ||
| + | 所幸 Intel 看到 AMD 在 OLPC 上的聲勢, | ||
| + | 就跟華碩合作, | ||
| + | |||
| + | 餐敘後隔天就跟 PM, MID 等相關人員, | ||
| + | 2 天後趕出百元電腦的UI/ | ||
| + | (吃了兩天的生魚片, | ||
| + | |||
| + | 那時候公司內部並不看好百元電腦的前途, | ||
| + | 的散兵游勇來執行. 但因這是 Jonney 非常重視的案子, | ||
| + | 一個星期開 3 次會, 常常開到凌晨. | ||
| + | |||
| + | 當時也不知道百元電腦會不會起來, | ||
| + | 到不如把握這個機會闖一闖. 百元電腦是個人人不看好的案子, | ||
| + | 沒有高官想進來插旗佔山頭, | ||
| + | 傻傻的做. 有點像在公司內部創業的感覺, | ||
| + | 大家只想把東西做好. Just Do It! 而不會去想些有的沒的, | ||
| + | |||
| + | 出關後, 上網查一下 Intel 對百元電腦的策略, | ||
| + | 原來 Intel 老早把 Xscale CPU 賣給 MARVEL, 全力專攻 X86 CPU 的省電技術, | ||
| + | 並在以色列海法分部進行該專案. | ||
| + | |||
| + | 雖然那時 HC 知道我想換部門, | ||
| + | 也有山頭問題, | ||
| + | 如同宏達電跟隨微軟般. 新興的產品, | ||
| + | |||
| + | 所以就接受 Jerry 的邀約, 加入百元電腦團隊. 忙了 1 個月多月後, | ||
| + | 台北電腦國際展上, | ||
| + | |||
| + | |||
| + | EeePC 會不會是曇花一現, | ||
| + | 在 UMPC/MID 這塊領域能存活下來而且能獲利的, | ||
| + | 強調系統整合功能的公司, | ||
| + | |||
| + | 我非常佩服宏達電, | ||
| + | 公司差點倒閉. 因而引進王雪紅的資金. 但等到 WinCE 3.0 夠穩定, | ||
| + | 能拿出來賣時, | ||
| + | 同時它也聘請許多軟體工程師來做系統整合. | ||
| + | |||
| + | 當宏達電推自有品牌時, | ||
| + | 其他手機代工公司是看的到, | ||
| + | 迫於市場現實壓力, | ||
| + | |||
| + | 我是天生反骨, | ||
| + | 對其架構, | ||
| + | 但又需具有 PC 般的擴充能力. 能執行現有 Linux/ | ||
| + | X86 base 軟體, 讓 User 可以自行添加自己慣用的軟體. 而不會像 | ||
| + | PDA, 手機般, 被綁得死死. | ||
| + | |||
| + | 若按照傳統 NB 的觀念來設計, | ||
| + | 競爭對手只要猛攻低價化, | ||
| + | |||
| + | 現階段 EeePC 競爭對手, | ||
| + | 談硬體成本(CPU, | ||
| + | 談垂直整合生產製造, | ||
| + | 更何況還有 Apple 神秘的 iBook. | ||
| + | |||
| + | 等 2008 年 Q2/Q3 這些重量級廠商的類似產品陸續出籠後, | ||
| + | 必定是一場大廝殺. 策略不對, | ||
| + | 或許現在一些的好消息, | ||
| + | |||
| + | 若 EeePC 朝更輕更薄, | ||
| + | 螢幕更大, | ||
| + | 系統功能來持續吸引 USER 的眼光. | ||
| + | |||
| + | 其中系統穩定/ | ||
| + | |||
| + | |||
| + | 當然, 打嘴砲想當官性格的我, | ||
| + | |||
| + | 沒人逼你做, | ||
| + | 做出來, 沒人感激你, | ||
| + | 做不出來, | ||
| + | 若乖乖按照現有 NB 業界的安全方法來做, | ||
| + | 老闆拿不出對照組來評估, | ||
| + | |||
| + | 如同銀行的資訊長愛用 IBM 的軟體, 如果出問題, | ||
| + | 拿其他銀行來當擋箭牌. 採用一家名不經傳, | ||
| + | 萬一出錯, | ||
| + | |||
| + | |||
| + | 但工程師性格的我會想: | ||
| + | |||
| + | 如果在相同硬體成本下, | ||
| + | 創造出更多附加價值, | ||
| + | 是相同的成本. 當 CPU/VGA 硬體能力成長時, | ||
| + | 而且是以加速度來成長. | ||
| + | |||
| + | 另一方面, | ||
| + | 而省下 PS2 Chip 的成本. 那 EeePC 可不可以如法泡製 ? | ||
| + | 若有 5 成把握, 我就放手一搏. 只要一台省下 1 塊美金硬體成本, | ||
| + | 賣 300 萬台 就省下台幣 9000 萬, 若失敗, 只是多花 2 個人月的成本, | ||
| + | 這個算盤實在是太划算! | ||
| + | |||
| + | 而這些觀念也獲得一名協理的支持, | ||
| + | 要是我出面的話, | ||
| + | |||
| + | 這位協理, | ||
| + | 這次被關到北投春天酒店, | ||
| + | 我馬上提出解法. 2 個小時後, | ||
| + | 後來在正式成立 EeePC 事業處之時, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 一些 PM 開規格時, | ||
| + | |||
| + | 1. 照抄大廠 (DELL, HP, Acer) 的規格 | ||
| + | 2. 照收 WinTel 的 roadmap. | ||
| + | 3. 照收 component/ | ||
| + | |||
| + | 例如每家都配訊連的 PowerDVD, 在 UI 上打上公司 LOGO 來自欺欺人 | ||
| + | 這種做法只能做到消極防禦, | ||
| + | 搞到最後, | ||
| + | |||
| + | 而 Microsoft 在 MCE 2005 上推的 SideShow, 其起因是 | ||
| + | PortPlayer 的 MP3 chip 被 Apple 取消用在 iPod上, 而改用 Samsung 的. | ||
| + | 為了活下去, | ||
| + | |||
| + | SideShow 說穿了, 就是把 PortPlayer 的 MP3 Player (成本 US $50) | ||
| + | 黏在 NB 背板上, 讓 NB 同時有 X86 CPU 跟 ARM CPU. 當 X86 CPU 關掉時, | ||
| + | 可用 ARM CPU 的 SideShow 功能來看 picture, 聽 MP3, 和看 e-mail 通知. | ||
| + | |||
| + | 有沒有搞錯 ? 隨身攜帶的手機都可以做這些事. 一般 User/ 根本不需要 | ||
| + | 這種華而無用的功能, | ||
| + | 在 NB 上加 SideShow, 獲利者是 PortPlayer, 而倒楣的是 NB 廠. | ||
| + | |||
| + | 在 EeePC 會議上, PM 計畫導入某家 PCI-E 3G 無線網卡, | ||
| + | 同時要求軟體團隊來協助. 有沒有搞錯 ? 應該是這家公司要從頭包到尾, | ||
| + | 自行負責, | ||
| + | 外面公司賺錢的道理. PM 到底是領 EeePC 部門的薪水, | ||
| + | |||
| + | 在會議上我就開砲, | ||
| + | 跟能輕鬆與各家 3G 手機連線的軟體. 不必為 3G 上網的功能, | ||
| + | 負擔 3,4 千元去買額外的 USB/PCI-E 3G 硬體. 況且用 3G 手機, 可馬上解決: | ||
| + | |||
| + | 1. 全球各國 Field Test 的問題 | ||
| + | 2. 高速移動時的連線品質, | ||
| + | 3. 讓 3G 手機的電池去負擔天線/ | ||
| + | |||
| + | 便宜, 好用 又省電. 對 EeePC 價格, 軟體團隊, | ||
| + | |||
| + | 就是這種雞婆個性, | ||
| + | 但我覺得, | ||
| + | 看看自己的底限為何. 如果自己多花些時間, | ||
| + | 來改善產品品質, | ||
| + | 當參與開發的產品能大賣時, | ||
| + | 工作滿足感跟合理報酬 | ||
| + | |||
| + | Jerry 看到 EeePC 大受歡迎, | ||
| + | 決定把這堆妾身未明的散兵游勇組織起來, | ||
| + | 於是成立EeePC 事業處, 地位跟規模將與 NB/ | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 原先我喜歡當工程師, | ||
| + | 就天馬行空想新點子, | ||
| + | 坦白說, 軟體工程師是蠻幸福的, | ||
| + | 實踐創意. 不需像硬體工程師需要一堆設備跟很多單位配合, | ||
| + | |||
| + | 然而經歷過 6 年不受重視被冰凍的職場生涯後, | ||
| + | |||
| + | 公司規模變很大後, | ||
| + | 的直屬高級主管恐怕也不多見. 而且遇上一些案子, | ||
| + | 的研發/ | ||
| + | |||
| + | 工程師的我永遠是邊緣人, | ||
| + | 而論功行賞, | ||
| + | |||
| + | 成立有戰鬥力的研發團隊, | ||
| + | 但要摧毀它, | ||
| + | |||
| + | 與其如此, | ||
| + | 在自己業務範圍內, | ||
| + | 將所學 10 幾年的軟體經驗承傳下去, | ||
| + | 來擔任士官長的角色. 只要具工程師性格, | ||
| + | 越來越多時, | ||
| + | |||
| + | 若 EeePC 打算要衝出 500 百萬台的大量, | ||
| + | 應付現階段出貨需求, | ||
| + | 拉高技術競爭門檻, | ||
| + | 充分授權的士官長來貫測執行. | ||
| + | |||
| + | 軟體產業不是比人多, | ||
| + | 軟體主管, | ||
| + | 沒有 20 幾個中階幹部來有組織規劃, | ||
| + | |||
| + | 我原本打算只成立小型團隊, | ||
| + | 合適人員. 但因接下來 EeePC 的延生機種, | ||
| + | 軟體的開發, | ||
| + | 的產品規劃. | ||
| + | |||
| + | 要加人可以, | ||
| + | 而不是數人頭. 如果我夠厲害, | ||
| + | 而我能用 4 個人搞定. 到時就分 7 個人的 quota 給這 4 個人. | ||
| + | |||
| + | 如此公司可省 3 個人事成本, | ||
| + | 願意長期待下來, | ||
| + | |||
| + | 另一方面, | ||
| + | 我還能確保部門內 RD 的薪資能優於其他部門, | ||
| + | |||
| + | 為了引進更多志同道合的夥伴, | ||
| + | Alex 在華碩任職期間, | ||
| + | 後因政治因素辭職去 BenQ, BenQ 的第一代 MP3 Player, 就是他做起來的. | ||
| + | 最後也因政治因素, | ||
| + | (也就是有他這個案例, | ||
| + | |||
| + | 他對 Embedded System 硬體架構/ | ||
| + | 2 款 WebPAD, 彼此具強烈工程師性格, | ||
| + | 而他歸到 EeePC 事業處後, | ||
| + | 作為改版及次代機種的改善目標. | ||
| + | |||
| + | 我建構軟體部門的想法是: | ||
| + | |||
| + | 1. 以驅動程式或跟硬體綁在一起的應用程式為主, | ||
| + | 2. 用軟體手段來求系統穩定, | ||
| + | 3. 用軟體手段來降低生產成本. | ||
| + | 4. 用軟體來降低硬體設計成本, | ||
| + | 5. 成立 “軟體 IC” team, 研究 algorithm 搭配既有的硬體設計, | ||
| + | 在不增加任何硬體成本下, | ||
| + | |||
| + | 越老鳥的 Programmer 越謙虛, 因為越清楚自己的能力底線. | ||
| + | 全球 Open Soucrce 高手的功力是遠遠勝過華碩軟體工程師. | ||
| + | 要跟他們拼純軟體應用程式開發功力, | ||
| + | 但因公司機密, | ||
| + | 而這就是華碩軟體工程師能發揮最大價值的所在點: | ||
| + | |||
| + | 幫 Open Soucrce 高手解決硬體相關問題, | ||
| + | 使他們隨心所欲改機, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 雖然 EeePC 事業處另有軟體部門負責 Linux, 而我是負責 Windows, | ||
| + | 但我極力爭取在部門內成立 2 個 Linux 開發課. | ||
| + | |||
| + | 為此, 找到網通大廠及 IC 公司的兩位中階軟體幹部, | ||
| + | 系統穩定度, | ||
| + | |||
| + | 工欲善其事, | ||
| + | 評估 MontaVista 的系統開發工具, | ||
| + | MontaVista Linux kernel 移植到到 Xandros kernel 上. | ||
| + | 有個 source code level, remote debugging 的開發環境, | ||
| + | 遠比用 printk deug kernel/ | ||
| + | |||
| + | 打算用 Embedded Linux 手機穩定度的水準, | ||
| + | Linux 上沒有像 MS 在上億台 PC 上執行過的 WHQL/ | ||
| + | 商用專業軟體工程師跟志工性質工程師做出來的系統測試程式, | ||
| + | 兩者在性能, | ||
| + | |||
| + | 而且 MontaVista 有多款 Embedded Linux 手機的成功開發經驗. | ||
| + | 雖然花上百萬來買這套開發軟體, | ||
| + | 現在隨便一個沒經驗剛畢業碩士的人事成本, | ||
| + | 而對案子的幫助鐵定遠遠比不上這套工具. | ||
| + | |||
| + | 如果 EeePC量夠大, | ||
| + | 到時候計畫成立一個 EeePC Linux Device Driver Certification 課, | ||
| + | 要上 EeePC Linux 的 device driver 需先經過這個課來驗證. | ||
| + | 並同時為 Ubuntu 跟 Google Andriod 的移植來鋪路. | ||
| + | |||
| + | 從 Google 放出 Android 的 source code 後, 我就一直對它念念不忘. | ||
| + | 不出 5 年, Google 必定取代 MS, 而且還會比 MS 更恐怖. | ||
| + | |||
| + | Google 不對 user 收任何費用, | ||
| + | 只要 Android 舖的越多, | ||
| + | (手機, Settop Box, MID, UMPC, PC, NB, Game consle), 提供更好更快速的 | ||
| + | 後端 server 功能及頻寬. 那還有誰想想用手機的視訊, | ||
| + | 查餐廳/ | ||
| + | 免費地圖導航功能. | ||
| + | |||
| + | 打不過對方, | ||
| + | 不然就會被巨人一腳踩死. 等量產相關工作都搞定後, | ||
| + | 加派人力來做這一塊. | ||
| + | |||
| + | |||
| + | 對工廠軟體下載跟自動化測試軟體的開發, | ||
| + | 軟體不只可以增加附加價值, | ||
| + | |||
| + | 12 月因 EeePC 生產不順, | ||
| + | 負責生產的工廠單位, | ||
| + | 軟體生產測試工具的效能. 當我提出這個觀念時, | ||
| + | 還一直逼問我何時可以導入, | ||
| + | |||
| + | 有執行單位主管的全力配合, | ||
| + | 接下來就看我這個部門爭不爭氣, | ||
| + | |||
| + | 2008 年大陸頒布的新勞動合同法, | ||
| + | 搬去越南來避開, | ||
| + | 而且以後衝量時, | ||
| + | 軟體技術, | ||
| + | |||
| + | 若每台生產成本因而省下 1 元美金. 200 萬台就可省下 6400 萬台幣. | ||
| + | 只要公司撥一半給我這個部門當 Bonus, 大家雖然累, | ||
| + | 累的很有成就感. 不會累的很幹. | ||
| + | |||
| + | 現請一位主任, | ||
| + | 等把相關軟體開發測試過, | ||
| + | |||
| + | PM 規劃下一代 EeePC 時, 決定加入 TouchPanel 功能. | ||
| + | 找來廠商來報價, | ||
| + | 需要一顆 USB IC 跟相關觸控軟體程式. | ||
| + | XD! 是欺負華碩沒有懂軟體的人, | ||
| + | |||
| + | 會後馬上交代一位高工, | ||
| + | 觸控螢幕的驅動程式觀念, | ||
| + | |||
| + | 程式設計俱樂部網站 (www.programmer-club.com)上, | ||
| + | 在“用軟體模擬虛擬攝影機的硬體” 討論串中, | ||
| + | 軟體模擬來節省硬體成本的觀念. 結果引起某家 IC RD 的對嗆, | ||
| + | 說要尊重 IC 公司的智財權等等. | ||
| + | |||
| + | 就是系統廠 PM 沒經驗, 太好騙, 才讓這些公司獲取暴利. | ||
| + | 同時也讓 IC 公司的 SW RD 瞧不起系統廠 SW RD 的功力. | ||
| + | 在 EeePC 上, 如同在 NB 上用 Video Splendid 取代 Jepico IC 般, | ||
| + | 我鐵定盡全力, | ||
| + | 同時萬一要發動價格仗時, | ||
| + | |||
| + | 為達到人盡其才, | ||
| + | 我從 QT 部門挑出兩位學士測試工程師, | ||
| + | 讓他們負責 WHQL Test, WinXP image, 在 WinPE/XPE 上撰寫測試程式, | ||
| + | 而他們表現完全不輸碩士級工程師. 讓我意外驚喜, | ||
| + | |||
| + | 我給他們的任務是, | ||
| + | 而不是用人海戰術來應付. 薪水分紅將比照碩士工程師水準來調整. | ||
| + | |||
| + | 為了用以往 DVD Recorder/ | ||
| + | 我找了交大應屆畢業資訊工程博士跟另一名寫 3D Game 的學士, | ||
| + | 合作開發 " | ||
| + | |||
| + | 原本給他們的 schedule 是半年將 Video Splendid 1.0 移植到到 EeePC | ||
| + | (為了 7 月打考績時能向高層證明), | ||
| + | 結果花 3 個月他們就移植出來, | ||
| + | 真的是江山代有人出, | ||
| + | |||
| + | OLPC 的 EC firmware RD 也應邀加入. 為等他把 OLPC EC 處裡完, | ||
| + | 我等了 3 個月. 因他有 x86 BIOS, Window Application, | ||
| + | 只需把他教會 ACPI Driver 跟 device driver 相關技術, | ||
| + | 專注規劃從 Window Application/ | ||
| + | 一路打通的架構跟介面, | ||
| + | 希望能將以往在 Bulverde VC上 學到的省電設計經驗, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 或許有人認為我是在吹牛說大話, | ||
| + | |||
| + | '' | ||
| + | |||
| + | 做 RD 就是要有這種 Guts. 做不出來, | ||
| + | 繼續當 WinTel 的順民, 乖乖照傳統 NB 的路子走, | ||
| + | 但若做出來, | ||
| + | |||
| + | 硬體線路或許可以照抄, | ||
| + | 可就沒那麼容易抄. 如同威騰可以抄襲聯發科的 DVD ROM server chip, | ||
| + | 但無法抄襲其韌體. 於是原封不動將聯發科韌體套到自家的 chip 上, | ||
| + | 結果被活逮, | ||
| + | |||
| + | 我沒有名校情節, | ||
| + | 因為知道自己程度差, | ||
| + | |||
| + | 在 " | ||
| + | 部門只有 2 位是清交畢業的. 我重視的是做事態度, | ||
| + | |||
| + | 現在這些同事在加入團隊之初, | ||
| + | 可以一直熱賣下去. 要有較好的薪水, | ||
| + | |||
| + | 為防止保障年薪後, | ||
| + | 我是不會採保障最低年薪的手段來聘人. | ||
| + | |||
| + | 鴻海處理這類應徵者是: | ||
| + | 沒達到就一路打折下去, | ||
| + | 讓那些自以為身價非凡的人, | ||
| + | |||
| + | 就有個手機團隊從工研院跳到廣達, | ||
| + | 就辭職回工研院. | ||
| + | |||
| + | 連我這個大頭目都要親自下海 coding, | ||
| + | 不准團隊中存在只會打嘴炮, | ||
| + | 就算以後幹到管理階層, | ||
| + | 如何去帶領更菜的工程師, | ||
| + | 又如何能著規格變化來持續改善或推出全新的軟體功能 ? | ||
| + | |||
| + | 沒有一套軟體功夫能讓你吃一輩子, | ||
| + | 建立山頭完全不讓別人進入來取代你. 讓上面的人想動你時, | ||
| + | 考慮到陣痛期的成本, | ||
| + | 自己的官位跟薪水遠遠凌駕在公司整體利益之上. | ||
| + | 大公司一代不如一代, | ||
| + | |||
| + | 也告訴他們, | ||
| + | 大幅拉開 RD 間的待遇差距, | ||
| + | 不合適的員工, | ||
| + | |||
| + | 若 EeePC 能在 2008 Q2/Q3 繼續站穩腳步, | ||
| + | 現在上 Google 查 device driver 相關的文章, | ||
| + | 大陸軟體工程師寫的技術文章, | ||
| + | |||
| + | 5年前在蘇州成立軟體團隊時, | ||
| + | 力爭上游的精神. 在東北老家, | ||
| + | 隻身到蘇州, | ||
| + | 那種拼勁, | ||
| + | |||
| + | 當初還沒進華碩, | ||
| + | 的頂樓房子. 老婆懷孕 8 個月, 夏季時太陽曬在屋頂, | ||
| + | 怕開冷氣花錢, | ||
| + | 幫一家 CNC Controller 廠商寫 Win95 Device Driver, Sample Code, SDK Library, | ||
| + | Document, InstallShield 安裝程式. 那時候真的是拼勁十足, | ||
| + | |||
| + | 我想現在大陸還有一大群這種有拼勁, | ||
| + | 如果把他們組織起來, | ||
| + | 這個團隊的戰鬥力會相當驚人. | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 在台灣, 繼前波藍領階級失業潮後, | ||
| + | 我就常收到失業的美國 40, 50 幾歲華裔軟體經理的履歷. | ||
| + | Andrew Grove 在 "Only the Paranoid Survive" | ||
| + | " | ||
| + | |||
| + | 台灣的軟體工程師憑什麼要求高薪 ? 現在有些工程師是躲在大樹底下好乘涼, | ||
| + | 公司大員工多, | ||
| + | 等到 40 歲被辭退又找不到工作, | ||
| + | 到時候要怎麼辦 ? | ||
| + | |||
| + | 華碩低月薪, | ||
| + | 當初兩位有家累, | ||
| + | 甘願減薪加入團隊. 對他們, 我有一份道義責任, | ||
| + | 搞砸就只有自己吞苦果, | ||
| + | |||
| + | 分家後, Jerry 定下遊戲條件: | ||
| + | 基層工程師不受影響. 相反地, 若超出預訂業績標準, | ||
| + | 不久後就要跟他畫押留證據, | ||
| + | |||
| + | 我寧願用比華碩股票低的公司離職員工. 又套句史蒂芬周的話: | ||
| + | |||
| + | " | ||
| + | |||
| + | 就算台清交畢業的 RD, 一星期就能搞定的案子, | ||
| + | 若他願意花 2 個月來搞定. (況且現在網路上一大堆 open/sample code 可供參考) | ||
| + | 1個, 2 個, 3 個案子.. 一直做下去, | ||
| + | |||
| + | 我只聽過玩 Online Game 玩到暴斃, | ||
| + | 如果部屬寫程式寫出興趣寫到上癮, | ||
| + | 我根本不用管, | ||
| + | |||
| + | 聯發科的開國元老原本在聯電中, | ||
| + | 宏達電開張第 4 年, 資金燒光, | ||
| + | 華碩在 Intel 放出要做 MB 消息時, 走掉一大批 RD. | ||
| + | 在初創階段, | ||
| + | (華碩現在有兩位協理, | ||
| + | 但還不是最後被他們搞起, | ||
| + | |||
| + | 我想找的, | ||
| + | 因自知條件比不上台清交, | ||
| + | 而不是畢業名校, | ||
| + | |||
| + | 我就是要這種拿穿草鞋的精神, | ||
| + | 用龍蝦鮑魚做出好菜不稀奇, | ||
| + | 只要肯學, | ||
| + | 把他帶上來. 依績效給他對稱的待遇. | ||
| + | |||
| + | |||
| + | 我印象非常深刻的事是, | ||
| + | 說一星期只有一個晚上能休息, | ||
| + | |||
| + | 有人肯幫我買數億元的設備, | ||
| + | 怎麼會覺得累, | ||
| + | |||
| + | 所以有幾個這種部屬, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 最近看的一本書 " | ||
| + | |||
| + | Worziak 提到他非常喜歡在 HP 當工程師, | ||
| + | 派出至少 5 個人以上的團隊, | ||
| + | 覺得受到威脅, | ||
| + | 完全將他柄除在外, | ||
| + | (當妒才, 不求長進, | ||
| + | |||
| + | 因 Worziak 做過 Artira 的Ping-Pong(乒乓)/ | ||
| + | 將其 TV output, 搖桿, 影音效果的技術, | ||
| + | 而他也做過盜打長途電話的藍盒子, | ||
| + | 運用在錄音帶來儲存 AppleI/II 程式的技術上. | ||
| + | (以前做過亂七八糟案子的技術能量, | ||
| + | |||
| + | 又他知道如何用軟體去控制硬體(寫電動遊戲時累積下來的軟體功力), | ||
| + | 把原先以純硬體觀念設計, | ||
| + | 搭配複雜的軟體設計, | ||
| + | (不要傻傻聽信 IC 廠 Sale 的話, 去買又貴又耗電, | ||
| + | 只要肯動頭腦, | ||
| + | |||
| + | 在設計 AppleII 時, 用最便宜的方法, | ||
| + | 讓 user 不用花錢另外買 monitor. | ||
| + | 而且只用 Apple1 一半的晶片數目, | ||
| + | (不要花錢裝內建的 3G 網路卡, 利用藍芽連接 3G 手機的能力, | ||
| + | 而不是害 User 多花錢, 讓一堆 IC 公司利用華碩去賺暴利) | ||
| + | |||
| + | 為了堅持 Apple II 應該有 8 個擴充槽, | ||
| + | 而被豬頭高階主管主導的 Apple III, 則慘遭開放式的 IBM PC屠殺. | ||
| + | (不要為省 connector 的錢, 而把 EeePC MINI PCI-E/DRAM 擴充槽拔掉). | ||
| + | |||
| + | 現在 Jerry 非常忙, 比周杰倫的牛仔還要忙, | ||
| + | 只要解決掉他覺得 EeePC 不好用的地方, | ||
| + | 另一位硬體出身的協理相當 Open mind, 這本書就是他推薦我看的, | ||
| + | 還蠻支持我對軟體附加價值的想法. | ||
| + | |||
| + | 最後只要滿足每個 PM 的出貨 schedule, 就不會天天來煩我. | ||
| + | 只要部屬有 meet 進度, 我根本不會去管他們要做什麼. | ||
| + | 讓他們自由發揮創意, | ||
| + | 反正最後是看績效, | ||
| + | |||
| + | 績效是很模糊的東西, | ||
| + | 才看得到績效的 Algorithm. 何者孰重 ? 有些人就是運氣好, | ||
| + | 主管誤以為績效高的案子, | ||
| + | |||
| + | 又套句史蒂芬周說的話: | ||
| + | |||
| + | " | ||
| + | |||
| + | 當主管的, | ||
| + | |||
| + | |||
| + | 在程式設計俱樂部上, | ||
| + | 問我有關 ACPI Driver 的事, 我叫他去看一些公開資料, | ||
| + | 越來越接近核心. 我就知道他真的有看這些資料. | ||
| + | |||
| + | 而且他說, | ||
| + | 我就是想找這種人來加入團隊. 但因他誤以為, | ||
| + | 想繼續練功, | ||
| + | |||
| + | 但我告訴各位, | ||
| + | 而能撐到最後的, | ||
| + | 只要放在以技術為主, | ||
| + | 甚至發揮出出乎意料的表現. 也不用管理階層天天在後面逼他們. | ||
| + | |||
| + | 況且我會先給舊版程式的 code, 讓他們 trace 打基礎, 有段緩衝期, | ||
| + | 還有老鳥可以問問題, | ||
| + | 像我現在, | ||
| + | 上網查技術資料, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 因 104 人力網站只能列出簡短描述, | ||
| + | 也無法讓應徵者充分了解我的規劃跟行事風格. | ||
| + | |||
| + | 因不想浪費彼此時間, | ||
| + | 是否能符合我提出的這些條件, | ||
| + | |||
| + | 若有興趣的, | ||
| + | 並註明應徵 EeePC 事業處軟體第五部軟體工程師. | ||
| + | 我只管 EeePC 事業處軟體第 5 部, 其他 EeePC 軟體部門不是我管轄. | ||
| + | |||
| + | 我不辦考試, | ||
| + | 目前我需求的人力有: | ||
| + | |||
| + | 1. 美術設計人員: | ||
| + | 需會操作 MAYA 等 3D 軟體並轉成 Direct3D 的格式, 會平面設計及網頁撰寫. | ||
| + | 需跟工業設計中心(MID) 合作. 重點在設計 Application 的外表圖案. | ||
| + | 在相關產業有 2 年以上的經驗. | ||
| + | |||
| + | 2. Window 應用程式開發人員: | ||
| + | 需 MFC 2 年開發經驗, | ||
| + | 開發 WinPE上 的工廠測試程式. 及開發次代安裝光碟程式, | ||
| + | 若學習能力強, | ||
| + | |||
| + | 3. Windows Display 驅動程式開發人員: | ||
| + | 有在 IC 公司從事過 Windows display device driver 開發經驗. | ||
| + | 工作項目: | ||
| + | 撰寫 VGA Memory/3D Engine 測試程式 on WinPE or XPE. | ||
| + | 後期負責維護/ | ||
| + | (這一塊技術我可以下指導棋) | ||
| + | |||
| + | 4. Windows LAN/ | ||
| + | 有在 IC 公司從事過 Windows WLAN/LAN device driver 開發經驗, | ||
| + | 具 NDIS, WinSocket 等相關技術背景. | ||
| + | 初期負責 EeePC 網路(LAN/ | ||
| + | device driver source code, 撰寫 WLAN/LAN/3G 相關測試程式 on WinPE or XPE. | ||
| + | 後期負責 EeePC Window base 通信標案的相關技術. | ||
| + | |||
| + | 5. Linux LAN/ | ||
| + | 同上, 只把 Window 平台換成 Linux 平台. | ||
| + | |||
| + | 6. Linux Device Driver開發人員: | ||
| + | 初期負責 trace and modify Linux device driver open source, | ||
| + | 確保在 EeePC 上的穩定度, | ||
| + | |||
| + | 7. Linux OpenGL開發人員: | ||
| + | 有在 Linux 2.6.0 版以上 開發過 OpenGL 的經驗. | ||
| + | |||
| + | 最後若認為自己有潛力但不符這些條件的人, | ||
| + | 3也可以拿自己寫的程式碼或產品來跟我談. | ||
| + | |||
| + | 有個副課長說我, | ||
| + | 但我告訴他, | ||
| + | 寧願這陣子, | ||
| + | 也不要急就章, | ||
| + | |||
| + | 若 2008 年 Q2/Q3 跟 HP/ | ||
| + | 確定 EeePC 事業處有足夠盈餘來養更多軟體工程師時, | ||
| + | 軟體第 5 部會擴大營業, | ||
| + | |||
| + | |||
| + | --------------------------------------------------------------------- | ||
| + | 工程師性格強烈的我, | ||
| + | BBS, www.23xx.com, | ||
| + | 公司內部早就有人看我不爽, | ||
| + | 我相信這篇文章, | ||
| + | 為了節省他們的麻煩, | ||
| + | |||
| + | 被公司受聘, | ||
| + | 連 MS 都有個內部員工網站, | ||
| + | 在裡面幹醮自家公司. | ||
| + | |||
| + | 主管跟部屬下班後, | ||
| + | |||
| + | 我也做好隨時離職的準備, | ||
| + | 只要創意/ | ||
| + | 我也相信還是有其他公司的總經理, | ||
| + | |||
| + | 華碩不就是因 4 位創辦人不爽老東家宏碁, | ||
| + | 我敢肯定說, | ||
| + | |||
| + | 微星老闆就非常有危機意識, | ||
| + | 就有 7, 8 個微星員工參加, | ||
| + | 而技嘉老闆跑去開寶嘉, | ||
| + | 從這點, 我就斷言微星會贏過技嘉. | ||
| + | 當老闆都開始不務正業時, | ||
| + | |||
| + | 已經脫離 ”為五斗米折腰” 階段, 若是沒人收留我, | ||
| + | 開 Window 驅動程式教學課程. 或當自由職的技術顧問, | ||
| + | 未來我可不想像 HC, Jerry 般, 天天開會從早開到晚, | ||
| + | 錢夠用就好, | ||
| + | 要去她的學校唸博士, | ||
| + | |||
| + | |||
| + | 最後祝大家都有個滿意工作, | ||
| + | |||
| + | 看著桌上兩隻 BANDAI MG 版 Hi-Nu/ | ||
| + | 跟一堆變形金剛: | ||
| + | 哦, 對了還有藏在櫃子裡的 1/350 大和號, X-Wing, Y-Wing, AT-WALKER, | ||
| + | |||
| + | 何年何月才能幫他們改裝甲, | ||
| + | 雖然網路有人代做模型上色. 但做模型的樂趣, | ||
| + | 在手中慢慢成形, | ||
| + | |||
| + | 寫到這裡各位大概猜出我的性格, | ||
| + | 我找的部屬, | ||
| + | 只有超安靜的環境, | ||
| + | </ | ||
| + | |||
| ====== 偷了世界的程式設計師 ====== | ====== 偷了世界的程式設計師 ====== | ||
| From: http:// | From: http:// | ||
| 行 361: | 行 1766: | ||
| 本文作者:蔡學鏞 | 本文作者:蔡學鏞 | ||
| 張貼日期:01/ | 張貼日期:01/ | ||
| + | |||
| + | ====== 畢業三年,同學基本都辭職了 ====== | ||
| + | 當時公司招了大批應屆本科和研究生畢業的新新人類。平均年齡25歲。那個新的助理,是經過多次面試後,我親自招回來的一個女孩。名牌大學本科畢業,聰明,性格活潑。私下裡我得承認,我招她的一個很重要的原因,除了她在大學裡優秀的表現之外,還因為她寫了一手漂亮的字。女孩能寫一手好字的不多,尤其像她,看起來長髮飄飄,多麼女性化的一個姑娘,一手字卻寫的鏗鏘倜儻,讓我對她不由多了很多好感。 | ||
| + | |||
| + | 手把手的教。從工作流程到待人接物。她也學的快。很多工作一教就上手。一上手就熟練。跟各位同事也相處的頗融洽。我開始慢慢的給她一些協調的工作,各部門之間以及各分公司之間的業務聯繫和溝通讓她嘗試著去處理。 | ||
| + | |||
| + | 開始經常出錯。她很緊張,來找我談。我告訴她:錯了沒關係,你且放心按照你的想法去做。遇到問題了,來問我,我會告訴你該怎麼辦。仍然錯。又來找我,這次談的比較深入,她的困惑是,為什麼總是讓她做這些瑣碎的事情?我當時問她:什麼叫做不瑣碎的工作呢? | ||
| + | |||
| + | 她答不上來,想了半天,跟我說:我總覺得,我的能力不僅僅能做這些,我還能做一些更加重要的事情。那次談話,進行了1小時。我知道,我說的話,她沒聽進去多少。後來我說,先把手頭的工作做好,先避免常識性錯誤的發生。然後循序漸進罷。 | ||
| + | |||
| + | 半年以後,她來找我,第一次提出辭職。我推掉了約會,跟她談辭職的問題。問起辭職的原因,她跟我直言:本科四年,功課優秀,沒想到畢業後找到了工作,卻每天處理的都是些瑣碎的事情。沒有成就感。我又問她:你覺得,在你現在所有的工作中,最沒有意義的最浪費你的時間精力的工作,是什麼?她馬上答我:幫您貼發票,然後報銷,然後到財務去走流程,然後把現金拿回來給您。 | ||
| + | |||
| + | 我笑著問她:你幫我貼發票報銷有半年了吧?通過這件事兒,你總結出了一些什麼資訊? | ||
| + | |||
| + | 她呆了半天,答我:貼發票就是貼發票,只要財務上不出錯,不就行了唄,能有什麼資訊? | ||
| + | |||
| + | 我說,我來跟你講講,當年我的做法吧:98年的時候,我從財務被調到了總經理辦公室,擔任總經理助理的工作。其中有一項工作,就是跟你現在做的一樣,幫總經理報銷他所有的票據。本來這個工作就像你你剛才說的,把票據貼好,然後完成財務上的流程,就可以了。 | ||
| + | |||
| + | 其實票據是一種資料記錄,它記錄了和總經理乃至整個公司營運有關的費用情況。看起來沒有意義的一堆資料,其實它們涉及到了公司各方面的經營和運作。於是我建立了一個表格,將所有總經理在我這裡報銷的資料按照時間,數額,消費場所,連絡人,電話等等記錄下來。 | ||
| + | |||
| + | 我起初建立這個表格的目的很簡單,我是想在財務上有據可循,同時萬一我的上司有情況來詢問我的時候,我會有準確的資料告訴他。通過這樣的一份資料統計,漸漸的我發現了一些上級在商務活動中的規律,比如,哪一類的商務活動,經常在什麼樣的場合,費用預算大概是多少;總經理的公共關係常規和非常規的處理方式。等等等等。 | ||
| + | |||
| + | 當我的上級發現,他佈置工作給我的時候,我會處理的很妥貼。有一些資訊是他根本沒有告訴我的,我也能及時準確的處理。他問我為什麼,我告訴了他我的工作方法和資訊來源。 | ||
| + | |||
| + | 漸漸的,他基於這種良性積累,越來越多的交待更加重要的工作。再漸漸的,一種信任和默契就此產生,我升職的時候,他說我是他用過的最好用的助理。 | ||
| + | |||
| + | 說完這些長篇大論,我看著這個姑娘,她愣愣的看著我。我跟她直言:我覺得你最大的問題,是你沒有用心。在看似簡單不動腦子就能完成的工作裡,你沒有把你的心沉下去,所以,半年了,你覺得自己沒有進步。她不出聲。但是收回了辭職報告。 | ||
| + | |||
| + | 又堅持了3個月,她還是辭職了。這次我沒有留她。讓她走了。 | ||
| + | |||
| + | 後來她經常在MSN上跟我聊天。告訴我她的新工作的情況。一年內,她換了三份工作。每一次都堅持不了多久。每一次她都說新的工作不是她想要的工作。05年的時候,她又一次辭職了。很苦惱,跑來找我,要跟我吃飯。我請她去寫字樓後面的商場吃日本料理。吃到中途,忽然跟我說:我有些明白你以前說的話是什麼意思了。 | ||
| + | |||
| + | 所謂的職業生涯,其實你很難預測到你將來真正要從事什麼工作,將來所要從事的工作,是否跟你在大學裡學的專業有關。大多數人,很有可能將來所作的工作,跟他當初所學的專業一點關係都沒有。從22歲大學畢業在26歲之間這四年,重要的不是你做了什麼,重要的是你在工作中養成了怎麼樣的良好的工作習慣。這個良好的工作習慣,指的是:認真,踏實的工作作風,以及是否學會了如何用最快的時間接受新的事物,發現新事物的內在規律,比別人更短時間內掌握這些規律並且處理好它們。具備了以上的要素,你就成長為一個被人信任的工作的人。 | ||
| + | |||
| + | 人都有惰性,也都願意用那些用起來順手的人。當你具備了被人信任的基礎,並且在日常的工作中逐漸表現出你的踏實,聰明,和細緻的時候,越來越多的工作機會就會提供到你面前。原因很簡單,用一句話就能交代清楚並且能被你順利完成的工作,誰願意說三句話甚至半小時交待一個怎麼都不明白的人呢?溝通也是一種成本,溝通的時間越少,內耗越少,這是作為管理者最清楚的一件事。 | ||
| + | |||
| + | 當你有比別人更多的工作機會去接觸那些你沒有接觸過的工作的時候,你就有了比別人多的學習機會,人人都喜歡聰明勤奮的學生,作為管理者,大概更是如此。 | ||
| + | |||
| + | 一個新手,大多數新手,在這四年裡,是看不出太大的差距的。但是這四年的經歷,為以後的職業生涯的發展奠定的基礎,是至關重要的。很多人不在乎年輕時走彎路,很多人覺得日常的工作人人都能做好沒什麼了不起。然而就是這些簡單的工作,循序漸進的、隱約的,成為今後發展的分水嶺。 | ||
| + | |||
| + | 漫不經心的對待基層工作的最大的損失,就是將看似簡單的事物性處理方式,分界成為長遠發展的能力問題。 | ||
| + | |||
| + | 聰明的人,總是不認為自己的能力有問題。時間長了,他會抱怨自己運氣不好,抱怨那些看起來資質普通的人,總能比自己更能走狗屎運。抱怨她容貌比自己好,或者他更會討領導歡心。等等等等。慢慢的,影響心態。所謂的懷才不遇,有時是這種情況。 | ||
| + | |||
| + | 工作需要一個聰明人,工作其實更需要一個踏實的人。在聰明和踏實之間,我更願意選擇後者。 | ||
| + | |||
| + | 而踏實,是人人都能做到的。和先天條件沒有太大關係。 | ||
| ====== 暴強的程式師考題 ====== | ====== 暴強的程式師考題 ====== | ||
society/programmer_chicken.1303962243.txt.gz · 上一次變更: 由 wenpei
