作業速度を上げ続ける

この記事は株式会社ヘンリー - Qiita Advent Calendar 2024の4日目の記事です。
先日はid:take7010さんの「採用の時に見るべきポイント 面接偏」でした。

今回は「作業速度を上げ続ける」をテーマに書きます。
ちょっとした作業を早く完了できるかは、1つ1つは小さなことですが、日々の積み重ねによって結果的に膨大な時間の差が生まれます。 良いエンジニアは、そういった時間を生み出し、もっと重要なことに時間を使っています。

では、どうすれば作業速度を上げられるかというと、一言で言えば「道具をこだわる・知る・磨く」に尽きます。
例えば、普段使いのエディタの機能・ショートカットを覚えるとか、そもそもエディタをより良いものに変えるとかですね。 ソフトでもハードでも何でも良くて、作業の中で触れるもの全てが対象です。僕は高級キーボードと呼ばれるものを色々試してみましたが、特に強いこだわりがないことが分かり作業速度の改善を感じることができませんでした。

今回は考え方や精神論、モチベーションといったものは置いておいて、実際に道具を変えた・改善した結果、変化を感じられているものを列挙していきます。

エディタを変えた

エディタを長年使用していたVSCodeからNeovimに乗り換えました。
しかし、普段使いのエディタはNeovimに乗り換えましたが、業務ではIntelliJ IDEAをメインに使っています。
ヘンリーではバックエンドの開発言語にKotlinを採用しており、Kotlinの公式LSPは一般公開されておらずjetbrains製のIntelliJ IDEAを使うのがデファクトなためです。

Neovimに乗り換えた理由はいくつかあります。

  • 1️⃣ 使い慣れた場合の速度感への期待
  • 2️⃣ ターミナルで作業を完了させたい
  • 3️⃣ カスタマイズ性の高さ

最初は不慣れなキーバインドに苦戦しましたが、1ヶ月を過ぎた頃にはVSCodeでは得られなかった圧倒的な速度を感じられるようになり、期待通りの結果を得られました。 Neovimに乗り換えて感じた一番のメリットは、とにかくカーソル移動が秀逸な点です。コードは読んでいる時間の方が長いので、大きなアドバンテージになります。

tmuxを使う

Neovimに乗り換えた理由の「ターミナルで作業を完了させたい」と同じ動機です。
以前はターミナルの画面を垂直分割して、複数サーバーの立ち上げなんかを画面カツカツの状態で行っていましたが、tmuxを使うことでスマートに画面(セッション)を切り替えられる上、自由に配置することが可能です。 何よりNeovimとの相性も良く、ターミナルへの引き篭もりが捗ります。

zshへの完全移行

長らく.bashrcで管理していたアレコレを.zshrcへ完全移行しました。
cdrの有効化や、zsh-syntax-highlightingを使ってシンタックスハイライトを有効化したりしました。特に気に入っているのはCtrl+rで実行可能なコマンド履歴の検索をpecoでインタラクティブに行えるように変更した点です。

以前はhistory | grep XXXXしたりデフォルトのコマンド履歴検索(Ctrl+r)を愚直に使っていたので、かなり快適になりました。 今思うと無駄な時間を過ごしていたなと感じます。

qiita.com

原始的な道具を知る・使う

これまでに紹介したNeovim(正しくは前身のvimやvi)やシェルも原始的な道具の1つといえます。
原始的な道具を使うことのメリットは何よりも形骸化しにくく、環境に依存しにくくポータブルな点です。

改善を続ける

ここまで紹介したものは全てファイルで設定が可能で、自分は変更をgitで管理しています。
どれも現時点のマイベストでしかなく、もっと作業が早くなる設定や新たなツールが今後、生まれる可能性があります。
今後も自身の作業速度を上げ続けるために継続的に改善・管理していきたいので、dotfilesについての紹介は省きますが、自身のdotfilesを育てはじめました。現状、mac以外での動作を期待していないのと、依存しているツールなどの自動インストールには対応していません。必要になったら足していきます。

github.com

以上です。
明日の株式会社ヘンリー - Qiita Advent Calendar 2024id:Songmuさんです。お楽しみに。