注重實(shí)效的程序員的特征:
- 早期的采納者/快速的改編者: 喜歡試驗(yàn)各種新事物, 給你一樣新東西, 能夠很快掌握它
- 好奇:喜歡提問, 喜歡收集小知識(shí)
- 批判的思考者: 不會(huì)不先抓住事實(shí)而照搬別人的說法
- 有現(xiàn)實(shí)感: 會(huì)設(shè)法理解面臨的每個(gè)問題的內(nèi)在本質(zhì), 具有良好的感知力(事情有多困難, 需要多長(zhǎng)時(shí)間)
- 多才多藝: 盡力熟悉廣泛的技術(shù)和環(huán)境, 并努力工作
Tips:
- Care About Your Craft 關(guān)新你的技藝
- Think! About Your Work 思考!你的工作
注重實(shí)效的哲學(xué)
1. 負(fù)責(zé):
- Provide Options, Don't Make Lame Execueses 提供各種選擇, 不要找蹩腳的借口
2. 破窗戶理論:
- Don't Live with Broken Windows 不要容忍破窗戶
- 不要留著"破窗戶"(低劣的設(shè)計(jì), 錯(cuò)誤決策, 糟糕代碼) 不修, 發(fā)現(xiàn)一個(gè)修一個(gè)
- 暫時(shí)沒時(shí)間修理, 則將其放入注釋(comment out), 或者顯示"未實(shí)現(xiàn)", 或者用虛設(shè)的數(shù)據(jù)來替代(dummy data)
3. 協(xié)作:
-
Be a Catalyst for Change 做變化的催化劑
- 讓人參與正在發(fā)生的成功, 讓他們瞥見未來. 避免請(qǐng)求許可式去處理問題
-
Remember the Big Picture 記住大圖景
- 留心身邊變化, 不要只做自己在做的事情, 避免項(xiàng)目慢慢失去控制
- 避免溫水煮青蛙
4. 需求控制:
-
Make Quality a Requirement Issue 使質(zhì)量成為需求問題
i. 你所寫的系統(tǒng)的范圍和質(zhì)量應(yīng)該作為系統(tǒng)需求的一部分規(guī)定下來
ii. 讓用戶參與權(quán)衡, 不要一味增加新特性, 或者不斷潤飾代碼
iii. 今天的了不起的軟件比明天的完美軟件更可取
iv. 知道何時(shí)止步, 不要因?yàn)檫^度修飾和過于求精而損毀完好的程序, 它也許不完美, 但也不可能完美
5. 知識(shí)資產(chǎn)投資
-
Invest Regularly in Your Knowledge Portfolio 定期為你的知識(shí)資產(chǎn)投資
i. 定期投資: 必須定期為你的知識(shí)資產(chǎn)投資, 即使投資量很小, 但要持續(xù)投入
ii. 多元化: 你知道的越多, 你就越有價(jià)值; 掌握的技術(shù)越多, 就能在變化中更好的進(jìn)行調(diào)整
iii. 管理風(fēng)險(xiǎn): 不要把所有的技術(shù)雞蛋放在一個(gè)籃子里
iv. 低買高賣: 在新興的技術(shù)流行之前學(xué)習(xí), 它可能就和找到被低估的股票一樣困難, 但會(huì)得到巨大回報(bào)
v. 重新評(píng)估和平衡: 隨著行業(yè)變化隨時(shí)調(diào)整自己的技能
6. 批判的思考
-
Critically Analyze What You Read and Hear 批判的分析你讀到的和聽到的
i. 確保你的資產(chǎn)中的知識(shí)是準(zhǔn)確的, 沒有受到供應(yīng)商和媒體炒作的影響
7. 如何提出一個(gè)好問題
8. 如何交流
-
It's Both What You Say and the Way You Say It 你說什么和你怎么說同樣重要
i. 知道你要說什么
ii. 了解你的聽眾 (WISDOM)
1) What do you want them to learn? 你想讓他們學(xué)什么
2) What is their interest in what you've got to say 他們對(duì)你講的什么感興趣
3) How sophisticated are they? 他們有多富有經(jīng)驗(yàn)
4) How much detail do they want? 他們想要多少細(xì)節(jié)
5) Whom do you want to own the information? 你想要讓誰擁有這些信息
6) How can you motivate them to listen to you? 你如何促使他們聽你說話
iii. 選擇時(shí)機(jī): 讓你所說的適得其時(shí), 在內(nèi)容上切實(shí)相關(guān)
iv. 選擇風(fēng)格: 調(diào)整你的交流風(fēng)格, 讓其適合你的聽眾
v. 讓文檔美觀
vi. 讓聽眾參與: 如果可能, 讓你的讀者參與文檔的早期草稿制作, 獲取他們的反饋, 吸取他們的意見
vii. 做傾聽者: 如果想要大家聽你說話, 就必須聽他們說話. 鼓勵(lì)大家通過提問來交談, 或讓他們總結(jié)你告訴他們的東西, 把會(huì)議變成對(duì)話, 你將能更有效的闡明你的觀點(diǎn)
viii. 回復(fù)他人: 如果有人想你提問, 發(fā)郵件, 不要忘記回復(fù)
此文為讀 The Pragmatic Programmer
讀書筆記, @ 豆正三 原創(chuàng), 轉(zhuǎn)載請(qǐng)注明來源