程序員的職業(yè)素養(yǎng)--筆記

第一章 專業(yè)主義

  • 了解領(lǐng)域知識(shí)
    軟件開發(fā)人員必須精通的知識(shí):
    • 設(shè)計(jì)模式 GOF中的24種,POSA中的實(shí)戰(zhàn)經(jīng)驗(yàn)
    • 設(shè)計(jì)原則 SOLID原則带射,組件設(shè)計(jì)原則
    • 方法 Scrum他炊、精益、看板姆吭、瀑布榛做、結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì) 等
    • 實(shí)踐 測(cè)試驅(qū)動(dòng)開發(fā)内狸、面向?qū)ο笤O(shè)計(jì)检眯、結(jié)構(gòu)化編程、持續(xù)集成昆淡、結(jié)對(duì)編程
  • 學(xué)習(xí)和練習(xí)
    • 讀書锰瘸、看文章、參加技術(shù)大會(huì)昂灵、參與討論小組
    • 做一些簡(jiǎn)單的練習(xí)避凝,讓手指習(xí)慣點(diǎn)擊快捷鍵或者習(xí)慣的使用某些重構(gòu)技法。把這些當(dāng)做 熱身練習(xí) 或者 靜心過程
  • 合作
    • 嘗試與他人一起編程眨补、一起練習(xí)管削、一起設(shè)計(jì),從彼此身上學(xué)到東西
    • 獨(dú)處的時(shí)間也很重要
  • 了解業(yè)務(wù)領(lǐng)域
    • 有義務(wù)了解自己開發(fā)的解決方案對(duì)應(yīng)的業(yè)務(wù)領(lǐng)域
    • 開始一個(gè)新領(lǐng)域的項(xiàng)目時(shí)撑螺,應(yīng)該讀一兩本該領(lǐng)域相關(guān)的書佩谣,了解該行業(yè)的原則和價(jià)值觀念
    • 要理解業(yè)務(wù) 為什么 那樣規(guī)定

第二章 說不

  • 專業(yè)人士敢于說明真相而不屈從于權(quán)勢(shì)

  • 試試看

    • 許諾 嘗試,意味著你承認(rèn)自己之前未盡全力实蓬,承認(rèn)自己還有余力可施茸俭,意味著只要你再加把勁還是可以達(dá)成目標(biāo)的;而且這也是一種表示你將再接再厲去實(shí)現(xiàn)目標(biāo)的承諾安皱。因此调鬓,只要你許諾自己會(huì)去 嘗試,你其實(shí)是在承諾你會(huì)確保成功

第三章 說是

  • 做出承諾包含三個(gè)步驟:口頭上說自己將會(huì)做酌伊;心里認(rèn)真對(duì)待做出的承諾腾窝;真正付諸行動(dòng)

  • 逃避承擔(dān)責(zé)任傾向的幾個(gè)詞:需要/應(yīng)當(dāng) 希望/但愿 讓我們

  • 真正的許諾: 我將在……之前完成……

  • 幾個(gè)沒做到承諾的原因

    • 之所以沒成功缀踪,是因?yàn)槲壹南M谀衬橙プ鲞@件事
      你只能承諾自己能 完全掌控 的事情,如果最終目標(biāo)依賴于他人虹脯,那么你就應(yīng)當(dāng)采取些具體行動(dòng)驴娃,接近最終目標(biāo)
  • 之所以沒成功,是因?yàn)槲也惶_信是否真能完成得了
    即使目標(biāo)無法完成循集,你仍能全力前進(jìn)唇敞,離目標(biāo)更近些。比如發(fā)布前無法修復(fù)的bug咒彤,可以和QA一起努力重現(xiàn)這些bug疆柔,并在本周可支配的時(shí)間,嘗試逐一修復(fù)

  • 之所以沒成功镶柱,是因?yàn)橛行r(shí)候我真的無能為力
    因?yàn)橛行┦虑槭虑暗拇_沒有預(yù)料到旷档,但是如果你仍然希望自己不負(fù)眾望,那就趕緊去調(diào)整別人對(duì)你的預(yù)期歇拆,越快越好鞋屈!
    如果你無法兌現(xiàn)承諾,那么最重要的就是盡早向你的承諾對(duì)象發(fā)出預(yù)警故觅,越快越早越好厂庇。你越早向各方利益相關(guān)方發(fā)出預(yù)警信號(hào),整個(gè)團(tuán)隊(duì)就越有可能抓住機(jī)會(huì)逻卖,并重新評(píng)估當(dāng)前的活動(dòng)宋列,并決定是否采取措施或者作出改變

  • 如何說是

    • 試試的另一面,可以回答是评也,但是同時(shí)可以措辭更清楚的表達(dá)自己的不確定性
  • 堅(jiān)守原則

    • 不能放棄自己的底線炼杖,比如不寫測(cè)試,不做完整的回歸測(cè)試盗迟,代碼的清晰整潔
  • 專業(yè)人士對(duì)自己的能力極限了如指掌坤邪。他們十分清楚自己還能保持效率加班多長(zhǎng)時(shí)間,也非常明白要付出的代價(jià)

  • 結(jié)論
    專業(yè)人士不需要對(duì)所有請(qǐng)求都回答 “是”罚缕,不過他們應(yīng)該努力尋找創(chuàng)新的方法艇纺,盡可能做到有求必應(yīng)。當(dāng)專業(yè)人士給出肯定回答時(shí)邮弹,他們會(huì)使用承諾用語黔衡,以確保各方能明白無誤的理解承諾內(nèi)容。

