エンジニアの道具と木を見て森を見ず


仕事をしていく上で、度々思い出す言葉が「木を見て森を見ず」です。

エンジニアの世界というのはスピードが非常に速く、次から次へと新しい道具(手法)が生まれてきます。

NginXや、Node.js、JavaScriptやCSSのフレームワークもあれば、アジャイル開発、リーン開発など数えきれません。

あまりにも新しい物が出てくるので、ついつい表面だけを見がちです。
しかし、それらの本質を理解せずに使うことは木を見て森を見ずに等しいことだと、度々痛感します。

例えば、アジャイル開発について元マイクロソフトの中島聡さんが以下のように書いています。

私の開発スタイルを見た人は誰もが「中島さんのスタイルは究極のアジャイルですね」と言うが,実は私はあまりこの「アジャイル」という言葉は好きではない。

仕様書を書こうが書くまいが,開発スタイルを何と呼ぼうが,「良いソフトウェアを作る」ためにはいくつか注意しておかなければならないことがある。それを「なぜそれが必要か」という本質的な部分から理解して取りかからなければ,何の役にも立たないのだ。

「アジャイル」という言葉に踊らされて,「なぜ頻繁にリリースしなければならないのか」「なぜ仕様書の作成にあまり時間を費やしてはいけないのか」ということを理解せずに,形だけアジャイルにすることは,「オブジェクト指向」の本質を理解せずにC++でプログラムを書くことに相当する。C++を使っていてもスパゲッティコードを書く人もいれば,Cやアセンブラで美しいオブジェクト指向のコードを書く人もいるのだ。
http://gihyo.jp/lifestyle/serial/01/software_is_beautiful/0015 より

何故このような形に落ち着いたのか?どのような目的なのか?
その本質を理解して初めて道具が活きてきます。

これらの道具は、何らかの目的を達成するためのベストソリューションであることが多いです。先人たちが多くの時間を費やして磨き上げた結晶がその道具です。
次代に流されない、古い道具であればあるほど、物事の本質をついた道具と言えます。

どのような思想で、どのような目的を達成するためにその道具が生まれたのか。1つずつしっかりと理解して使いこなせるようになりたいと思う、今日このごろです。

The following two tabs change content below.

いしかわ

まだまだ広く浅く勉強中のエンジニア。得意分野はラーメン。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>