かやのみ日記帳

日々感じたことをつれづれと書いています。

あいらぶロシア的解決法

 

自分が勝手にロシア的解決法と呼んでいるものがある。シベリア送りとかそういう残酷なジョークのことではない。2chのテンプレが元ネタである。

 アメリカのNASAは、宇宙飛行士を最初に宇宙に送り込んだとき、無重力状態ではボールペンが書けないことを発見した。

 これではボールペンを持って行っても役に立たない。

 NASAの科学者たちはこの問題に立ち向かうべく、10年の歳月と120億ドルの開発費をかけて研究を重ねた。

 その結果ついに、無重力でも上下逆にしても水の中でも氷点下でも摂氏300度でも、どんな状況下でもどんな表面にでも書けるボールペンを開発した!!

 一方ロシアは鉛筆を使った

という古いネタだ。

 

IT業界あるあるなのだが、1つの問題を解決するのに10の問題を解決することがある。


例えばあるコマンドを利用できなくなったとする。すぐに問題を解決しよう。
えーっとこれはOSのバージョンが違っているのか、インストーラーは…だめだ。
じゃあこれをインストールしてビルドするものをいれて…ライブラリがない。
だめだGoogle検索でもなかなかでてこない…これだ、このライブラリをいれると…
ん、既存のライブラリと競合している?あー…

 

とかなんやらやってると当初の問題から遠のいていく。たった5分の処理を自動化したいだけなのに、問題解決の問題解決の…に30分以上かかって疲れる。よくある。

こうした問題のことは古くからヤクの毛刈り(yak shaving)と言われる。

0xcc.net

この毛を刈るのにこっちの毛が絡んで…となかなか終わらないことを揶揄している。
ヤクの毛刈りはエンジニアとしての体力を育ててくれる…きがする。
問題解決の体力というか、しょっちゅう年がら起きるので基礎体力みたいなものだ。
こういうのを頑張るとトラブルシューティング力がつく…と思われている。

が、だんだん疲れてくるし、次から次へと新しい問題に生まれ変わってしまう。
Webフロントエンドなんか特にそうで、新しいソフトウェアは新しいバグを生む。
ヤクの毛刈りでは、同じ問題に2,3回あたっても次からは高速化できると思って頑張れる。

 

しかし昨今新しいソフトウェアが出てくるまでのサイクルが短くなりつつあり、非常にしんどい。時代としてもオンプレミスのばりばりパッケージよりも多少不便でもクラウドで運用おまかせのほうが楽なのである。よっぽど業務都合とか利益率に影響しない限りは。

 

なので内製ソフトウェア!とか自分でこのツール作っちゃお!とするよりもまず金で解決したくなる。もしくはもう手でもいいやとか。えんぴつが欲しくなっちゃうのである。かけりゃあいいのだ…という気持ちだ。

トラブルシュート力を鍛えるのは結構楽しい。調べていくうちにインポートされているOSSのバグを見つけてプルリク送って…とかもコミュニティに貢献していてとてもよい。バグ解決をブログに書けば、二人目三人目の被害者を救うことができるかもしれない。

 

でも自分は最近はえんぴつでいいや、と投げちゃいがちである。バグで動きません、じゃあ消して違うの使うか…。連携めんどくさいなあ、でも一回だし手でやっちゃお。

昔はこんなエンジニアにあるまじき怠慢は嫌いだったのだけど、目的を達成するためにサボるのはいいことであると思い直してきた。ただ、やりすぎるともはやエンジニアではないただの怠惰な人間にしかならないので、悩んでいる。

まあそれはそれとして、えんぴつは便利でありその選択肢は常に忘れないようにしたい。ヤクの毛刈りに使う道具の修理を始める前に。