第四章編碼

  1. 做好準(zhǔn)備
  • 我最糟糕的代碼腌乡,是凌晨3點(diǎn)寫出來的盟劫。
    在經(jīng)過18個(gè)小時(shí)高強(qiáng)度的編碼之后(還不算上每周工作60~70小時(shí)),我已經(jīng)想不出更好的解決方案了与纽。我記得侣签,當(dāng)時(shí)對(duì)自己能夠勝任長(zhǎng)時(shí)間工作感覺非常良好塘装。我記得那種獻(xiàn)身工作的感覺,自己當(dāng)時(shí)認(rèn)為影所,凌晨三點(diǎn)還在忘我工作是多么專業(yè)的表現(xiàn)啊蹦肴。當(dāng)時(shí)錯(cuò)的實(shí)在離譜!那些代碼后來回過頭來一遍又一遍的肆虐我們……
    這個(gè)故事給我們的教訓(xùn)是:疲勞的時(shí)候猴娩,千萬不要寫代碼阴幌。奉獻(xiàn)精神和職業(yè)素養(yǎng),更多意義上指 要遵循紀(jì)律原則 而非成長(zhǎng)為長(zhǎng)時(shí)間的工作狂胀溺。要確保自己已經(jīng)將睡眠裂七、健康和生活方式調(diào)整到最佳狀況皆看,這樣才能做到在每天的8小時(shí)工作時(shí)間內(nèi)全力以赴仓坞。
  • 焦慮時(shí)寫的代碼
    這時(shí)產(chǎn)出的任何代碼都會(huì)是垃圾,因此此時(shí)應(yīng)該先解決焦慮情緒腰吟。
    當(dāng)然有許多焦慮無法再一兩個(gè)小時(shí)內(nèi)便能解決无埃,而且老板也無法長(zhǎng)期容忍我們因?yàn)橐鉀Q個(gè)人問題而不投入工作。關(guān)鍵所在是要學(xué)會(huì)如何關(guān)閉后臺(tái)進(jìn)程毛雇,或至少要能夠降低其優(yōu)先級(jí)嫉称,這樣焦慮就不會(huì)造成持續(xù)的干擾。
    理想情況下灵疮,應(yīng)該使用個(gè)人時(shí)間去解決個(gè)人問題织阅。專業(yè)開發(fā)人員善于合理分配個(gè)人時(shí)間,以確保工作時(shí)間段中盡可能富有成效震捣。
  1. 流態(tài)區(qū)
    很多程序員在編寫代碼是會(huì)進(jìn)入的一種意識(shí)高度集中但思維事業(yè)卻會(huì)收攏到狹窄的狀態(tài)荔棉。在這種狀態(tài)下,他們會(huì)感到 效率極高蒿赢;在這種狀態(tài)中润樱,他們會(huì)感到絕無錯(cuò)誤
    但是羡棵,我們要 避免進(jìn)入流態(tài)區(qū)壹若。這種意識(shí)狀態(tài)并非真的極為高效,也絕非毫無錯(cuò)誤皂冰。這其實(shí)只是一種淺層冥想的狀態(tài)店展,在這種狀態(tài)下,為了追求所謂的速度秃流,理性思考的能力會(huì)下降赂蕴。
    在流態(tài)區(qū),你可能可以敲出更多的代碼剔应,其實(shí)可能沒有估計(jì)全局睡腿,因此你很可能會(huì)做出一些后來不得不推倒重來的決策语御。在流態(tài)區(qū)寫代碼可能會(huì)快一些, 但是后面你將不得不更多的回頭重新審視這些代碼席怪。
    當(dāng)我感覺到自己將要滑入流態(tài)區(qū)時(shí)应闯,就會(huì)走開幾分鐘,換換腦筋挂捻。
  • 音樂
    音樂有可能有助于你編寫代碼碉纺,也有可能將你們帶入流態(tài)區(qū)
  • 中斷
    粗暴相對(duì)的回應(yīng)方式通常都是因?yàn)榱鲬B(tài)區(qū)所致。被他人從流態(tài)區(qū)中拉出來刻撒,或者當(dāng)你正努力進(jìn)入流態(tài)區(qū)卻被其他人干擾時(shí)骨田,你可能都會(huì)十分生氣。不管哪種情況声怔,粗暴方式都與你如何看待劉流態(tài)區(qū)相關(guān)态贤。
    有時(shí)候并非是因?yàn)榱鲬B(tài)區(qū),而只是你正在努力理解一些十分復(fù)雜的東西醋火,這要求你必須全神貫注悠汽。
    中斷無法避免,總有干擾會(huì)打斷你芥驳、消耗你的時(shí)間柿冲。發(fā)生這種情況時(shí)要記住一點(diǎn),也許下次也會(huì)輪到你去打斷別人請(qǐng)求幫助兆旬。因此假抄,禮貌的表現(xiàn)出樂于助人的態(tài)度才是專業(yè)的態(tài)度。
  1. 阻塞
    有時(shí)候死活就是寫不出代碼來丽猬,通常會(huì)去找一些其他事情干宿饱;或者有一個(gè)結(jié)伴編程的小伙伴
    創(chuàng)造性輸出 依賴 創(chuàng)造性輸入,比如懸疑小說宝鼓,詩刑棵,科幻小說等等
  2. 調(diào)試
    測(cè)試驅(qū)動(dòng)開發(fā) 會(huì)顯著的降低調(diào)試時(shí)間,作者大約只有原來的十分之一
  3. 保持節(jié)奏
    軟件開發(fā)是一場(chǎng)馬拉松愚铡,而不是短跑沖刺蛉签。你無法全程一直以最快的速度沖刺來贏得比賽,只有通過保存體力維持穩(wěn)定節(jié)奏來取勝沥寥。無論是賽前還是賽中碍舍,馬拉松選手都會(huì)仔細(xì)調(diào)整好自己的身體狀態(tài)。專業(yè)程序員也會(huì)同樣仔細(xì)的保存好自己的精力和創(chuàng)造力邑雅。
  • 知道何時(shí)應(yīng)該離開一會(huì)
  • 開車回家路上
  • 洗澡
  1. 進(jìn)度延遲
  • 管理延遲的訣竅片橡,便是早期檢測(cè)和保持透明。
    • 最糟糕的情況是淮野,你一直都在告訴每個(gè)人你會(huì)按時(shí)完成工作捧书,到最后期限來臨之前你還在這樣說吹泡,但最終你只能讓他們大失所望。相反经瓷,要根據(jù)目標(biāo)定期衡量進(jìn)度爆哑,使用三個(gè)考慮到多種因素的期限:樂觀預(yù)估、標(biāo)稱預(yù)估舆吮、悲觀預(yù)估揭朝。把全部三個(gè)數(shù)字呈現(xiàn)給團(tuán)隊(duì)和利益相關(guān)者,并每天修正這些數(shù)字
    • 不要盲目沖刺色冀。 如果可憐的開發(fā)人員在壓力之下最終屈服潭袱,統(tǒng)一盡力趕上截止日期,結(jié)局會(huì)十分悲慘锋恬。那些開發(fā)人員會(huì)開始抄近路屯换,會(huì)額外加班加點(diǎn)工作,抱著創(chuàng)造奇跡的渺茫希望伶氢。這是制造災(zāi)難的最佳秘訣趟径,因?yàn)檫@種做法給自己瘪吏、給團(tuán)隊(duì)以及利益相關(guān)方帶來了一個(gè)錯(cuò)誤的期望癣防。這樣每個(gè)人都可以避免面對(duì)真正的問題,把做出必要的艱難決定的實(shí)際不斷后延掌眠。
    • 加班確實(shí)有用蕾盯,而且有時(shí)候也有必要。有時(shí)候蓝丙,通過一天工作是個(gè)小時(shí)再加上周末加班一兩天级遭,你確實(shí)能夠達(dá)到原本不可能的進(jìn)度。但是這么做的風(fēng)險(xiǎn)也很高渺尘。在額外加班20%的時(shí)間內(nèi)挫鸽,其實(shí)你并無法完成20%的額外工作。而且如果連續(xù)兩三個(gè)星期都要加班工作鸥跟,則加班的措施必?cái)o疑丢郊。
    • 最糟糕不專業(yè)行為就是明知道還沒有完成任務(wù)卻宣稱已經(jīng)完成。我們自欺欺人的認(rèn)為任務(wù)已經(jīng)完成的足夠好医咨,然后轉(zhuǎn)入下一項(xiàng)任務(wù)枫匾,我們自己給自己找借口說 ,其他還沒來得及完成的工作可以等有更充裕時(shí)間的時(shí)候再來處理拟淮。這種做法具有傳染性 干茉。如果一個(gè)程序員這么做,其他程序員看見了也會(huì)消防很泊。這些人中肯定會(huì)有人把“完成”的標(biāo)準(zhǔn)壓的更低角虫,后面其他人將會(huì)采用新的定義……可以通過創(chuàng)建一個(gè)確切定義的完成標(biāo)準(zhǔn)來避免交付失誤
  1. 幫助
    幫助他人 以及 接受他人的幫助

