提升軟體開發者效率的10個提示

infoq發表於2014-01-04

  Ilias Tsagklis是電信領域的一位資深軟體工程師,以軟體開發者的身份參與了多個應用與服務的開發工作。目前,Ilias是PCRF解決方案的技術領導者。他感興趣的領域包括多層架構、中介軟體服務及移動開發。近日,Ilias撰文談到了提升軟體開發者效率的10個提示,這些提示很具有普遍意義,希望能為各位軟體工程師工作效率的提升帶來幫助。

  在參加過幾次關於效率與時間管理主題的研討會並閱讀過一些關於這方面主題的圖書之後,我理解了一些意義深刻的概念,並對日常的工作方式有了更清醒的認識。通過這些學到的知識,我對日常的工作方式進行了完全的改造,並取得了極大的效率提升。我希望能與大家一同分享這些可以極大提升效率的重要提示,從而增進你的整體輸出。也許最重要的是,能夠讓你抽出時間做些別的事情。值得注意的是,下面這些提示既可以用在個人管理方面,也可以用在專業管理方面,這些原則本質上是一樣的。

  1.絕不要將閱讀郵件作為早上的第一件事

  請千萬別將閱讀郵件作為早上的第一件事。如果這麼做了,那麼你自然而然地就處於一種被動的狀態之下,而不是你希望的那種積極、主動的狀態。只在每天預先設定好的時間窗內檢視和回覆郵件,可以在午飯前,比如說12點到13點之間,然後在16點左右再看一次,因為這個時候你的能量可能處於下降的趨勢,檢視郵件並不會導致效率的降低。別擔心,那些所謂的“緊急”郵件在絕大多數時候並沒有那麼緊急。

  2.如果可能就別去開會

  在企業環境下,會議是頭號效率殺手。其實道理每個人都知道,只是有人不願意承認罷了。Dave Barry曾說過“會議讓人上癮,導致人們過於放縱,很多公司與大型組織都是習慣性開會,否則有些人可能就無事可做了”。值得注意的是,會議會導致多人效率的同時下降。如果不是那種非參加不可的會議,那就別參加了。你可以說手頭還有很多事情要做(也許事實就是如此),然後在會議後問一下參會的同事,瞭解一下重要的內容就行。

  如果真的有必要參加某個會議(這種情況其實並不多),那麼請記住下面這些原則:

  • 在下午效率下滑時開會。
  • 一定要設定好要討論的主題,別隨意發散。
  • 設定嚴格的會議結束時間,時間到了就立刻散會。
  • 會議結束時一定要確定好清晰的下一步行動計劃。

  3.別分心

  這個話題很大。在當今這個資訊時代,導致我們分心的事情比比皆是,這些事情阻礙了我們正常地完成工作。我將分心劃分為兩類:一是我們自己造成的,二是別人造成的。

  首先說說第一種。看起來很奇怪吧,但實際情況卻是我們自己導致自己效率下降,甚至有時都是無意識的。這種情況比比皆是:郵件、社交媒體的“重要”通知,在不同任務間頻頻切換,看到Hacker News或是Reddit上的有趣新聞等等。

  你應該創造這樣一種工作環境,那就是在工作時沒有任何東西能夠令你分心。首先關掉所有通知,比如說手機上的簡訊、Facebook更新等等。接下來,退出郵件應用,如果開著的話,請確保禁用掉自動傳送/接收選項。然後,不要訪問任何不會提升你效率的網站。我們都是極客,我相信你應該知道如何做到這一點。你可以通過比較底層的方式來編輯機器的hosts檔案,將facebook.com指向127.0.0.1,或是使用外掛來臨時禁用掉這些站點。我自己使用的是Blocksite外掛。

  下面談談第二種。你可以說上面這些令你分心的情況是由其他人造成的,不過真實情況卻是你自己造成的,因為沒有人強迫你訪問Twitter或是Facebook。第二種我稱為“強迫”分心。這些情況是否出現在你身上呢?比如說,你收到經理髮的一封郵件,然後他問你是否收到了,諸如此類。事實上,這種分心是比較難抵禦的。有些建議,比如說戴上耳機(不過有時這樣也不管用)、讓來電進入語音郵箱,然後再去檢視,或是在PC上放一張紙,寫上“請勿打擾,編碼中”等等。你要看看哪種情況比較適合你的工作環境,然後採取相應的行動。總的目標就是讓工作能夠連貫下去。

  4.前一晚準備好任務清單

  你應該在前一晚準備好一個第二天要完成的任務清單。我這裡指的並不是那種巨大的清單,這樣根本就沒效果。相反,列出兩三個重要任務即可,這應該是會對專案產生重要影響的任務。比如說:如果今天搞定這兩個任務,那麼我的效率就非常不錯了。

  5.先做重要的事

  如前所述,郵件絕不應該是一天當中首先要處理的事情。那什麼是首先要處理的呢?當然是清單中最重要的任務了。你應該識別出最重要的任務,然後坐下來專心解決,而不要再去考慮別的事情。理想情況下,你應該一氣搞定,然後休息一會,再來做第二重要的任務。

  6.批處理並不是資料庫才有的

  我相信很多人都應該很熟悉批量查詢的概念。一言以蔽之,你將相似的資料庫查詢放在一起,然後在一個請求中傳送出去,這樣可以提升效能。你也可以在自己的任務中應用這條原則。也就是說,將某個任務的代價、各種開銷最小化。郵件、電話以及任何重複性的工作都是批處理的最佳應用場景。

  7.自動化

  新增到效率工具箱中的另一個東西就是自動化。作為程式設計師,本質上我們生活在一個相當自動化的環境中,不過我曾看到不少開發者使用手工的方式來解決本可以輕鬆自動化完成的事情。人類的可靠性不如機器,特別是在面對那些無聊和不太重要的事情時。請儘可能自動化你所面對的任務。比如說通過一鍵的方式來執行完整的應用構建,使用一個指令碼將應用部署到產品伺服器上。嚴肅地說,請不要將你的精力浪費在機器能夠更快、更可靠完成的事情上。

  8.調整工作與休息,實現效果最大化

  現在來談談如何建立良好的工作框架這個問題。我的建議是為工作分配特定的時間,同時為休息,或是娛樂分配特定的時間。比如說,你可以使用45分鐘的時間進行持續、集中的工作,然後花15分鐘休息一下,看看社交媒體更新情況,閱讀一些文章等。在休息時就別再盯著螢幕看了。久坐是非常不好的習慣,適當地站起身,走一走。

  9.將事情記錄下來

  將一切都記錄下來。無論是新想法,還是新的做事方式,要知道,大腦有時是不可靠的,你需要將這一切記錄下來才行。你可以將大腦看作是一個CPU,分配給它的東西就好比是在後臺啟動的程式。有時,程式會掛起,不能正常工作。將事情記錄下來則會解放大腦,可以讓其以更加優化的方式執行任務。

  10.利用心流,專心工作

  這是個聖盃,正是我們通過恰當地設計工作框架而要實現的東西,也是前面那些提示所要實現的終極目標。我敢肯定你經歷過“心流”的狀態,這指的是你的思維完全專注的一段時間,聚焦於特定的任務或是難題,甚至忘記了時間的流逝。頭腦中除了編碼,沒有其他的東西存在。外部刺激也不會令你分心。你需要將自己置身於能夠實現心流的狀態下,儘量保持更長的時間,這將極大提升你的生產率,我敢肯定你會非常喜歡這種狀態,為什麼不讓自己嘗試一下進入這種狀態呢?

相關文章