Konifar's ZATSU

私はのび太の味方じゃないわ、悪の敵よ

CIと食洗機

ソフトウェア開発の経験がない嫁氏と、たまに開発の話をする。いつだったか、たしか個人開発している時だったと思うが、CIとCDを先に整えておくのはとても重要という話をした。

仕事が終わってからもMacbookをいじっている自分に「今何してるの?」と聞かれたのがきっかけだった気がする。「開発に入る前の下準備だよ」「下準備って?」「やっておいた方がそのあとの効率がよくなることってのがいくつかあって、それをやってる」「たとえば?」「CI/CDの設定とか」みたいな感じ。そこからCIの説明に入った。ざっくりまとめると以下のような会話だ。


CIというのは、食洗機のようなものだ。我々も食洗機を使い出す前は「食洗機なくてもいいよね」という話をしていたと思う。しかし今はどうだ?食洗機がない生活は考えられない。食洗機をもっと早く買っておくべきだったという共通認識がある。

使い出す前はどうだったか。「何でも洗えるわけじゃないし、結局手で洗った方が早いのでは」みたいな話をしていた。それはその通りである。食洗機は必須ではないし、何でも洗えるわけでもない。しかし、一部やってくれるだけでも日々の業務がだいぶ楽になるし、何より食事で食器を使うことにためらいがなくなるので思い切った料理を作ったり一汁三菜をちゃんと意識したりと選択肢がぐんと広がる。

CIも同じだ。CIは、コードのテストを定期的に行ってくれたり、フォーマットを直してくれたりする。これは手元のMacbookでもできるし、あとで必要になった時に作ることもできる。ただ、あとで入れるより先に入れた方が絶対によい。コストをかけてでも最初にやっておくことで、開発で考えることが減る。結果スピードも上がる。これは自分が経験したどのプロジェクトでも同じだった。

これは個人開発だけれど、仕事でも同じだ。むしろ仕事の方が重要である。食洗機を経験した人が、食洗機のない家に引っ越そうと思うだろうか。思わないだろう。これが普通に行われているということは、エンジニア組織における採用優位性という観点でもとても重要なことなのだ。

そういう意味では、洗濯機も同じである。洗濯機は食洗機よりひとつ上の認知を取れている。洗濯物を手で洗う家庭はほとんどない。常識として根付いている。CIの初期導入も、結構常識として根付いてきている感はある。先人たちの頑張りによって当たり前の水準が上がった結果、洗濯機と食洗機の間あたりまで来た気がする。

ところで、Nature Remoを買いませんか。これも次の"食洗機"になりうると思いますよ。


現場からは以上です。