第五章 測(cè)試驅(qū)動(dòng)開發(fā) (很難做到……)

  • TDD 的三項(xiàng)法則
    • 在編好失敗單元測(cè)試之前沾谓,不要編寫任何產(chǎn)品代碼
    • 只要有一個(gè)單元測(cè)試失敗了,就不要再寫測(cè)試代碼戳鹅;無法通過編譯也是一種測(cè)試情況
    • 產(chǎn)品代碼恰好能夠讓當(dāng)前失敗的單元測(cè)試成功通過即可搏屑,不要多寫
  • TDD的優(yōu)勢(shì)
  • 確定性:通過測(cè)試的產(chǎn)品確信可以被交付
  • 勇氣:擁有一套值得新來的測(cè)試,可以打消對(duì)修改代碼的恐懼粉楚!
    當(dāng)程序員不再懼怕整理代碼時(shí)辣恋,他們便會(huì)動(dòng)手整理!整潔的代碼更易于理解模软,更易于修改伟骨,也更易于擴(kuò)展,代碼更簡(jiǎn)潔了燃异,缺陷也更少了携狭。

第九章 時(shí)間管理

  • 會(huì)議
    關(guān)于會(huì)議,有兩條真理:1)會(huì)議室必需的回俐; 2)會(huì)議浪費(fèi)了大量的時(shí)間

  • 拒絕
    受到邀請(qǐng)的會(huì)議沒有必要全部參加逛腿,你應(yīng)該理智的使用時(shí)間,謹(jǐn)慎的選擇應(yīng)當(dāng)參加哪些仅颇,禮貌拒絕哪些单默。
    邀請(qǐng)你參加會(huì)議的人并不負(fù)責(zé)管理你的時(shí)間,為時(shí)間負(fù)責(zé)的只有你忘瓦。

  • 離席
    會(huì)議并不總是按計(jì)劃進(jìn)行的搁廓。有時(shí)候你正參加某個(gè)會(huì)議,但是發(fā)現(xiàn)如果之前對(duì)此會(huì)議知道的多一點(diǎn)耕皮,就不會(huì)來境蜕。還有時(shí)候,會(huì)議臨時(shí)增加了一體凌停,或者某個(gè)討厭的家伙霸占了討論粱年。這些年來,我學(xué)到了一條簡(jiǎn)單規(guī)則:如果會(huì)議讓人厭煩罚拟,就離席台诗。
    仔細(xì)管理自己的時(shí)間是你的責(zé)任。如果你發(fā)現(xiàn)參加某個(gè)會(huì)議是在浪費(fèi)時(shí)間舟舒,就應(yīng)當(dāng)像個(gè)禮貌地辦法退出來拉庶。如果必須出席,可以選個(gè)恰當(dāng)?shù)臅r(shí)間來問問大家秃励。你可以解釋說 氏仗,自己抽不去更多時(shí)間用于這場(chǎng)會(huì)議,問問有沒有辦法加快討論,或者另選時(shí)間皆尔。
    重要的是呐舔,你應(yīng)當(dāng)明白,繼續(xù)待在會(huì)議室是浪費(fèi)時(shí)間慷蠕;繼續(xù)參加對(duì)你沒有多大意義的會(huì)議珊拼,是不專業(yè)的行為。因?yàn)槟阌胸?zé)任合理分配老板給你的時(shí)間和金錢流炕,所以澎现,選個(gè)格式的機(jī)會(huì)商量如何離席,并非不專業(yè)的做法每辟。

  • 確定議程和目標(biāo)
    為了合理使用有用的時(shí)間剑辫,會(huì)議應(yīng)當(dāng)有清晰的議程,確定每個(gè)議題所化的時(shí)間渠欺,以及明確的目標(biāo)妹蔽。
    如果收到會(huì)議邀請(qǐng),務(wù)必弄清楚指定的議題是什么挠将,每個(gè)議題花多長(zhǎng)時(shí)間胳岂,要取得什么成果。如果得不到確切的答案舔稀,你可以禮貌拒絕乳丰。
    如果你已經(jīng)出席會(huì)議,但發(fā)現(xiàn)已經(jīng)偏離或者是放棄了原有議程镶蹋,你應(yīng)當(dāng)要求詳細(xì)列出新的議題和議程成艘。如果沒有答案,也應(yīng)當(dāng)在合適的時(shí)候禮貌離席贺归。

  • 爭(zhēng)論/反對(duì)
    凡是不能再5分鐘內(nèi)解決的爭(zhēng)論,都不能靠辯說解決断箫。爭(zhēng)論之所以要花這么多時(shí)間拂酣,是因?yàn)楦鞣蕉寄貌怀鲎銐蛴辛Φ淖C據(jù)。所以這類爭(zhēng)論依據(jù)的不是事實(shí)仲义,而是信念婶熬。
    技術(shù)爭(zhēng)論很容易走入極端。每一方都有各種說法來支持自己的觀點(diǎn)埃撵,知識(shí)缺乏數(shù)據(jù)赵颅,在沒有數(shù)據(jù)的情況下,如果觀點(diǎn)無法在短時(shí)間內(nèi)達(dá)成一致暂刘,就永遠(yuǎn)無法達(dá)成一致饺谬。
    唯一的出路是,用數(shù)據(jù)說話

    • 提高嗓門谣拣、近距離對(duì)視募寨、擺出不屑的姿態(tài)族展,這都不重要,長(zhǎng)期來看拔鹰,強(qiáng)力是無法解決爭(zhēng)論的仪缸,最終還是需要數(shù)據(jù);
    • 有人同意結(jié)束爭(zhēng)論后列肢,消極的對(duì)待結(jié)果恰画,拒絕為解決問題出一份力。他們會(huì)安慰自己說:“既然其他人想要這么辦瓷马,那就這么辦吧” 這可能是非專業(yè)行為中最糟糕的了锣尉。千萬不要這么做,如果你同意了决采,那就必須拿出行動(dòng)來自沧。
    • 如果問題解決了,這個(gè)選擇就是對(duì)的树瞭。如果遇到了麻煩拇厢,你可以退回來選擇另外一條路。明智的做法是晒喷,選定一個(gè)時(shí)間點(diǎn)或者設(shè)定一系列標(biāo)準(zhǔn)孝偎,來決定什么時(shí)候放棄
    • 要小心這類會(huì)議:他們的目的是發(fā)泄情緒凉敲,或者讓大家戰(zhàn)隊(duì)衣盾,如果會(huì)議上只有一面之詞,就要避免參加爷抓。
    • 如果爭(zhēng)論必須解決势决,就應(yīng)當(dāng)要求爭(zhēng)論各方在5分鐘時(shí)間內(nèi)向大家擺明問題,然后大家投票蓝撇,這樣果复,整個(gè)會(huì)議花的時(shí)間不會(huì)超過15分鐘。
  • 注意力點(diǎn)數(shù)

  • 睡眠 專業(yè)的開發(fā)人員會(huì)安排好他們的睡眠渤昌, 保證清晨有飽滿的注意力點(diǎn)去上班

  • 咖啡因 對(duì)于某些人來說虽抄,適量的咖啡因可以幫他們更有效的使用注意力點(diǎn)數(shù)

  • 恢復(fù) 在你不集中注意力的時(shí)候,注意力點(diǎn)數(shù)可以緩慢恢復(fù)独柑。漫步一段長(zhǎng)路迈窟,與朋友聊天,看看窗外忌栅,都有助于恢復(fù)车酣。 我發(fā)現(xiàn),一旦注意力點(diǎn)數(shù)耗盡,你就沒辦法控制注意力骇径。你仍然可以寫代碼躯肌,但是多半需要第二天重寫,或者幾周之后備受這段代碼的煎熬破衔。所以更好的辦法還是花30到60分鐘換換腦子

  • 肌肉注意力 搏擊清女、太極、瑜伽之類體力活動(dòng)使用的注意力是不同的晰筛。即便需要全神貫注嫡丙,這種注意力也不同于編程時(shí)的注意力,因?yàn)樗麄冃枰氖羌∪獾淖⒁饬Χ恋冢幊绦枰氖切闹堑淖⒁饬?/p>

  • 時(shí)間拆分和番茄工作法

  • 25分鐘之內(nèi)曙博,不要讓任何事情打擾你的工作,如果有人來打斷你問問題怜瞒,禮貌的問他能否過25分鐘之后再來問父泳。畢竟,幾乎沒有事情會(huì)緊急到25分鐘都等不了吴汪。等25分鐘一過惠窄,停下手頭的工作,去處理這25分鐘內(nèi)遇到的其他事情漾橙,然后休息五分鐘杆融。然后再設(shè)定25分鐘,開始一個(gè)新的番茄時(shí)間段霜运。每完成4各番茄時(shí)間段時(shí)間脾歇,休息半小時(shí)。(可以參考其他書籍)

  • 重要的事情是淘捡,番茄時(shí)間是有生產(chǎn)率的藕各,你可以真正做點(diǎn)事情。用于應(yīng)付干擾案淋、參加會(huì)議座韵、休息等非工作事宜的時(shí)間,屬于非番茄時(shí)間

  • 不錯(cuò)的情況下你每天可以有1214個(gè)番茄時(shí)間段踢京,糟糕的只有23個(gè)

  • 番茄工作法的真正好處在于,在25分鐘的高效工作時(shí)間內(nèi)宦棺,你有底氣拒絕任何干擾

  • 要避免的行為

  • 優(yōu)先級(jí)錯(cuò)亂

    • 無論什么原因瓣距,我們都可以找到辦法逃避真正的工作。你說服自己有些工作更緊急代咸,所以轉(zhuǎn)去處理蹈丸,這種行為叫做優(yōu)先級(jí)錯(cuò)亂--提高某個(gè)任務(wù)的優(yōu)先級(jí),之后就有借口推遲真正急迫的任務(wù)。優(yōu)先級(jí)錯(cuò)亂是自我麻醉的謊言逻杖,因?yàn)椴荒苊鎸?duì)真正需要做的事情奋岁,所以我們告訴自己,其他事情更重要荸百。我們知道這不是真的闻伶,但還用它來欺騙自己。
    • 其實(shí)這不是在欺騙自己:我們真正做的是在準(zhǔn)備謊言--如果有人問自己在做什么事情够话,為什么這么做蓝翰,我們就會(huì)擺出這些謊言。我們是在為他人對(duì)自己的判斷尋找理由和借口女嘲。顯然畜份,不是專業(yè)的行為,專業(yè)開發(fā)人員會(huì)評(píng)估每個(gè)人物的優(yōu)先級(jí)欣尼,排除個(gè)人的喜好和需要爆雹,按照真實(shí)的緊急程度來執(zhí)行任務(wù)
  • 死胡同

    • 比如你做了決定愕鼓,選擇了而走不通的技術(shù)道路钙态。你對(duì)這個(gè)決定越是堅(jiān)持,浪費(fèi)的時(shí)間就越多拒啰。如果你認(rèn)為這關(guān)系到自己的專業(yè)信譽(yù)驯绎,就永遠(yuǎn)也走不出來。
    • 慎重的態(tài)度和積累的經(jīng)驗(yàn)可以幫你避免某些死胡同谋旦,但是沒法完全避免所有的剩失。所以你真正需要的是,在走入死胡同時(shí)可以迅速意識(shí)到册着,并有足夠的勇氣走回頭路拴孤。這就是所謂的 坑法則如果你掉進(jìn)了坑里,別挖甲捏!
    • 專業(yè)開發(fā)人員不會(huì)執(zhí)拗于不容放棄也無法繞開的注意演熟。他們會(huì)保持開放的頭腦來聽取其他意見,所以即使走到盡頭司顿,他們?nèi)匀挥衅渌x擇芒粹。
  • 結(jié)論
    專業(yè)開發(fā)人員會(huì)用心管理自己的時(shí)間和注意力。他們知道優(yōu)先級(jí)錯(cuò)亂的誘惑大溜,他們也珍視自己的聲譽(yù)化漆,所以會(huì)抵制優(yōu)先級(jí)錯(cuò)亂。他們 永遠(yuǎn)有多種選擇钦奋,永遠(yuǎn)敞開心扉聽取其他 解決方案座云,他們從來不會(huì)執(zhí)拗于某個(gè)無法放棄的解決方案疙赠。他們也時(shí)刻警惕著正在顯露的泥潭,一旦看清楚朦拖,就會(huì)避開圃阳。最糟糕的事情,莫過于看到開發(fā)人員在徒勞的拼力工作 璧帝,結(jié)果卻陷入越來越深的泥潭捍岳。

