2011年7月6日 星期三

[讀書筆記] Code Craft - Ch1~Ch3

1. 善於防守
  • 使用好的程式設計風格和合理的設計
  • 不要倉促地編寫程式碼
  • 不要相信任何人
  • 程式設計的目標是清晰,而不是精簡
  • 不要讓任何人做他們不該做的修補工作
  • 編譯時打開所有警告開關
  • 使用靜態分析工具
  • 使用安全的資料結構
  • 檢查所有的返回值
  • 審慎地處理記憶體 (和其他寶貴的資源)
  • 在宣告位置初始化所有的變數
  • 盡可能推遲變數的宣告
  • 使用標準語言工具
  • 使用好的診斷資訊日誌工具
  • 審慎地進行強制轉換
  • 提供預定的行為、遵從語言習慣、檢查數值的上下限、正確設定常數
  • 契約式設計 (design by contract)
2. 精心佈局
  • 程式師對程式碼充滿了熱情,因此程式碼的樣式相當能觸動他們的心弦
  • 如果你的團隊已經有了一個程式設計標準,那麼就使用這個標準,不要使用你自己喜歡的風格
3. 名正言順
  • 如果你無法想出恰當的名稱,那麼你也許就需要改變你的設計了。這是有地方不對勁的徵兆。
  • 在進行命名時,將重點放在清晰而非簡潔上
  • 在名稱中避免使用多餘的詞。尤其是在型別名中避免使用以下這些詞語:class, data, object, type

-----
讀了三個章節唯一喜歡的只有第一章而已,先花時間看別本好了,這本書就章節跳著看

2011年7月4日 星期一

[讀書筆記] Peopleware - 第六部 續集

27. 再談團隊殺手
  • 大部分團隊殺手所造成的傷害都來自於徹底貶損工作,或貶損從事該工作的人
  • 團隊會自動自發設定並堅持一個令人引以為傲的工藝標準
  • 管理階層相信藉由掛海報可以培養這些美德(品質),而非藉由努力工作和管理才幹
  • 長期加班是降低生產力的做法,多出來的工作時間總會被不良的副作用給抵銷掉
  • 當你打算動用團隊成員不同的加班能力時,這麼做往往會摧毀團隊
  • 最好不要為了如期完成而加太多班,即使那是一個當你無法如期完成時可以卸責的藉口
28. 競爭
  • 當孩子缺乏父母關愛,沒有注入足夠的時間、尊重、關注與感情,較容易產生競爭
  • 競爭有什麼影響?第一個被攜牲的,就是常見於健康團隊中,輕鬆而有有效的同儕指導
  • 當今知識工作者所組成的團隊普遍都是技術的混合體,我們越來越相信,大部分的指導係來自於團隊成員本身
  • 排除那些不能讓管理人員及工程師以工作成果為榮的障礙,這也就是說「尤其」年度考績制度及目標管理必須停用
  • 目標管理及其類似概念乃是管理上的逃避藉口,藉由過分簡化的外部激勵因素來刺激員工的表現
  • 任何對團隊成員的差別待遇,都有可能助長競爭,管理者有必要採取行動以降低或彌補這個影響
  • 促使團隊死亡的管理作為:年度薪資或獎懲考評、目標管理、讀美特定員工的特殊成就、根據績效稿賞、獎勵、分紅、幾乎任何形式的績效評量
  • 協助所有成員都了解,個人成功與整體成功緊緊相扣
29. 流程改善計劃
  • 當今大獲成功的標準幾乎全都是介面標準
  • CMM的似是而非,在於流程改善是好的,但流程改善計畫就不好了,或至少通常不好
  • 能幹的員工始終都在進行流程改善
  • 組織越「成熟」,就越不願意冒險
  • 貴公司最出名的災難專案,極有可能正是貴公司這幾年來所做過最棒的專案
  • 越改善了工作方法,工作就越艱難 - 剩下的都是更知識密集,需要更多技術與經驗的工作
  • 最值得做的專案,是那些會導致公司降級的專案
