2015年8月10日月曜日

餃子の皮から作るか既成品を買って来るかの話

弊社は素晴らしいCのプログラマばかり。
僕はほとんどCを書かずLLの甘えた環境で富豪プログラミングするので社内で良くディスカッションになることがある。
それは

  ◯◯を0から作るか外部から持ってくるか

という話。
◯◯はLibraryだったりサービスだったり色々あるのだけど僕は車輪の再開発は極力しない派。
Libraryの学習コストを含めても0から作るより持ってきたほうが良い品質で早く出来るから。
でも社内では時々で0から作ったほうが早い(納期も速度も)という話が出てくる。
たしかに既存のLibraryをラッパーしたりそれを改修したりするぐらいなら作りなおした方が早いこともあるのだけど「正気か?」みたいな規模の時でも発生する。
しかも事実彼ら(Cプログラマ)はほぼ当初の予定通り工数で仕上げてくる。
この現象についていい名前無いかなぁって話をオープンセミナー香川の懇親会で話をしたら@blue48さんが

「それはね、餃子の皮だよ」

と表現して感銘を受けた。
確かに職人はスーパーに言って餃子の皮を買って来るより自分で作ったほうが早いし美味い。
逆に俺みたいなパンピーは餃子の皮を買ってきたほうが早いし美味い。
どちらが正しいとかじゃなくて餃子に関して言えば

・前者はそこでしか食べれないクオリティの高い餃子を提供できる
・後者は安い早いそこそこ美味い餃子を提供できる

なので方向性の違い。
でその方向性の違いなんだけどエンジニアにもそれは言えるよなぁと。
つまりは自分が何処でスペシャリティを発揮するか。

そうやって自分のエンジニアとしてのポジションを振り返った時に色々思うこともあるなぁと言うお話でした。

なお、妻は餃子の皮は作る派です。