第十章 預(yù)估

預(yù)估是軟件開發(fā)人員面對(duì)的最簡(jiǎn)單、也是最可怕的活動(dòng)之一了裸弦。預(yù)估影響到的商業(yè)價(jià)值巨大祟同,關(guān)乎聲譽(yù),也給我們帶來了很多的苦惱和挫折理疙。預(yù)估是業(yè)務(wù)人員和開發(fā)人員之間最主要的障礙晕城,橫亙?cè)陔p方之間的種種不信任,幾乎都由它引發(fā)窖贤。
業(yè)務(wù)方覺得預(yù)估就是承諾砖顷,開發(fā)方覺得預(yù)估就是猜測(cè),兩者相差迥異赃梧。

  • 承諾

  • 承諾是必須做到的滤蝠。如果你承諾在某天做成某事,就必須按時(shí)完成授嘀。即便他意味著你必須每天工作12個(gè)小時(shí)物咳,放棄周末的休假,也不得不如此蹄皱。既然承諾了览闰,就必須兌現(xiàn)。

  • 專業(yè)開發(fā)人員不隨便承諾巷折,除非他們確切知道可以完成压鉴。道理就是這么簡(jiǎn)單。如果你被要求承諾做自己不確定的事情锻拘,那么就應(yīng)當(dāng)堅(jiān)決拒絕油吭。如果要求你承諾在某天完成,但是需要每天加班署拟,周末加班婉宰,取消休假,那么最后的決定取決于你推穷;不過芍阎,不要違背自己的意愿去勉強(qiáng)。

  • 預(yù)估

  • 預(yù)估是一種猜測(cè)缨恒。它不包含任何承諾的色彩谴咸。它不需要做任何約定。預(yù)估錯(cuò)誤無關(guān)聲譽(yù)骗露。我們之所以要預(yù)估岭佳,是因?yàn)椴恢赖降滓ǘ嚅L(zhǎng)時(shí)間。

  • 不幸的是萧锉,大多數(shù)軟件開發(fā)人員都很不擅長(zhǎng)預(yù)估珊随。這不是因?yàn)樗麄儧]有掌握關(guān)于預(yù)估的訣竅--根本沒有這樣的訣竅。預(yù)估的偏差總是很大柿隙,原因在于我們并不理解預(yù)估的實(shí)質(zhì)叶洞。

  • 預(yù)估不是個(gè)定數(shù),預(yù)估的結(jié)果是一種概率分布禀崖。不要只看到可能性最高的那個(gè)數(shù)字 衩辟,而要估計(jì)最大的數(shù)字。

  • 總結(jié)
    專業(yè)開發(fā)人員能夠清楚區(qū)分預(yù)估和承諾波附。只有在確切知道可以完成的前提下艺晴,他們才會(huì)給出承諾。此外掸屡,他們也會(huì)小心避免給出暗示性的承諾封寞。他們會(huì)盡可能清楚地說明預(yù)估的概率分布,這樣主管就可以做出合適的計(jì)劃仅财。

  • PERT Program Evaluation and Review Technique

    • O 樂觀預(yù)估狈究,為了保證樂觀預(yù)估有意義,這個(gè)數(shù)字對(duì)應(yīng)的概率應(yīng)該小于1%
    • N 標(biāo)稱預(yù)估盏求,這是概率最大的數(shù)字
    • P 悲觀預(yù)估抖锥,這是最糟糕的數(shù)字,也應(yīng)該小于1%
      平均時(shí)間 = (O + 4N + P) / 6
      標(biāo)準(zhǔn)差 = (P - O) / 6
  • 大數(shù)定律
    預(yù)估是非常容易出錯(cuò)的风喇,所以才叫做預(yù)估宁改。控制錯(cuò)誤的辦法之一是使用大數(shù)定律魂莫。該定律的意思是:把大任務(wù)分成許多小任務(wù)还蹲,分開預(yù)估再加總,結(jié)果會(huì)比單獨(dú)評(píng)估大任務(wù)要準(zhǔn)確的多耙考。這樣做之所以能提高準(zhǔn)確度谜喊,是因?yàn)樾∪蝿?wù)的預(yù)估錯(cuò)誤幾乎可以忽略,不會(huì)對(duì)總的結(jié)果產(chǎn)生明顯影響倦始。
    坦率的說斗遏,這也是比較樂觀的想法。預(yù)估中的錯(cuò)誤通常會(huì)被低估而不是高估鞋邑,所以拆分再加總很南做到完美诵次。不過账蓉,把大任務(wù)拆分成小任務(wù)分開預(yù)估,仍然是個(gè)好辦法逾一。有些錯(cuò)誤會(huì)被忽略铸本,而且拆分成小任務(wù)也更利于理解任務(wù)本身及其他意外因素。

