程序員上班有什麼提高效率技巧?


別上知乎。

---------------

看來和我有同感的人不少。。。。自從在知乎註冊了之後,我就感覺我走上一條不歸路。。。


手機全部靜音丟抽屜里。

調整自己的辦公室位置,坐在最顯眼的位置,或者別人能從背後看到你,你卻怎麼都發現不了其他人在觀察你的位置。

基本上保持這兩點,那麼時間利用率會提升到90%以上。

如果在別人注視下還能開小差,那就啥方法都沒用了,回家奶娃去吧。


  1. 使用流暢的電腦辦公,比如Mac,再比如加SSD的PC(謝 @張峻 補充)。最好是筆記本,方便找人溝通,方便會議攜帶。

  2. 電腦搭配各種高效穩定不崩潰的工具。為自己定製腳本會讓你更有成就感。

  3. 把打擾工作的彈窗都關掉,把閃動的任務欄設為自動隱藏,每隔幾分鐘處理消息。

  4. 學會用郵箱,使用郵件自動歸類到分類文件夾,善於打旗幟標籤(緊急待處理、有空閱讀等等)
  5. 盡情用IDE編碼
  6. 有條件設一塊小白板,分兩半,一半todo list,一半每天的工作重點(用於周報匯總)

  7. 小事情IM溝通,重要事情郵件溝通,緊急事情當面/電話溝通。溝通前想好關鍵點、目標(我需要準確傳達什麼信息,我需要得到什麼信息)。
  8. 少用滑鼠、多用鍵盤提高速度。
  9. 多配一塊屏幕輔助,省得來回切換窗口。
  10. 如果經常被人當面打擾,設置無打擾時段。或者讓對方郵件溝通,稍後答覆。
  11. 記雲筆記,特別是費好大勁整理出來的資料。輕而易舉就能拿到的資料沒必要花時間記,利用搜索引擎即可。
  12. 桌上放一本白色草稿紙和筆,你隨時需要利用圖表捋順思路。
  13. 捋順思路後不妨花點時間整理成思維導圖,下次看5秒的效果相當於花5分鐘重整思路。
  14. 避免重複勞動。相同的邏輯靠封裝復用節省時間,傳達同樣的信息靠文檔節省時間。
  15. 夜深人靜的時候自我review下白天寫過的代碼,說不定會有新發現。
  16. 不要懼怕deadline,它能讓你跑起來,前提是你得重承諾。
  17. 一心一用,保持高度專註。


番茄工作法。