30.讓改變發生
  • 人們不只是排斥某個特定的改變,他們排斥所有的改變,那是因為人們痛恨改改
  • 頒布新體制的人將成為所有舊體制既得利益者的公敵,至於會從新體制中獲益的人,則不會積極地給予支持
  • 對於任何改變,相信、但心存疑慮者才是唯一有意義的潛在盟友,至於兩個極端,盲目忠誠者和強硬反對者都是真正的敵人
  • 改變能否成功,就看你如何管理相信、但心存疑慮者
  • 別指望以邏輯推理做為說服眾人的王牌
  • 咒語:對改變所做的基本回應並不是邏輯性的,而是情緒性的
  • 絕對不要貶損舊方法,相反地,應該讚美它,以利於走向改變發生的道路
  • 提醒人們任何改善都伴隨著改變,完全都不改變,就無法有所改善
  • 一個構想,一個簡化的「更好的做事方式」,就能從舊狀態直接改變至新狀態,事情沒有那麼簡單,絕對沒有
  • 改變的發生有賴引進外來因素:改變的催化劑
  • 混亂是改變的必經之路,沒有捷徑
  • 混亂階段越痛苦,就會覺得新狀態的價值越大 --- 只要你能抵達新狀態
  • 舊狀態 -> (外來因素) -> 混亂 -> (概念轉換) -> 施行與整合 -> 新狀態
  • 改變不可能在缺乏安全感的情況下發生
  • 人類天生對混亂狀態的恐懼感,也許有助於解釋小孩子比成年人更容易學習新事物
31. 人力資本
  • 人力資本你可以視為是非常有價值的,若是誤把它視為沉沒費用,只怕會引導經理人採取不當行動,無法留住組織投資的價值
  • 「無法留住組織投資的價值」是不良管理的主要結果之一
  • 費用 v.s 投資
  • 企業整頓的目的,在於擴大編制,而非縮減編制
  • 擁有知識工作者的公司必須明瞭,人力資本是他們最重要的投資,好公司早就這麼做了
32. 組織學習
  • 學習並非單純的經驗累積
  • 當組織自我改造,開始斟酌經驗所顯露出來的意涵,經驗方能轉化為學習
  • 學習受限於組織是否有能力把人留住
  • 有關組織學習的關鍵問題,並非如何去做,而是在哪裡發生
  • 學習型組織通常具備的特徵就是堅強的中階管理層,但很值得指出,如果有裁員的話,最常被裁的就是中階管理層
  • 把中階管理層從組織圖中刪除掉,肯定不利於學習,但反過來說卻不一定對,為了塑造出一個生氣蓬勃的學習中心,中階管理者必須相互構通,並學習和睦融洽地一起共事,這非常少見
  • 更糟的是,經理人缺乏成任何團隊凝結所必須的要素:產品共同擁有的感覺 「有好東西就佔為己有,無法佔有就毀掉它」
33. 終極的管理罪惡是……
  • 任何例行的會議多少都令人懷疑具有儀式的目地,而不是為了取得眾人的共識
  • 早期的人力過剩 - 專案始於規畫和設計,初期的活動若能由一支規模略小的團隊負責執行是最好不過的了
  • 時間分割不太容易被寒覺
34. 打造社區
  • 偉大經理人所能做的事情中最棒的:打造社區
  • 社區並不會自己出現在工作中,而是必須被創造出來的
  • 打造社區、使社區健全並滿足每一個人的科學,就是政治學
  • 拒絕政治是一個災難,是放棄經理人的真正責任


愛德華.戴明(W. Ewards Deming) 『轉危為安』 (Out of the Crisis) 1982

[讀書筆記] Peopleware - 第五部 在此工作應是樂事一樁

工作應該是快樂的