第十一章 壓力

  • 避免壓力
    在壓力下保持冷靜的最好方式遵堵,便是規(guī)避會(huì)導(dǎo)致壓力的處境箱玷。規(guī)避的方式也許無法完全減除壓力,但是可以大大降低壓力陌宿,并縮短高壓力期的時(shí)間

  • 承諾
    業(yè)務(wù)方總是期望能夠拿到這些承諾锡足,因?yàn)樗麄兿胂L(fēng)險(xiǎn),我們要做的就是是風(fēng)險(xiǎn)定量化并將他們陳述給業(yè)務(wù)方壳坪,這樣他們就能做好相應(yīng)的準(zhǔn)備舶得。做不切實(shí)際的承諾會(huì)阻礙目標(biāo)的實(shí)現(xiàn),對(duì)公司和個(gè)人都沒好處弥虐。有時(shí)有人會(huì)代我們做出承諾扩灯。比如業(yè)務(wù)人員可能在沒有事先咨詢我們的情況下就像客戶做出了承諾。發(fā)生這種事情時(shí)霜瘪,處于責(zé)任感我們必須主動(dòng)幫助業(yè)務(wù)方找到方法來兌現(xiàn)這些承諾珠插,但是一定不能接受這些承諾。
    專業(yè)人士總會(huì)千方百計(jì)的幫助業(yè)務(wù)方找到達(dá)成目標(biāo)的方法颖对,但并不一定要接受業(yè)務(wù)方代為做出的承諾捻撑。最終,如果我們無法兌現(xiàn)業(yè)務(wù)方所作出的承諾缤底,那么該由當(dāng)時(shí)做出承諾的人來承擔(dān)責(zé)任顾患。

  • 保持整潔
    快速前進(jìn)確保最后期限的方法,便是保持整潔个唧。專業(yè)人士不會(huì)為了快點(diǎn)前進(jìn)而亂來江解。他們明白 快速但臟亂 是自相矛盾的說法,臟亂只會(huì)導(dǎo)致緩慢徙歼!

  • 危機(jī)中的紀(jì)律
    觀察自己在危機(jī)時(shí)刻中的反應(yīng)犁河,就可以了解自己的信念。如果在危機(jī)中依然遵循著你守持的紀(jì)律,就說明你確實(shí)相信那些紀(jì)律。反過來說般卑,如果在危機(jī)中改變行為,就說明你并不真正相信常規(guī)行為中的原則灭翔。
    如果平常時(shí)候你會(huì)注意保持代碼整潔,但在危機(jī)時(shí)刻你卻會(huì)產(chǎn)出會(huì)亂的代碼辣苏,說明你并不真正相信混亂會(huì)導(dǎo)致速度下降肝箱。
    選擇那些你在危機(jī)時(shí)刻依然會(huì)遵循的紀(jì)律原則哄褒,并且在所有工作中都遵守這些紀(jì)律。遵守這些紀(jì)律原則是避免陷入危機(jī)的最好途徑狭园。
    當(dāng)困境降臨時(shí)读处,也不要改變行為。

  • 應(yīng)對(duì)壓力

  • 不要驚慌失措
    呆坐著煩躁不安也于事無補(bǔ)唱矛,而你可能會(huì)煩的最嚴(yán)重的錯(cuò)誤,就是魯莽倉促井辜! 要避免產(chǎn)生孤注一擲的想法绎谦。魯莽倉促只會(huì)把你帶入更深的深淵。

  • 溝通
    讓你的團(tuán)隊(duì)和主管知道你正深陷困境之中粥脚。告訴他們你所制定的走出困境的計(jì)劃窃肠,請(qǐng)求他們的支援和指引。避免制造意料之外的詫異刷允。

  • 依靠你的紀(jì)律原則
    當(dāng)事情十分困難時(shí)冤留,要堅(jiān)信你的紀(jì)律原則。之所以你會(huì)將之奉為紀(jì)律树灶,是因?yàn)樗麄兛梢灾敢愣冗^高壓時(shí)期纤怒。這時(shí)候要更加留意全部的紀(jì)律原則,這不是質(zhì)疑或者無端放棄他們的時(shí)候天通。

  • 尋求幫助
    結(jié)對(duì)泊窘!結(jié)對(duì)伙伴會(huì)幫助你堅(jiān)守原則紀(jì)律,防止你手足失措像寒。搭檔會(huì)捕捉住你疏忽遺漏的事情烘豹,會(huì)提出有幫助的想法,會(huì)在你注意力迷失的時(shí)候接過你手中的工作繼續(xù)前進(jìn)诺祸。

  • 結(jié)論
    應(yīng)對(duì)壓力的訣竅在于携悯,能回避壓力時(shí)盡可能的回避,當(dāng)無法回避時(shí)則勇敢直面壓力筷笨°竟恚可以通過慎重承諾、遵循自己的紀(jì)律原則奥秆、保持整潔等來回避壓力逊彭。直面壓力時(shí),則要保持冷靜构订,與別人多多溝通侮叮,堅(jiān)守自己的原則紀(jì)律,并尋求他人的幫助悼瘾。

