プログラマの生産性を上げる4つの原則【プロダクティブ・プログラマ】

※本サイトはプロモーションが含まれています

プログラマの生産性は10^n (n>=2) オーダーで違います。

生産性を上げるためのには以下の4つの原則を意識するのが重要です。

  1. 加速
  2. 集中
  3. 自動化
  4. 正準化

 

プログラマの生産性を上げる4つの原則①「加速」

まず最初は「加速」。

「コンピュータを使う時に必要な段取りを減らす」ことが重要です。

 

例えば、こんな感じのツール入れていますか?

  • ランチャーでアプリケーションを効率的に起動する ※Claunchおすすめ
  • クリップボード拡張機能を使う ※Cliborおすすめ

 

あと、「マウスよりもキーボードの方が早い」のは知っていても、ショートカットを徹底的に覚えていない人も多いはず。

プログラミングする際に、劇的に生産性が上がるIDEのショートカットは以下の通り

  • クラスへジャンプ
  • シンボルリスト
  • インクリメンタルサーチ
  • 直近に編集していたファイルのリスト
  • ローカル変数の抽出
  • 選択範囲を1段階広げる

 

プログラマの生産性を上げる4つの原則②「集中」

プログラミングをする時に大事なのは集中力です。

しかしこれは簡単に消えてしまうもの。儚い資源なのです。

以下のような行動を取るのがオススメです。

  • 気を散らす要因を排除する(ヘッドフォン、メールクライアントの通知を切る)
  • 沈黙の時間を作る(他の人に声をかけるのを禁止する)
  • ファイルを探す時にナビゲーション(探索)をしないで、検索をする
  • モニターを複数にする
  • 仮想デスクトップで作業スペースを独立させる

 

集中力に関しては、DaiGo本が名著です。

 

あと私は、ノイズキャンセリングヘッドホンを使っています(職場にもよるでしょうが、生産性が1.5倍くらいになります)。

Sonyのノイズキャンセリングが一番性能良いので、生産性にお金を払える人はコレが良いですよ。

 

【追記】

Airpods proも性能がほぼ同じでしたので、今ならこっちのほうが良いかも。

 

プログラマの生産性を上げる4つの原則③「自動化」

ちょっとした道具を作れるようになると自動化ははかどります。

「手作業では一見大した手間はなさそうだが、実は自動化する価値が高い」

 というのがポイントです。

 

例えば、以下のような方法。

  • ローカルへキャッシュする
  • Webサイトとのやりとりを自動化する(curlコマンドなど)
  • RSSフィードを活用する
  • ビルド以外の作業の自動化にAnt / Groovy
  • 日常的な作業の自動化にRake(Ruby向けビルドツール)を使う
  • Webアプリの操作記録にSeleniumを使う
  • 例外情報抽出の自動化にBashを使う
  • バッチファイルではなくWindowsPowerShellを使う
  • Automatorを使い古いダウンロードファイルを削除する(Mac限定)
  • Subversionをコマンドライン上で使う(今はGitの方がいい)
  • SQLファイルの分割ツールをRubyで作る

 

自動化するか、手動でやるかは見極めが難しいです。

以下のような観点で考えるといいです(というか、毎回迷わないようにしておくのが一番大事)

  1. 自動化したほうが長い目で見て時間の節約になるか
  2. 集中力が途切れるか
  3. ミスをするリスクがあるか

 

プログラマの生産性を上げる4つの原則④「正準化」

「正準化」は聞き慣れない言葉だと思います。

重複した余分なものを省いて単純にすることを言います。

 

「Don’t Repeat Yourself(DRY原則)=同じことを繰り返すな」

と通じるものがあります。

ビルドマシンを正準化して、ローカルビルドをしないようにしましょう。

 

プログラマの生産性を上げる4つの原則 まとめ

そんな感じで、

  1. 加速
  2. 集中
  3. 自動化
  4. 正準化

という観点で自分の作業を見直すと効率が上がると思います。

ちょっと古いけど、この本で学べますのでどうぞ。

プログラマに限らず、全てにおいて重要なのが集中力なので、この本は必読です。

コメントはお気軽にどうぞ