24. 混亂與秩序
  • 不再有混亂,我們也不會因此而更快樂,相反地,我們會因無聊而哭泣
  • 敞開心胸的經理人則不同,他們樂於把小睏小睏的混亂留給別人
  • 建設性地再造少量的混亂 - 先導專案、競賽、腦力激盪、緊張刺激的培訓經驗、訓練、旅遊、會議、慶祝、以及閉關
  • 先導專案就是把厚重的標準手冊放一旁,嘗試某些新穎而未經證實的技術,初期會很沒效率,這是改變的代價,但這份代價將使你得到新技術帶來的生產力提升,還有一個額外的好處,就是霍桑效應,亦即當部屬從事不同的新奇事物時,所爆發出來的活力與興致
  • 把專案當成採用某些新技術的先導專案,你可能會因此而花比較少的錢
  • 當成標準化所達成的是眾產品之間的文件一致性,而無法達到有意義的功能一致性
  • 先導專案必須特別注意:不要在任何專案中,對一個以上的新技術進行試驗
  • 在最健全的環境裡,專案成員都會了解,在每個專案中,以某個單一新技術進行試驗是受到鼓勵的行為,然而在其他方面就得按照標準來
  • 我們每天上班都應該要符合常規並遵守秩序,但還是要保有冒險,做傻事,以及少許建設性混亂的空間
25. 自由電子
  • 榮譽會員、大師,以及內部企業家 - 自己決定自己的工作
  • 大多數人的確如此 - 喜歡老闆講清楚要達成哪些目標才算成功
  • 最佳經理人的特徵,就是有能力找出少數兼具遠見與成熟的關鍵人物,然後任其自由發揮
26. 霍爾格。丹斯克
  • 喚醒沈睡的巨人

2011年7月2日 星期六

[讀書筆記] Peopleware - 第四部 培育高生產力的團隊

良好的工作經驗通常伴隨著某種程度的挑戰

18. 一加一大於二
  • 一支凝結的團隊,就是已經緊密結合到整體力量大於個別力量總和的一群人,他們從工作中所得到的快樂也超乎你預料工作本身所能給予的
  • 相信員工會自動接受組織的目標,正是管理上天真、過分樂觀的象徵
  • 我們除了倚賴「專業精神」之外,沒有什麼可以保證大家會朝共同的方向邁進
  • 要求他們把對專案的注意力轉移到公司稅潤上,不會有任何幫助,反而會使成功變得微不足道,並且失去意義
  • 我們的工作多半都不太需要真正的團隊合作,但團隊還是很重要,因為團隊的作用在於把大家導入同一個方向
  • 團隊的目地並不在於達成目標,而在於統一目標
  • 凝結團隊:優越感、產品共同擁有、樂在其中
  • 害怕派系是缺乏安全感的症狀
  • 凝結團隊或許自視甚高、自給自足、令人討厭、又排外,但跟任何可隨意替換與拼湊的人相比,他們更有助於經理人達成真正的目標
20. 團隊殺手
  • 你根本無法讓團隊凝結,你可以祈禱,也可以做些有利於凝結的事,但就是無法讓它發生
  • 應用水平思考法(Lateral Thinking) - 倒轉技巧 - 當問題怎麼也解決不了時,與其尋找達成目標的辦法,不如尋找達不到目標的辦法
  • 防禦性管理、官僚作風、實體隔離、時間分割、產品的品質降低、虛假的最後期限、派系控制
  • 只有一個地方,採取防禦態度一定會遭到反效果:你無法針對無能的部屬,事前採取防護措施,假如員工無法應付手邊的工作,你就註定會失敗,當然,要是這些人真的不適任,你就應該另覓新人;但是你一旦決定與這支團隊共事,最好的策略就是信任他們
  • 「你不信任他們」的訊息,沒有比這個訊息更能阻礙團隊形成的了
  • 太多管理者都搞錯了不該信任部屬的時機
  • 擁有做對事情的權利(在你上司眼中或政府眼中是對的)並不重要,唯有推有做錯事情的權利,才能讓你自由
  • 團隊必須相信自己賴以形成的目標,目標可以是任意的,但至少它得存在
  • 沒有團隊空間,就沒有立即而持續的強化作用,也沒有機會形成團隊文化
  • 沒有人會談品質降低的產品,他們談的是成本降低的產品,但這兩者通常導致相同的結果
