星期四, 7月 16, 2009

Performance Evaluation

Cross Department

1. 不會推諉責任,有擔待
2. 做事迅速,不延誤
3. 交付成果,值得信賴
4. 表達或傳遞訊息,清楚而且正確
5. 能傾聽對方陳述,給予適當或正面的回應
6. 溝通態度良好,友善不情緒化

Management Skill

Setting Direction我的主管有需要作決定時,能當機立斷做出決定,不拖泥帶水
我的主管在工作執行前,有完整的分析與規劃,並清楚指示出明確的決定與方向
Coaching & Communication我的主管能針對我的工作表現狀況及遭遇的困難,主動提供適當地工作指導與協助
我的主管會經常傳遞關於公司營運方向、經營成果、政策或指示等訊息,使我更加瞭解公司,並消弭我因為『不瞭解』所產生對公司的疑慮;我的主管與我溝通討論時,也能不預設立場,客觀傾聽我的想法或建議並予適當的回應
Empowerment & Enabling我的主管能瞭解我的專長及未來潛力,給予清楚且適任的工作內容;並安排適當之培訓計畫,使我獲得學習發展之機會,進而繼續貢獻所長與公司併同成長
我的主管能依據我的能力及潛力適時給予我工作表現之機會
Consequence Management我的主管對我的績效考核能給予公平及客觀的評核
我的主管在我表現佳時會適時給予獎勵;在表現欠佳時,也會即時要求並協助我改善之
Change Leadership我的主管對於新想法與新建議抱持開放的態度,不因過去成功的做事方法而拒絕改變可能已不合時宜的現有制度
我的主管對於管理或做事常提出新的點子或作法,對於改進現有制度或作法頗有成效

星期三, 7月 15, 2009

策略的形成—張明正

許多人說我善變,變得太快難以追隨,我在策略形成的階段的確是經常在調整改變,沒有定案,因此讓人覺得變幻莫測,但是一旦策略底定,我其實是只有微調,很少再改變,就勇往直前的執行到底了。

【三種預測】

在構思策略時,一定要有三種預測在心中:

(一)整個大環境經濟走向的預測

也就是所謂大勢所趨,防毒軟體的成敗繫於整個軟體業界的走向,因此我十分注意微軟、IBM、甲骨文等公司的動向,微軟的 Microsoft Direction、比爾蓋茲的所有著作演講、每季的財報等等,我不僅注意,而且牢記在心。軟體業的走向又繫於整個社會的資訊運用,也就是電腦資訊業的大勢,研究機構的報告,諸如 IDC 產業分析、Gartner 研究報告等等,我必要求趨勢經理熟讀,並且常與業界分析師討論。財務長奈吉則常與我分享來自金融證券業的各國、各行業、各家上市公司分析報告,也加強我對業界趨向的瞭解,這些都是我日常的基本工課。

(二)客戶購買行為的預測

我一再強調『客戶內心真正的想望』(Customer Insight),雖然經常做很多市調、焦點研究(Focus Group)等等,但是數字與言談並不能呈現客戶真正的想望,有時連使用者其實也不瞭解自己需要什麼,他們只知道問題所在。因此作市調、蒐集資料、分析行為是很重要的,但是最重要的,從所有書面資料中,要看到現有的問題,未來可能的解決方向,也就是要預測客戶的內在需求以及購買行為。沒有百分之百的資料正確性,數字也不會告訴你正確的答案,你必須有所預測推想,有所判斷。

(三)競爭者的行為預測

業界局面隨時在改變,你有一個動作、競爭者必有一個反應,這是一個競爭激烈的時代,不能只顧自己的行動,忘了這項行動將會牽引的效應,競爭者的動態要能確實掌握,瞭解他們的組織、產品策略、客戶反應等等之外,對我來說,最重要的是認識競爭公司領導人的個性,觀看他從前碰到變局的應變決策,聽取他對媒體、對公眾、對分析師的言論,逐漸認識他的商業慣性行為,用同理心去預測他將會有的決定。

有了這三種預測為基準,再來就是要善加發揮自己的核心競爭力,找到大環境中自己獨特的切入角度,也就是在整個商業價值鍊中定位出自己處在哪個重要關鍵環節,什麼要作、什麼不要作,一清二楚,然後以此為中心,發展出一團又一團延展的策略。在網路泡沫時期,我擔任日本軟體銀行創業投資的顧問,審核過得案件不下數百件,其中不少意氣風發的青年才俊,問他們策略是什麼,常常空口說白話:『我們的商業模式將是世界最好,只要 1% 的中國大陸人口使用…』『…利用網站賣各種產品給任何人…』講得非常有氣魄,我內心真想大喊,『Next,下一位!』所謂策略就是有所割捨,有所專注,不是什麼都做,也不是空想妄談。再好的策略如果沒有核心競爭力去執行,也都只是紙上談兵。

