プログラミングできるようになりたいなら他人の責任にするエンジニアになればいい。

f:id:hrmch-ioii:20180419231916j:plain

@nabeemichi です。

プログラミングができるようになると、どんどんゴーディングして実装を増やしたがるエンジニアは多い。 実装すればするだけ、自分が作っているという満足感もあるしできるようになっている気がするのです。

でもね、本当にできるエンジニアは実装しないのですよ。 今ではオープンソースとして優秀な人が作ったものが公開されてる時代でもあるわけですし、効率化のためにフレームワークもどんどん進化している時代です。 他人が実装したものを、作った糸の通りに使いまくり、自分の実装を極力少なくするのです。

どうしてこのようなことをするのかというと

他人の実装を利用し、自分の責任をなくす

という他力本願を最大化するのが目的です。 目的が一致していて、誰かが作ってくれているものがあるならそれを利用するのです。 そうすることによって、自分が保証しないと行けないロジックの範囲が一気に少なくなるわけ。

エンジニアはプログラミングしたら、そのロジックを保証しないといけません。テストして、不具合があったら修正して。。。。 この部分を他人が作ったものを利用するだけで、どんどん省ける。どんどん自分の責任の範囲が少なくなる。

こうすることで、

不具合が少なくなる

フレームワークなどの場合は、他の人(たいていは世界にいる自分より優秀な方々)が実装して、テストしてくれている。 社内のソースコードの場合でもすでに誰かがテストしていたりするわけです。

つまり、ある程度動作が担保されているわけですから、不具合が存在している確率は、自分でプログラミングするよりもずーっと低いのです。

他人の実装を当てにすることで、さらにいいことは

生産性をあげることができる

すでに誰かがテストしてくれていて、利用実績まであれば、開発における「実装、テスト、不具合修正」というステップがごっそり削れるため、 アプリ固有の開発に専念できるのです。しかも、テストして評価する部分もアプリ固有の部分を集中的にできるわけです。

これを自分でプログラミングしてしまっては、動作確認からテスト、不具合修正まで自分でやらないといけなくなる。 リリースまでに行わないといけない作業量が増えてしまうわけです。

まとめ

データの反映などのアプリでもするような動作はとことんフレームワークなど他人の実装にまかせて、アプリ固有のロジックだけの実装に集中する。

目的が一致しているなら他人の作ったロジックを、作った目的のとおりに使いまくり、自分の書いたロジックを極力少なくし、バグっていても自分のロジックではないことを確認して、作ったやつのせいにすればいい。

こうゆう実装してるだけで、他のエンジニアより不具合少なくできるし生産性も上がる。