關於程式員的工作效率

來源:互聯網
上載者:User
今天早上我偶然遇到一篇George Stocker的文章《怎麼毀滅程式員的工作效率》,和一篇Joel Spolsky的《打一槍換一個地方》。這兩個博文談論了程式員的工作效率的問題,尤其是降低工作效率的模式。所以我考慮到要分享我提高工作效率的實踐經驗。激情提高工作效率的第一個技巧是對你每天要上的項目充滿激情。你一定要由衷的看好你要做的項目。你必須想象出來從現在開始的一年、兩年、三年後的結果會有多酷。有幾次我花了點時間來思考:hey NDepend(我的項目)已經在過去的兩年中逐步發展了這麼多。兩年前,我還想象它將會擁有的這些新功能和改進是本科幻小說,今天這都成真了,已經發送給現實中世界範圍內的使用者了。真爽!耐心和信心所以不僅是激情,甚至愛和耐心也是需要的。衡量過去X年的工作成就讓我意識到一次做一個功能,一項改進,修複一個bug,寫一行代碼,這種一次僅一個的思維讓我不斷進步。過去的每次成功都正孕育著未來更多的成功,在每個小時裡都激發你自己變得更有工作效率,因為沒有比這更重要(專業)的事情了。今天我好像整天都在解決一個煩人的bug,如果我不是一直這麼愚蠢很可能我已經在半個小時內修複它了!沒有一點壓力,在過去這樣的事情發生的太多了,回首這麼多年走過的路,我明白這就是我要走的路。這就是信心。馬上開始一個項目的中心點,應該是我們知道該往哪裡走。短期(數天,一周),中期(數月),長期(數年)。短期對我來說意味著My Code庫塞滿了優先要寫的注釋,優先5比優先4更為緊迫。這個聽起來好像一個非常基本的任務清單的方式,但任務清單又很強大的優勢。行動計划出現在編程操作必須要發生的地方。因此,在行動計划上開始工作就省去了尋找從哪些地方開始編程的優先順序的過程。馬上開始的這個行為(或不馬上開始的行為)是工作效率的殺手。因此能幫你馬上開始寫代碼的一切事情都是工作效率的資本。行動計劃的另一個好處是當所有的計劃都完成時,工作就完成了。由於所有圍繞著編程展開的任務(寫測試,程式碼檢閱,校正等)都能且必須被安排在行動計劃裡,所以不再有行動計劃是一個很簡單的工作完成了的定義。專註當然在某種程度上,行動計劃必須列出來,然後代碼就必須爬到它們最可能應該寫到的地方。通常當開始在一個東西(產品待辦項目目)上開始工作時就會發生這樣的事情。這時候產品積壓項目就會轉化為(幾個或許多)優先待辦事項,優先順序取決於產品積壓項目的規模。它可能是修複一小時的一個bug,或將需要3個月來開發的一項功能。每次不應該有超過10個優先待辦事項,因為一個提高工作效率的重要的技巧是專註於你在做的事情。因此這個功能可以被分解為90個一類優先順序和10個二類優先順序待辦事項,然後我們就可以再90個一類優先順序待辦事項中挑選出10個來完成。如果當前在做的二類優先順序待辦事項太值得了,你可以把它轉化為三類優先順序待辦事項等等。這樣一來,每天早上你只需要尋找你工作空間裡的待辦事項就能立刻知道該做什麼了。你就不用去考慮今天該幹什麼,馬上開始,保持專註就夠了。目標對中期(數月)和長期(數年)目標進行想象,能培養工作激情和一天天的工作效率。必須有兩個待辦事項清單保持做到這一點。由於NDepend緊跟著Visual Studio的發布所以我們的衝刺期大約有12個月到18個月。所以我們有一個中期清單,上面列出從現在開始到N個月後我們要發布下一個主要版本需要做的事情。中期清單被ROI(投資報酬率,即功能效果與開發投入之比)和使用者的聲音共同驅動著,後者為每一項未來功能的效果提供了很好的建議。這同樣適用於長期清單,不被衝刺期限制的清單除外。心理到目前為止,我特別提到了幾個專案管理和組織經曆,這些都說明了保持完整的激情能提高工作效率。但激情、耐心、資訊、馬上開始、專註、定目標都與心理有關。這裡有幾個保持高效率的經典的常心理學慣例: 有一個健全而快樂的生活當然是必不可少的。對個人而言除了編程我生活裡還需要其他事物:朋友,家庭,孩子和業餘愛好。每天都有幾個小時必須專用於代碼之外的東西。一個人一定要睡好覺,並在正常的時間段工作。當你最專註工作的時候(一般是清晨或深夜)你必須要確定時間,並且盡量能走在這個特殊的時間裡工作。這個道理聽起來對你(和我)很明顯,但那些超級令人討厭的個人一定要注意這個。你不可能埋頭一天敲14個小時的代碼還在長期項目中保持工作效率。我發現運動成為我編程生涯中最提升創造力的方式。經常跑步對我來說是一個提高工作效率的慣例。這過程中不僅會讓我很自然的想出新主意,還會因耐力運動引發迅速分泌內啡肽激素,能很好的緩解痛苦和壓力。跑步的人實際上很容易對這個上癮,這是一個非常爽的過程。我把運動時間也當做工作時間的一部分。這樣做是非常實用的,從不會錯過任何會議。順便提一下,我最近發現阿蘭·圖靈在跑步時就想到了許多超級棒的想法(他幾乎能跑1948年的奧運會馬拉松比賽了)。除運動外,我每天還冥想,尤其是MBSR(正念減壓療程)。這樣做會讓我更安靜,平和,專註。MBSR非常簡單,在每天幾分鐘的會議期間都能做好幾遍。它主要基於通過觀息,察覺,感受環境來開發人感受當下的能力。關鍵是要發展“不以物喜,不以己悲”的能力。我們都知道,一個人想要長肌肉就必須鍛煉,但很少有人明白大腦也能而且必須訓練才能好用。一般情況下,MBSR和冥想是用來訓練開發大腦和認知能力的。當把心理學和工作效率聯絡到一起的時候,我們經常會聽到“流動”的概念。“在流動的狀態”意味著完全專註於當前的活動。達到“流動”的條件,就是工作效率之神:對工作保持激情和紮實的技能。我們經常會聽到要熟練掌握一門技能需要10000小時的練習。“流動”更多發生在經驗豐富的程式員身上。神奇的“流動”發生的另一個條件是:去接受有足夠挑戰性的任務。做簡單的事情是不可能達到”流動“狀態的。好訊息是編程(技能牛的)這項工作並不簡單。當然,當談到工作效率的時候避免被打擾也是一個很重要的方面。有些打擾你能控制,比如每天在批處理模式下處理郵件兩次,而不是在網上辯論,不定期地瀏覽社交網路等,這就是冥想和運動能起到的重要作用了,因為專註度在提升。也有不可控的打擾,不論是同事,會議或孩子們(如果你在家辦公的話)。除了應付這些打擾並能儘快的專註起來之外,你沒有別的選擇了。對於沒能和我一起工作的人,這還有一個獎勵的理論。像我在一組安排裡面做3個小時的編碼工作,然後我就去海邊玩一個小時。這不僅對我一個人起作用。我把完成工作後如果自己想去海灘就去當做一個獎勵。獎勵理論可能會對那些對他們自己工作沒激情的人起作用。你職業生涯的第一責任就是要找到一個讓你有激情的工作。免費領取LAMP兄弟連原創php教程光碟片/《細說PHP》精要版,詳情諮詢官網客服:http://www.lampbrother.netPHPCMS二次開發 http://yun.itxdl.cn/online/phpcms/index.php?u=5開發 http://yun.itxdl.cn/online/weixin/index.php?u=5移動互連網伺服器端開發 http://yun.itxdl.cn/online/server/index.php?u=5Javascript課程 http://yun.itxdl.cn/online/js/index.php?u=5CTO訓練營 http://yun.itxdl.cn/online/cto/index.php?u=5
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.