全1217文字

 「システムの全体を把握しておく必要がある」という話は、よく聞くでしょう。「木を見て森を見ず」ということわざにあるように、1本の「木」に相当するものがアプリケーションプログラムであり、サーバーであり、ネットワーク機器であり、「森」に相当するものが、それらの集合体である「システム」です。

 本来システムとは「多くの物事をまとめて秩序だったものにまとめあげたもの」であり、「要素」ではなく「全体」で捉えるという概念が含まれています。ITエンジニアには、「全体を俯瞰する」という姿勢が備わっているべきです。

 ここでは、この「全体を俯瞰する(物事を体系的に捉える)」姿勢や能力をITエンジニアが備えるべき本質的な能力として「システムデザイン力」と呼びます。これは、個々のプログラムの処理ロジックを理解するだけでなく、それらがどのサーバーでどのように動作するのか、機能や性能に対してどのような役割を担っているのかなどを理解し、自身が設計したプログラムのシステム全体における位置づけをイメージできる力です(図1)。

図1●システムデザイン力とは
図1●システムデザイン力とは
[画像のクリックで拡大表示]

 では、このような「システムデザイン力」は、どのように身につければよいでしょうか。特にサーバーなどのシステム基盤に関する知識やノウハウをどのように身につけるかが課題となりますが、アプリケーションエンジニアはテクニカルエンジニアと同じレベルで知識を獲得しておく必要はありません。基盤の振る舞いだけを理解し、それをどう組み合わせて使えばよいかさえ理解していればよいわけです。