【虛心求教】

不過執行之前,仍然有一個階段很重要,那就是『求證』(Validation)的階段。擬定策略不能一廂情願,不能愛上自己的策略,許多人會不知不覺中只找有利的證據來證明自己的策略必定可行,但我總是逆向思考,極力尋求策略不可行之處,跟明知會反對我的人請教,這樣我可以發現漏洞,及早調整,讓策略禁得起挑戰,也就是在這個階段,常有人覺得我不可預測吧!

好的策略必須一再求證、測試,發現瑕疵漏洞,另想途徑或方法來彌補不足,有時甚至得全盤放棄,重新策劃。在這種求證的階段中,最怕的是自以為是的態度,『謙虛』是最重要的關鍵。

預測人人都可以瞎說,準不準就在這個求證過程的態度中,我曾與十分聰明精幹的主管合作,對於以上三種預測都能掌握,資料夠完整,思路也很清晰,但是或者不知求證,或者求證只為證明自己是對的,或者根本太驕傲、太自信,無法相信求證的結果,無法接受與自己預測不合的證據,那麼前面所有的功夫都白費,策略變成只有大膽預測沒有小心求證,所冒失敗風險必然增大。

這種太自信、很會為自己策略辯護的主管是我最害怕的,公司的策略就賭在他的自以為是上,所有資源被導引到大有風險的方向,不到十八個月又看不出真正成敗,能不戒之慎之呼?說話可以大聲,態度可以自信,做人可以臭屁,但是在決定公司成敗的策略上,如果不能虛心求教,接受改變,註定要付出代價。

【直覺的判斷】

當三種策略都做好,策略擬定又經過虛心求證之後,在真正決斷策略的那一刻,還是要仰仗直覺,因為不管事前準備如何完善,最終仍得計算風險得失,仍是選擇之下的一種冒險,判斷就在當下,而當下繫於直覺。直覺不是第六感,不是『爽就好』,而是經驗再綜合所有已經熟記心胸的資料分析,瞬間的爆發,這是人類最高的智慧表現(這是愛因斯坦所說的),決策高明與否,就在這最後直覺的判斷。