第十二章 協(xié)作

對(duì)做的事情充滿激情是好的囊榜,但是最好把注意力集中在付我們薪水的老板所追求的目標(biāo)上审胸。
專業(yè)程序員的首要職責(zé)是滿足雇主的需求。這意味著要和你的經(jīng)理們卸勺,業(yè)務(wù)分析師們砂沛,測(cè)試工程師們和其他團(tuán)隊(duì)成員很好的協(xié)作,深刻理解業(yè)務(wù)目標(biāo)曙求。這并不是說你必須成為業(yè)務(wù)方面的老學(xué)究碍庵,而是說你需要理解手上正在編寫的代碼的業(yè)務(wù)價(jià)值是什么,了解雇你的企業(yè)將如何從你的工作中獲取回報(bào)悟狱。
專業(yè)程序員最糟糕的表現(xiàn)是兩耳不聞窗外事静浴,只顧一頭將自己埋在技術(shù)堆里,甚至連公司業(yè)務(wù)火燒眉毛行將崩潰了也不聞不問挤渐。你的工作職責(zé)就要讓業(yè)務(wù)免于陷入困頓苹享,讓公司可以長(zhǎng)久發(fā)展下去
因此浴麻,專業(yè)程序員會(huì)花時(shí)間去理解業(yè)務(wù)得问。他們會(huì)和用戶討論他們正在使用的軟件,會(huì)和銷售人員與市場(chǎng)人員討論所遭遇的問題软免,會(huì)和經(jīng)理們溝通宫纬,明確團(tuán)隊(duì)的短期目標(biāo)和長(zhǎng)期目標(biāo)。
簡(jiǎn)而言之或杠,他們會(huì)將注意力放在如何與業(yè)務(wù)同舟共濟(jì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末哪怔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子向抢,更是在濱河造成了極大的恐慌认境,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挟鸠,死亡現(xiàn)場(chǎng)離奇詭異叉信,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)艘希,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門硼身,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人覆享,你說我怎么就攤上這事佳遂。” “怎么了撒顿?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵丑罪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)吩屹,這世上最難降的妖魔是什么跪另? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮煤搜,結(jié)果婚禮上免绿,老公的妹妹穿的比我還像新娘。我一直安慰自己擦盾,他們只是感情好嘲驾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厌衙,像睡著了一般距淫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婶希,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音蓬衡,去河邊找鬼喻杈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛狰晚,可吹牛的內(nèi)容都是我干的筒饰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼壁晒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瓷们!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秒咐,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤谬晕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后携取,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攒钳,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年雷滋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了不撑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晤斩,死狀恐怖焕檬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澳泵,我是刑警寧澤实愚,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響爆侣,放射性物質(zhì)發(fā)生泄漏萍程。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一兔仰、第九天 我趴在偏房一處隱蔽的房頂上張望茫负。 院中可真熱鬧,春花似錦乎赴、人聲如沸忍法。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饿序。三九已至,卻和暖如春羹蚣,著一層夾襖步出監(jiān)牢的瞬間原探,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工顽素, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咽弦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓胁出,卻偏偏與公主長(zhǎng)得像型型,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子全蝶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容