21. 義大利麵晚餐
  • 成功將會帶來新的成功,生產力共鳴將會孕育出更多生產力共鳴
  • 天生的管理者潛意識裡就知道怎麼做對團隊最好
  • 藉由小規模而簡單的成功事件塑造整體經驗,你必須加倍觀寒,才能發現經理人介入其中的痕跡
  • 最好的主管,就是能不斷用這種方式管理,卻讓團隊成員感覺不出「有被管理」的主管
22. 敞開心胸
  • 培育凝結團隊是很倚賴運氣的事,沒有人可以持續成功,也沒有人可以保證凝結一定發生,特別是培育出最能幹的團隊
  • 鐵的事實:某些經理人擅長協助團隊凝結,成功機會也比較大
  • 敞開心胸的態度跟防禦性管理完全相反 - 它把人放在該被信任的位置,不採取任何自我防禦措施,完全信任底下所有的人
  • 一個傷害個人自尊的工作環境,其本身就是一種「病」
  • 你怎麼確定他們不會摸魚?答案很簡單,看他們帶回什麼樣的東西就知道了。
  • 對開發人員來說,目視監督是一個笑話,只有囚犯才需要目視監督
  • 臭鼬工廠就是一項藏於某處,在管理高層不知情的情況下所進行的專案,因為基層員工對產品的正確性深信不疑,所以拒絕接受管理階層放棄該專案的決定
  • 自然權威 - 師傅 + 學徒,經理人 + 工程師 (專業能力)
  • 員工比較在乎跟誰在一起工作而不是做那些專案
23. 團隊形成的化學作用
  • 營造追求品質的狂熱、提供許多令人滿意的完結(closure)、建立菁英感、允許並鼓勵差異性、保留並保護成功的團隊、提供策略性而非戰術性的指示
  • 一個普遍的認知就是,當團隊表現過於突出,便表示經理人怠忽職守,團隊是否嚴格遵守一致的公司標準,幾乎可說是經理人對團隊控制程度的象徵
  • 管理上若扼殺與眾不同,就會變得到處與眾不同,當員工表現出桀傲不遜、非常被動、或不願合作,就表示你可能管太多了
  • 假如你能影響部屬,使之更具生產力、更目標導向,但也更難控制,你會怎麼做?
  • 成功管理的本質就是讓所有人都朝相同的方向邁進
  • 這裡有一項很重要的準則,就是團隊必須在某些意識上與眾不同,而非處處與眾不同。 (軍方特種部隊)
  • 團隊是一種網絡結構,而非階層結構
  • 一點點介異性,就可能對建立凝結團隊有很大的幫助

2011年7月1日 星期五

我不是個好主管

雖然當主管也一段時間了,已經佔了我從開始工作到現在的時間50%,可是我一直沒有做好管理職,或許應該說沒有真的用心在做主管,有一些自己的想法都不知道對還是錯,卻又要帶給新人、資深的同事關於生涯規劃、工作心態的一些想法,說出來自己又沒有太大的把握,我在這方面還太嫩了,對於人生或管理上見識太少,人生經歷也太短,還需要有一個好的主管帶著我成長,如果自己還在人生的路上搖搖晃晃的又要怎麼帶領他人呢?

我可以教所有人有關技術的東西,這些技術我可以講得頭頭是道,因為我會一直學習進修加強自己工程師的能力,而且我很樂意教別人東西(當老師的天性?),非常開心有人來問我這些問題,還記得一個同事說如果問我問題的話,還要想辦法避免我講太多才行 XD,我想我有天份在專業技術上,但是管理的天份呢?我仍然不確定有沒有。在一間大概30人的公司,當個小小課長是蠻容易的,只要技術能力強就很容易升上去,但一個技術強的不代表能當個好主管。

當主管是完全不同領域了,需要不同的天份,我的心理還沒準備好這回事,也感受我屬下的包容,期許自己有一天能真正做好管理職,只是現在個人興趣還是在專業技術上,我還是沒辦法不寫程式啊。 :)

感謝我的前主管,雖然只帶了我2年多的時間,卻是我當主管的模範。


LinkWithin

Related Posts with Thumbnails