推薦使用番茄土豆。(不是廣告,他們又沒送我VIP~~


前期打得偷,多採礦,多蓋建築,後期產能就大了。在你還是一個菜雞的時候就天天想著生產效率,把錢都拿來出狗,是永遠都成為不了本座的(除非諧星)。


我是一個Android程序猿,總結一下我在上班過程中提高效率的辦法:

1、用批處理clone代碼(通常都是一個工程需要依賴其它的工程,我都是通過批處理去拉的,比烏龜殼的git會快一點):

E:
cd E:git_projectlibproject

@echo downloading libproject1
git clone -b branch remote local

@echo downloading libproject2
git clone -b branch remote local

@echo downloading project
git clone -b branch remote local

@pause

2、通TotalCommand的批量重命名工具命名動畫圖片:

3、用Python寫腳本來清除log緩存和卸載第三方應用程序(RAM有限,在IDE中多運行幾次程序之後就會報空間不足無法安裝APK的問題):

具體參見:使用Python腳本批量卸載第三方應用和清除log緩存

4、用Everyting搜索本地磁碟的文件,這個估計大家都在用,就沒什麼說的啦,效率自然杠杠的;

5、用TotalCommand、Clover提高資源管理的使用效率,快速切換文件夾(又提到了TotalCommand,感興趣的可以去善用佳軟看教程):

6、用Clover保存經常瀏覽的文件夾路徑(CTRL+D),點擊一下即可切換到目的文件夾;

7、熟練使用Windows快捷鍵:CTRL+E、CTRL+R、CTRAL+ALT+TAB;

8、熟練使用Eclipse快捷鍵:CTRL+O、CTRL+B、CTRL+F11、CTRL+K、CTRL+F6、ALT+SHIFT+M、CTRL+M、CTRL+SHIFT+O、ALT+SHIFT+S、CTRL+D、CTRL+/、CTRL+W、CTRL+SHIFT+W等;

9、買了一個紅杏插件做為代理:上谷歌、上國外網站;

10、用Chrome插件Postman調試網路介面;

11、把經常用到的公用組件做成框架,比如資料庫、網路檢測、配置文件保存、設備信息獲取、列印等等,不斷完善和增加;

12、編譯程序的時候看書,有時候是開了兩個IDE,一個在編譯,另一個閱讀開源代碼或者做一些小功能;

13、有問題第一時間找谷歌和stackoverflow,在紅杏永不了的時候用百度;

總結起來一句話就是:重複勞動盡量通過工具來完成,有不能自己解決的問題第一時間找谷歌和stackoverflow,抽編譯的時間學習。


之前做的總結,拿去參考下:

上班途中聽令人振奮的音樂

每個人都會是起床困難戶,有人說早起上班的心情比上墳還沉重,又有人說一天之計在於晨,早起來首個吧,可以是神曲,可以很勁爆,可以很溫暖,也可以是慢慢的小憂傷,只要能調節你的情緒,喚醒你的精神,帶動你的激情開始一天的額生活。

提前到公司安排一天的任務

早一點到公司,可以整理一下自己的辦公桌,給身邊的小花澆澆水,計划下一天的工作,還可以順便瀏覽下今天的新聞頭條,看看哪家互聯網巨頭又幹了什麼奇葩事,哪個明星又高調的結婚了,比起每天趕點上班的踩鈴一族,你是不是愜意很多呢?

用碎片時間去處理郵件

時間這東西就像海綿,擠擠就有了,如何安排你那些繁瑣的小郵件呢,安排工作的時候不要先去查郵件,先關注手頭的工作,在剩下的碎片時間去整理郵件,午休過後犯困的時候,改bug沒思路的時候,再去整理郵件問題,不要讓著小之又小的事情打斷你的思路。

集中精神解決重要問題

這個是不得不說的問題,每個人高度集中精神的時間一般不會超過半個小時,所以工作是間歇性的,根據自己的習慣合理安排休息時間來恢復精神,以便更專註的投入接下來的工作中。

列出時間表,設立目標

做事情有目標才有動力

我為什麼做這件事,做這件事情要達到什麼樣的效果,都是值得思考的問題,所以安排工作的時候需要制定好時間和工作的重點,這樣更能高效的完成工作。

站著開會

科學實踐表明:人在站著的時候頭腦更清醒,精神更集中,開會的時候站立的姿勢更能提出更好的創意和想法,從而帶動整體的氛圍,是一個很好的習慣,一定要養成。

【如何提升工作效率】

1、列出具體行動和細分目標,把待辦清單畫成流程圖;

2、給每項清單任務附上優先度;

3、定時輪換任務調動積極性,花1小時在重要任務上,然後換著做一項容易而優先度較低的任務;

4、保持對重要任務的關注度,正在做一件事,卻不時想著另外一個事,請把那件事記下來,忙完後再去做。


  • 針對第一 @王傳正 的答案說幾點:
  • 使用流暢的電腦辦公,比如 ThinkPad T / W 系列

  • 學會用 GMail,尤其是 Inbox

  • 使用文本編輯器工作(比如 Emacs / VIM)
  • 用 Git 管理筆記,Grep 搜索簡單方便快捷
  • 使用機械鍵盤,有條件的就用靜電容鍵盤

  • 產品必須給出明確需求文檔,給了之後非特殊情況絕不允許修改,測試根據產品需求提bug,不準瞎bb什麼什麼需要怎樣才合理,那是產品設計的的,對不起要改找產品去。


    先推薦一本老書 卓有成效的程序員 (豆瓣) 。是我的 mentor 推薦給我的。裡面有很多提升效率的方法:

    1. 使用 launcher ,比如著名的 Alfred App - Productivity App for Mac OS X

    2. 熟悉各種搜索功能和工具,提升查找各種文件、數據、代碼、bug的速度
    3. 使用多顯示器
    4. 排除干擾
    5. 自動化
    6. ... ...

    話說回來,除了以上說的幾點以外,個人認為,解決具體問題的能力 是很能體現程序員效率和功力的地方。關鍵時刻出現的一些匪夷所思的bug往往是年輕的工程師(包括我)最無法戰勝的,而這個時候快速解決問題的人往往給人的印象更加深刻。

    所以要想提升效率更重要的應該是注重工作的實效性,尤其是在特殊情況下。最剛開始提到的那些更像是錦上添花~


    快捷鍵。

    熟練使用快捷鍵,不單能提高操作之間的切換速度。更重要的是它能時刻提醒你,你的軟體還有這樣那樣的功能(尤其是IDE上的功能)。


    老闆說活幹完就可以走人


    打開音樂播放器,戴上耳機,有條件拔掉網線,無條件關掉瀏覽器QQ,手機靜音,暫時無視所有產品經理和設計師。


    他應當具有大量的知識儲備,而不是花大量的時間加班寫代碼。

    明白軟體的根本,精通編程語言和演算法,那麼寫軟體是非常快的。

    但是,人們都是只顧著寫代碼,然後查書,然後接著寫。。。

    如果5年的工作生涯里,用兩年好好讀書,那麼5年寫的代碼可能1年就能寫完了。節省兩年時間,幹什麼不好。

    當我們計算一下自己寫軟體所耗費的時間,那麼會得到什麼呢?

    時間用在了:

    需求分析

    設計

    coding

    debugging

    當我們知道了上面每個任務所耗費的時間佔比,也就知道了怎麼做。

    我們先不考慮老闆處心積慮通過不斷升級獲得更多利潤的想法。只看一個programmer的工作。

    難道一定要在不同的任務中重複一些可以避免掉的事情嗎?

    所以,我認為一個好的程序員應當分析一下自己的工作。是否直到退休都不斷重複同樣的事情嗎?

    我們不應當成為coding的奴隸


    做一件事,做好它。


    算了吧,其實斷網就可以了。


    吃飯不要等人,吃飯不要等人,吃飯不要等人。。。特別是不要和那些喜歡在飯點前調bug的人一起吃飯


    上班時間,關掉qq,關掉手機…


    就我個人而言,沒有太多經驗可以分享。

    SSD算一個。


    和老闆坐同桌。


    推薦閱讀:

    有哪些簡體字日本比大陸簡化得好?哪些不如大陸好?台灣如果推行簡體字會沿用大陸的簡化字嗎?
    你在我的知乎 2016 活動中獲得了哪些成就?
    Lo 裝中你見過的最奇葩的柄是什麼?
    國外教育值錢在哪些方面?

    TAG:程序員 | RubyonRails | 調查類問題 | Android開發 | Nodejs |