リモートで働くエンジニアが快適に仕事できる開発環境の作り方

僕はこれまで何年もエンジニアとして仕事をしてきました。そんな僕が開発をする上でもっとも大切だと思うのは「机の上」をいかに整えるかということです。
机の上をどのように整えるかで生産性は天と地ほども変わってきます。

実際、エンジニアとして働いている方はこだわりを持って机の上を作っていらっしゃる方も多いです。
「デスクツアー」で検索してみてください。こだわりのデスクがたくさん見られます。

では実際、どんな風にこだわりを持って机づくりをするのでしょうか。
この記事ではどのように「机づくり」をするのかについてお伝えできればと思います。

すっきりさせる

兎にも角にも「すっきりさせる」これがもっとも重要です。
とにかく余計なものは視界に入るところに置かない。ごちゃごちゃと色々置かない。
デスクの上はPCとディスプレイとキーボードとマウスだけにするのが理想的です。

特にスマホは視界に入ると気が散る原因になるので、私用と仕事用のものを分けて、デスクの上には私用のスマホを置かない。これは結構重要です。
スマホが視界にあるとついつい手を伸ばしたくなります。スマホが視界にあると集中力が著しく下がるという研究もあるほどです。
なので、これを机の上から排除するだけで結構生産性が上がります。

また、配線などが視界に入ると気が散る原因になるので、配線類は徹底的に隠蔽します。
隠蔽しきれない場合は、綺麗に束ねて「ごちゃごちゃ感」が無いようにスッキリとまとめます。
これだけで結構違います。

ディスプレイもPCもアームで固定する

これは机の上をすっきりさせるということと共通するのですが、必要なものもできれば机の上に直接置かないようにします。
ディスプレイとPC本体(ノートなら)をアームで固定するだけで机の上はかなりすっきりします。

これらを机に直置きしていると、めちゃくちゃ場所を取るので、それだけで「散らかっている感」があるんですよね。
それ以前に、直置きすると机の上がすごく狭くなってしまいます。
アームを使うのは絶対です。これは何よりも先に取り組んだほうがいいでしょう。

アームを設置する前と後では本当に天と地ほども快適度が違います。
まだ使っていない人は一刻も早く導入しましょう。

キーボードはメカニカルキーボードを使用する

キーボードは何を使っていますか?
僕は以前、電気街のジャンク屋のワゴンに入っていた980円のキーボードを使っていました。
それもまあ、それなりに気に入って使っていたのですが、メカニカルキーボードに変えた後はそれ以外使えない体になってしまいました。。

エンジニアたるもの、キーボードはもっとも大切な仕事道具なのでキーボードにはこだわるべきです。
メカニカルキーボードは打鍵感が全く違います。キーを押した時の感覚がなんとも心地いいんですよね。
軽い力で確実にキーを押すことができ、カタカタと小気味の良い音がなるのも良いですね。
在宅エンジニアでない場合は音が気になるかもしれませんが、赤軸とかなら音も静かなのでオススメです。

メカニカルキーボードと言っても色々ありますが、お店に行って実際に触ってみるのがいいでしょう。
東京や大阪にお住まいなら、ヨドバシカメラに行くとずらりと色々な機種が並んでいます。
ちなみに僕はKeychron K8という機種を使っています。バックライトも付いていてお気に入りです。
ロジクールからはK855という安価な機種も発売されています。
メカニカルキーボードとしては破格の1万円以下という価格なので、特別なこだわりがないのならこの機種でも十分だと思います。

さらに快適な開発環境にするために

ここからはデスクは関係ないですが、もっと開発環境を快適にするために導入したほうが良いツールをいくつかご紹介します。
とはいえ、どれも誰でも知っているものなので参考にならないかもしれませんが、もし導入していないのであればぜひ導入してください。

Docker

言わずと知れたコンテナ管理ツールですが、これを導入するだけで環境の管理が驚くほど簡単になります。
コンテナを起動するだけでローカル環境が立ち上がるので、複数のプロジェクトを進めている人は必ず導入したほうがいいです。
いちいちMAMPとかで仮想環境を作っているのが馬鹿らしくなるほどの快適さです。
また、リモート環境とも環境の一貫性を持たせることができるのもメリットです。デプロイが驚くほど楽になります。

MailTrap

メールトラップ。これも結構有名なサービスですね。
自動メール送信などのテストや動作確認をするときには必須のツールといえます。
これを導入すればtest@test.testとかhoge@hoge.hogeとか適当なメールアドレスで受信確認ができます。
これを導入するだけで自動メールの動作確認のために有効なメールアドレスを用意する必要がなくなります。

ChatGPT

もはや誰でも知っているChatGPTですが、仕事に活用していますか?
もし使っていないなら、一刻も早く使うべきです。
簡単な関数なら自動生成してくれますし、コードを調べたいときなどはGoogle検索で30分かかるところが2分で済むようになります。
また、言語やフレームワークごとにルームを分けておくのもポイントです。
ルームの最初のプロンプトとして、たとえば下記のような文章を打ち込んでおきます。

ここは私があなたに対してTypeScriptとReactに関する質問をする特別なチャットルームです。
私はTypeScriptとReactに関する質問をするので、あなたはTypeScriptとReact専門のエンジニアとして適切な回答をしてください。

これをやると、質問するときに主語を省けます。
上の例に出したプロンプトをルームの最初に打ち込んでおけば、その後の質問は1行で済む場合もあります。
例えば、「配列に新しい要素を追加したい」とだけ質問すると、TypeScriptの配列に新しい要素を追加するコードの書き方を提示してくれます。

コードはGitで管理する

仕事で使ったことがない人はいないと思いますが、もし使ったことが無いのならこれも使うべきです。
コードの管理がめちゃくちゃ楽になります。
また、マシンがクラッシュした場合にバックアップ代わりにもなります。
WindowsならFork、MacならSourcetreeなどのGUIツールを使用することで、直感的に使えるようになるので、これもおすすめです。