‘車輪の再発明’について考える

こんにちは、プログラマの三浦です。

今回は車輪の’再発明’ reinventing the wheel について書きたいと思います。

エンジニア以外の人にはあまり馴染みのない言葉かもしれません。

Wikipediaではこのように書かれています。

↓↓↓

「広く受け入れられ確立されている技術や解決法を知らずに(または意図的に無視して)、同様のものを再び一から作ること」を意味する。

新たな付加価値が何もないものを作成するのにコストをかけることから、皮肉的なニュアンスで用いられる。

再発明を行ってしまう理由としては、「既存のものの存在を知らない」「既存のものの意味を誤解している」といったことが挙げられる。

主にIT業界、とくにSEやプログラマの間で良く用いられる。

↑↑↑

車輪がテーマということで、強引に昨年のF1シンガポールGPの写真を載せてみました。これはフェラーリのセバスチャン・ベッテル選手が駆け抜けていく様子を激写したもの。フェラーリの赤はやっぱりいいですね。

車輪がテーマということで、車輪=車…強引に昨年のF1シンガポールGPの写真を載せてみました。これはフェラーリのセバスチャン・ベッテル選手が駆け抜けていく様子を激写したもの。フェラーリの赤はやっぱりいいですね。

「自分が今やっていることは、車輪の再発明ではないか?」

エンジニアは多かれ少なかれ、これについて議論や自問自答したことがあるはず。

 

ネガティブに語られる場合は「非効率の象徴で労力と費用の無駄だ」等、既存のものを組み合わせて終わらせてしまえ、というニューアンスが強いですね。

一概には比較できない部分はありますが、例えば経験の浅いエンジニアががんばって仕上げた品質と何度も使用に耐えた既存の仕掛けでは、前者は後者にはかないません。

投資できる費用が決まっている場合(つまり作業期間が決まっているとも言える)もっともな話ではあります。

ただし、以下の項目に一つでも当てはまるのであれば、車輪の再発明は個人的にオススメです。

1. 作業時間に比較的余裕がある

2. 品質の担保が取れる

3. この車輪には、「コレジャナイ!」と感じる(自分が最も良いと思う車輪に絶対の自信がある)

新たな技術やライブラリが次々とリリースされる昨今、なかなか本質的な内部のアルゴリズムやロジックを理解している人々が少なくなってきています。

もし内部もしっかり理解したいと思う方の場合は、殊更お勧めします。

他の優秀な人がどのように実装したかをなぞれますし、賢い実装に出会えるかもしれません。

また自分のアルゴリズムやロジックに自信を持てるかもしれません。

せっかく作ったのなら、品質面でも負けないように常にメンテナンスを行い、自分の車輪を磨いていきましょう。

もし既存の車輪の方が良かったと感じたなら、綺麗さっぱり自分の車輪のことは忘れましょう。

ちなみに、この車輪の再発明で発明される車輪たち。生物の進化論になぞらえる場合があります。

生物の進化は、遺伝的な変異による多様性で種が生き残る方法を模索します。

同様に人の数だけある車輪たちも常に生存競争にさらされているわけです。

交差と突然変異により、とんでもない車輪が生まれたり、今よりもほんのちょっと性能が良い車輪が生まれるかもしれません。

そうやって、車輪は静かにそして確実に進化していっているものだと思います。

Best Regards,

  Nozomu Miura

miura

秋田県生まれ。ベルギー、東京を経て現在シンガポール在住。 様々な業務アプリケーションの開発に関わり、主に低レイヤーの開発を得意とする。 ベルギーへ渡り、照明最大手のR&Dのリードエンジニアとして、メディアサーバや照明制御の開発に6年間従事。 2006年のユーロビジョンソングコンテストやアーティストのステージを支えるエンジニアとしてベルギーを拠点に欧州で活躍。 日本ではライブストリーミングサイトdommuneや、坂本龍一の映像配信などをサポート。 その一方で、vjとしてクラブシーンとも関わり、積極的にvjソフトウェアを開発。 小さくてもニーズのあるツールを提供するのが生き甲斐。次のプロダクト作成のため、メンバーを探している半ばの人生。 エンジニアとしてのメンタルを保つために、アジア大陸最南端でギラギラ葛藤中。 動物とあんことレッドブルが好き。最近お酒に弱くなりました。

0 comments