首頁 後端開發 php教程 關於程式設計師的工作效率

關於程式設計師的工作效率

Jul 25, 2016 am 08:52 AM

今天早上我偶然遇到一篇George Stocker的文章《怎麼毀滅程式設計師的工作效率》,和一篇Joel Spolsky的《打一槍換一個地方》。這兩個部落格文章談論了程式設計師的工作效率的問題,尤其是降低工作效率的模式。所以我考慮到要分享我提高工作效率的實務經驗。
熱情
提高工作效率的第一個技巧是對你每天要上的專案充滿熱情。你一定要由衷的看好你要做的專案。你必須想像出來從現在開始的一年、兩年、三年後的結果會有多酷。有幾次我花了點時間來思考:hey NDepend(我的專案)已經在過去的兩年中逐步發展了這麼多。兩年前,我還想像它將會擁有的這些新功能和改進是本科幻小說,今天這都成真了,已經發送給現實中世界範圍內的用戶了。真爽!
耐心與信心
所以不只是激情,甚至愛和耐心也是需要的。衡量過去X年的工作成就讓我意識到一次做一個功能,一項改進,修復一個bug,寫一行程式碼,這種一次僅一個的思維讓我不斷進步。過去的每一次成功都正孕育著未來更多的成功,在每個小時裡都激發你自己變得更有工作效率,因為沒有比這更重要(專業)的事情了。
今天我好像整天都在解決一個煩人的bug,如果我不是一直這麼愚蠢很可能我已經在半個小時內修復它了!沒有一點壓力,在過去這樣的事情發生的太多了,回首這麼多年走過的路,我明白這就是我要走的路。這就是信心。
馬上開始
一個專案的中心點,應該是我們知道該往哪裡走。短期(數天,一週),中期(數月),長期(數年)。短期對我來說意味著我的程式碼庫塞滿了優先要寫的註釋,優先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.net
PHPCMS二次開發 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=5
CTO訓練營              5


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

See all articles