這是我決定策略時的過程,在預測與求證的階段,我不斷調整修正,不斷與相關專家和同仁討論,的確就予人『變個不停,無法瞭解』的印象,一旦策略決斷,我就不再改變了,就會擁有雷射光束般的專注(Laser Beam's Focus)。看看趨勢科技的『最佳血統』策略堅持多久不變,應該可以印證我的決策過程與專注執行。

我不怕改變,也不怕人家誤會我善變,我心中自有定見,變與不變之間並非沒有脈絡可尋,沒有道理存在,我要追求的是與時勢並進,讓競爭者措手不及,又能發揮自己核心實力的策略。

星期一, 7月 06, 2009

我的志願

大概也只有像這樣的轉換工作空檔,才有足夠的時間,有充足的精力,讓我好好天花亂墜的想些事情,甚至寫起『我的志願』這種老掉牙的國小等級作文題目。

說來也怪,當我開始比較認真的想將來要做什麼的時候,『電腦軟體工程師』是第一個進入我的志願排行榜的工作。但最妙的是,當時我才不過小學六年級,家庭背景裡也沒有任何親友的工作跟電腦有關。甚至我懷疑,那時候的我對這個名詞根本都還沒搞懂。

會知道這種工作還是跟小時後愛看電視有關。以前有齣八點檔的連續劇,裡面有個角色就是電腦軟體工程師。他是一個單親的爸爸,帶著一個小男孩,靠寫程式維生。工作方式就像現在的 SOHO 族,每天宅在家裡認真寫程式,忙起來連小孩子都忘記照顧。偶爾程式寫好了,就高高興興的帶著磁片去賣給客戶,拿到一筆錢,然後帶小孩子去吃大餐。

天曉得為什麼這樣的角色會在一個小學生心裡留下這麼深刻的印象,也許是潛意識裡覺得這樣的工作很酷吧。

後來初次接觸電腦,是在國一的暑期空檔,也是那時開始學寫程式。記得第一個程式用 BASIC 寫了個無窮迴圈,讓電腦印東西印個沒完。看著電腦螢幕瘋狂捲頁,似乎覺得這種東西充滿魔力。

上了國中之後,也開始迷上寫作。學人家去書店看散文,參加作文比賽,偶爾也投投稿。有一陣子還真的想當作家,除了學校規定的作文以外,還會固定自己寫些文章,沒有讀者就拿去請國文老師看。

國二開始喜歡上畫畫,也想當起畫家來。那時候畫素描,也畫水彩,偶爾用蠟筆。買一本空白畫冊,平常想到甚什麼就畫什麼。但後來不知怎麼,覺得這個領域離我很遠,也就慢慢放下了。

高中時代曾經想當過醫生,但確實的理由自己也說不上來。總之,在建中裡,成績好的學生都以醫學院為目標,似乎一切都是這麼理所當然。最後卻在聯考的前一個月打消讀醫學院的念頭。然後在聯考的志願卡上填上十二個國立大學的資訊相關科系,連電機系也不考慮。

以前也根本無法想像未來的自己會是如何,就這樣選擇寫程式,有點不著邊際,又似乎隱隱有種淵源,很奇妙。

星期六, 7月 04, 2009

Thinking in Java

http://www.mindview.net/Books/TIJ/

蠻早以前就聽過 Bruce Eckel 和他 Thinking in XXXX 系列書籍。Bruce 是少數在寫稿的過程當中,願意把草稿開放出來讓人下載的無私作者,並藉此和讀者們互動,瞭解讀者們的意見。

過去一直不明白為啥這系列書籍這麼受到大家推崇,總以為有了『The C++ Programming Language』、『C++ Primer』就不需要再多花時間去看其他的 C++ 書籍。直到最近拿 Thinking in Java 來讀,光看第一章就讓我讚嘆不已,邊讀邊想,點頭如搗蒜。

有這麼神奇嗎?嗯,這樣說吧,『The C++ Programming Language』以及『C++ Primer』比較像是嚴謹的學院派大師講課,三言兩語把很多重要的觀念講得很清楚。

Thinking 系列沒啥學院風格,反而像是一個身經百戰的老兵現身說法,把軟體開發過程中常遇到的種種問題提出來討論,然後引入 OOP 的概念,說明物件導向如何幫助我們處理這些問題。

很多人學 C++ 不明究理,class 切來切去,繼承來繼承去,搞到最後自己也不知道在做什麼,最後得出一個結論:『C++ 很討厭,太複雜了,不如直接用 C 來的單純』。如果是這樣,來讀 Thinking 系列吧,作者會很巧妙的告訴你為何會有這些複雜的東西,而這些東西又怎麼來幫我們解決程式開發上的問題。


All programming languages provide abstractions. It can be argued that the complexity of the problems you’re able to solve is directly related to the kind and quality of abstraction.

The programmer must establish the association between the machine model (in the “solution space,” which is the place where you’re modeling that problem, such as a computer) and the model of the problem that is actually being solved (in the “problem space,” which is the place where the problem exists).

Thus, OOP allows you to describe the problem in terms of the problem, rather than in terms of the computer where the solution will run. There’s still a connection back to the computer: each object looks quite a bit like a little computer—it has a state, and it has operations that you can ask it to perform.


不使用 Java 的人可以直接看 Thinking in C++。

倒是 Java 系列因為會拿來跟 C++ 作比較,所以會看到很多 Java 跟 C++ 在設計上的不同處。雖然這是老掉牙的比較了,但透過 Bruce 來講這些差異,絕對跟一般我們會看到的大眾觀點,有很顯著的不同,而且是會讓人豁然開朗的那一種。

星期五, 7月 03, 2009

Code Monkey

Code Monkey 指的是『靠寫程式維生的人』,大陸翻譯成『代碼民工』(也許應該叫『編程民工』才比較對)。
光看解釋聽起來還好,大家不都是靠某些技能維生嗎?但可不要隨便用來形容別人,因為這是略帶侮辱意涵的用語。



對某些程式員來說,每天的工作就是『磨』出程式碼來,而不會去分析既有的程式,思考更深一層的程式架構與設計方面的問題。就好比把石磨跟黃豆丟給一隻猴子,再怎麼樣猴子也能磨出些什麼東西來。但猴子卻不知道牠到底在做什麼,只知道牠這樣攪和幾下就可以有香蕉吃。

如果一個程式員只是每天在鍵盤上敲敲打打,弄出些程式碼來,那找一隻猴子來也能作差不多的事。

仔細想想就覺得發明這個名詞的人還蠻毒舌的。



另外一類是屬於自我貶抑的用法。例如在某些龐大組織架構下,底層的工程師離決策層太遠,沒有說話的份量,只能完全聽從指示工作。在這樣的組織裡,有如養了一批會寫程式的猴子。所以有人會這樣說:『別問我為什麼要這樣那樣,我不過是隻 code monkey』。

Code monkey 也可以用來形容自己的才能被嚴重低估。有些程式員每天得負責『噴』出大量的程式碼來,而寫的都是些簡單、固定而且毫無趣味的程式。『我的工作連隻猴子也能作』—他們覺得作這樣的工作真是太委屈自己了。

Are you a code monkey? Don't be a code monkey.



Code Monkey get up get coffee
Code Monkey go to job
Code Monkey have boring meeting with boring manager Rob
Rob say Code Monkey very diligent
but his output stink
his code not functional or elegant
what do Code Monkey think
Code Monkey think maybe manager want to write goddamn login page himself
Code Monkey not say it out loud
Code Monkey not crazy just proud

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
with big warm fuzzy secret heart
Code Monkey like you
Code Monkey like you

Code Monkey hang around at front desk
tell you sweater look nice
Code Monkey offer buy you soda
bring you cup bring you ice
you say no thank you for the soda cause
soda make you fat
anyway you busy with the telephone
no time for chat

Code Monkey have long walk back to cubicle
he sit down pretend to work
Code Monkey not thinking so straight
Code Monkey not feeling so great

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
with big warm fuzzy secret heart
Code Monkey like you
Code Monkey like you a lot

Code Monkey have every reason
to get out this place
Code Monkey just keep on working
to see your soft pretty face
Much rather wake up eat a coffee cake
Take bath, take nap
This job fulfilling in creative way
such a load of crap
Code Monkey think someday he have everything even pretty girl like you
Code Monkey just waiting for now
Code Monkey say someday, somehow

Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
with big warm fuzzy secret heart
Code Monkey like you
Code Monkey like you

星期三, 7月 01, 2009

2009 再回草嶺

記得第一次走草嶺古道是 2002 年初夏,在一個心血來潮的早晨隨興前往,而後就愛上這條依山傍海的古道,並期許自己可以每年都走一次草嶺,看風景之餘順便試驗自己的體能狀況。

隔年跟大學同學再走一次,但 2004 年就開了天窗,最近一次走草嶺是 2005 年的事(參閱:再回草嶺),距今整整已經四年。


草嶺古道上的虎字碑

2005 年那次是去美國出差(參閱:[美國出差記] 老油條)之前,大概是那陣子加班加到悶的發慌,所以趁假日走了一趟。當時應該怎麼也想不到,再次舊地重遊會等上四年,更想不到是這樣的時機。
(『老油條』這篇文章總會讓我想到小華。最近 NV 有人趁著 Computex 來公司跟我們開會,無意間提到了小華,才知道他還在 NV 工作。他應該過的不錯吧?希望他能過的不錯。)

通常大家走草嶺,都是從貢寮出發,慢慢走往大里。大概是我天生反骨,總是從大里開始倒著走。大里到啞口這段路途比較陡,走起來會比較辛苦,但只要看到了虎字碑,往後就是坡度平緩的下坡路段,讓人有種漸入佳境的感覺。



過了跌死馬橋的出口,大約是在貢寮跟福隆的中點,以前我都會向北走往貢寮。這次因為中午只吃餅乾,想說往南到福隆吃個便當慰勞一下自己(貢寮站很荒涼)。結果到了福隆站,一買完票就被售票人員催促著,火車要開了,趕快上車。上了火車才想起要吃便當這回事,結果車廂裡一堆人手捧福隆便當吃的津津有味,我看的很不是滋味。

『不吃便當我來福隆幹嘛?』真是傻眼。

lec-1 (2022-05-12) Accelerating deep learning computation & strategies

雖然用 DNN train/predict model 也好一陣子了,但這週才是第一次搞懂 cuDNN 是作什麼的 以前好奇過 tensorflow/pytorch 是怎麼做 convolution 的,FFT 不是比較好嗎? 下面的 reference 就給了很好的解釋: Wh...