下記の記事で書いたコメントが絶妙に手の込んだものになってしまったので、せっかくなので記事にしてしまえ。
私はWeb系エンジニアで、いまはNode.jsを中心に触っています。
極端な例ですが、私が貸与されている開発PCは8GBのビジネスパソコンです。
下記のような非生産的タスクがたびたび必要になります。
- VSCodeで作業できるようになるまで待つ(アプリを温める) - 2分程度
- ブラウザクラッシュからの再起動 - 1分程度
- メモリ容量不足でサーバープロセスが起動しないため、閉じるアプリを選定 - 2分程度
- ServerlessのOutOfMemoryErrorでのテスト中断→プロセス再起動 - 3分程度
あと、下記は常日頃です。
- マウスクリックから反応するまで数秒待つ
- タイピングにキーボードが付いてこないので誤字る→チャット編集
- 単体テストを起動して終わるまで待つ(ブラウザすら触れない)
SSDへのスワッピングは常に発生してますし、むしろそれが無いと作業が出来ない。
(寿命は半分以下だと思います)
ざっくり、私が勝手にイメージするPCメモリ容量と生産性の関係をグラフにしてみました。
8GBを1としたときのイメージですが、log曲線を描くと思います。
※ 4GBは作業にすらならないので 0 です。
これに関して、開発言語、フレームワーク、開発規模、プロセス数、年代などが数値に影響すると思います。
最後になりますが、企業側からしてもエンジニアに言い訳をする要素を与えているので、
lose - lose の関係になると思っています。