これまで、業務システムの作り方だとかプロセス設計法といった議論が主体だったのですが、非常に重要な問題として、ではいったいそれを誰が遂行してくれるのかというのが大きくたちはだかっています。要するに、そういうスキルをもったエンジニアの養成というのが課題になります。
昨日から、日本BPM協会で「情シス若手勉強会」というのを立ち上げたので、この機会にそこらあたりを考えていきたいと思います。ここでITエンジニアと言っているが、皆さん、おそらくそれぞれ勝手にイメージを抱いているので、ちゃんと定義しておかないとまずいと思うのです。
ITSSとかUISSといったスキル標準にはそれぞれの領域でのエンジニアのもつべきスキルが規定されているのでそうした区分けで見ている人もいるでしょう。しかし、これはいかにもシステム寄りでしかも細分化しすぎです。もっと大きな括りでかまわないと思っています。すなわち、ITエンジニアには、ソフトウエア開発エンジニアと業務システム構築エンジニアの2種類だけがいると考えます。
だいぶ乱暴かもしれませんが、広義にとらえてみればこうした区分けでもいいと思っています。前者のITエンジニアは、ソフトウエアというプロダクトやサービスをつくる人たちで、ソフトウエアといっても様々あって、業務パッケージのようなものから、ツールとかフレームワークのようなものまであります。別な見方をすると、顧客の依頼があってそれを受託して作るのではないということです。あるプロダクトを企画して設計してそれに従ってプログラミングするという開発です。
一方、後者の方は、業務システムを受託開発するという仕事のやり方の中のエンジニアのことです。ユーザの要求を獲得して、それにもとづく要件定義を行い、設計・開発するというスキルをもったエンジニアになります。さらに、システ運用・保守というエンジニアもここに含まれるでしょう。
プログラミングということに限っていえば、前者が自発的なコーディングであることに対して、後者は受身的なコーディングなのです。この差は大きく、よくプログラマーとひと括りで言いますが、このように性格がちがうのです。あきらかに自発的なコーディングの方がモチベーションが上がります。ですから、できるだけ、受身的なコーディングはしないというのが大事なことなのです。
別な面でみると、めざすところがちがうというか、利害の対象が違うというのがあります。システムを提案し実装し、それがビジネスに貢献することをめざす人材と、極論すればビジネスに貢献しようがしまいが関係なく、いい道具を作ることをめざす人材とは別物なのです。
世の中では結構こうした区分けと定義をしないで語る人が多く混乱してしまうことがよくあります。これから取り上げるITエンジニアの定義は、後者の業務システム構築エンジニアになります。ということで、ITエンジニアというと従来のようなシステム技術に寄った人材をイメージしがちですが、そうではなくてビジネス寄りのITエンジニアが対象になります。
ここで、タイトルが「人材の育て方」ではなく「人材の育ち方」としたのは、若手を集めて年寄が講義形式で教え込む方式はとらないということを意味しています。こうしたプッシュ型の教育はなかなか身につきません。重要なのは、自分の頭でとことん考えることです。そこの“とことん”考えるようにお手伝いし、ちょっとしたガイド役になるのが講師だと思います。しばらく、勉強会の進行に合わせてエントリーしていこうと思います。
