斬る心

居合道を通じて学んだ事を日々実践し時代の変化によって色褪せない技術を磨くI.T.系技術屋の記録

技術に振り回されない為に その1

斬る心-CLI

エンジニアを職にしていると、「そんなのツールにしなくてもシェルで良いんじゃないのかな?」とか「わざわざ仰々しくパッケージにしなくても良いんでないか?」といった事を考える機会が多くあります。

多分ツール化とか仰々しく看板立てておけばお金にしやすいからだと思います。
ただ、こういったものは問題をより複雑化してしまい本来欲しいものから遠ざかってしまうケースがあります。

そのため、僕自身も為に何度も心に唱える戒律があります。

Unixの哲学

1.小さいものは美しい。
2.各プログラムが一つのことをうまくやるようにせよ。
3.できる限り原型(プロトタイプ)を作れ。
4.効率よりも移植しやすさを選べ。
5.単純なテキストファイルにデータを格納せよ。
6.ソフトウェアの効率をきみの優位さとして利用せよ。
7.効率と移植性を高めるためにシェルスクリプトを利用せよ。
8.束縛するインターフェースは作るな。
9.全てのプログラムはフィルタとして振る舞うようにせよ。

全部で9つのこの戒律に従って道を外れないように緊張して作る事を考えます。

モノを単純に作るのはありなのですが、作った後の運用や保守をないがしろにした設計の場合、その後酷い未来が待っています。

プログラマの人に大した変更でないと思って提案したのに、パッチを作るまでに4ヶ月とか半年の開発が見積もられたときはありませんか?
一概に言えませんが、この状況は「何処を治せば良いか分からない」もしくは「治すべき所は分かっていても変更箇所が多い」という状況など考えられます。

大した事をやっていなくても無意味やたらに巨大で複雑なソースで開発してしまうと、このアップデートを進めていくにつれて困難になり、次回のアップデートから1から作り直した製品を出すという事もあります。

それを護るためには、色々とルール作りが必要になってくるのですが、そのルール作りの大本を担う部分がこの9の戒律だと僕は考えます。

また、これは最新の技術ではなく、旧く枯れた考え方です。

こういったものにも目を向ける事が出来るようになれば、自分が苦労している部分を楽にする事は簡単だったりします。

この他にもUnixの在り方を学ぶ事で色々と先人の方の至言を学ぶ事が出来ます。

そういった今も活きる言葉を胸に実践から学ぶ事は大切な事だと思います。

まずは、エンジニア初心者なんですと思っているかたは、新しい技術を学ぶのではなく今もなお変化の少ない分野を学ぶと一生食べていけるエンジニアになれると思います。

今後この話を続けて掲載しますが、元となる本は記事の最下部に紹介させて頂きます。

今回はここまでです。

最後まで読んで頂いて有り難うございました。


UNIXという考え方―その設計思想と哲学/オーム社

¥1,680
Amazon.co.jp