地方エンジニアが感じる地方・中小企業での悩み

今の中小企業で人を育てられるか?(1)

»

 よく開発に利用されている言語の1つにVisual Basicがあると思います。Windows3.1の頃からかなりの勢いで普及した言語です。私は現在に至っても開発案件の主軸言語として利用しています。手軽にGUIのデザインを行え、イベントごとのコーディングを主軸とした高レベルな開発環境は、それまでのスタイルを一変させるようなインパクトがありました。そのおかげで既存のスタイルと比較して、より高機能なAPを短期間でリリースすることが可能になったと思います。ですが、このあたりからが「技術者の二極化」の始まりではないかと思えてしまいます。

 既に世の中では「Visual Studio 2010」といったニュースも流れ始めている最中ですが、新しいバージョンがリリースされるにつれ便利な機能が続々と追加されてきています。Visual Basic 6までのユーザーにしてみればなおさらそれは実感・体感できることと思います。

※Visual Studio 2010について興味のある方は、現在CTPリリースに対してフィードバックを求めていますので参加してみるといいでしょう。
Visual Studio 2010 and .NET Framework 4.0 CTP フィードバック

 Visual Studio 2005で追加されたTableAdapter関係のおかげで「マウス操作のみ」で今までよりも使い勝手が向上したメンテナンスAPが作成できるようにもなり、Visual Studio 2008からは.Net Framework 3.0にて追加されたWPFやWF・LINQなどが目に見える形で利用できるようにもなりました。今ではADO.Net EntityFrameworkなど論理的なデータ層も利用でき、単体テスト機能の提供エディションをProfessional Edition以降にするなど目に見えた形で進化を続けています(個人的にはWFとADO.Net EntityFrameworkはぜひとも利用したい技術ですね)。

 しかし、残念ながらその流れで生まれたのが「技術者の質の低下」です。物を知らなくても作ることができる環境、よく言えば生産性が高く開発効率に優れている、悪く言えば誰でも「それなり」なAPが作成できてしまう状態になった今、開発を行う人員のスキルというのは、トータルから平均化するとかなり下がっているのではないでしょうか。

 実際に私達が置かれている環境は、日々めまぐるしく進化し続けている異例の世界です。それもインターネットが普及し始めたあたりからは、尋常ではない勢いで進み続けています。ここ10年を振り返っただけでも、こうまでPCや携帯電話などが一般の方達にすら浸透するとは誰が予想できたでしょうか。パソコン通信や草の根ネットなどをご承知の方にしてみれば、その気持ちはなおさらでしょう。2400bpsなんて通信速度は今の人には想像もつかないものです。

 このような環境の変化速度に対応することができるか、と言われれば、この業界に勤めている方達の中でも一握りではないかと思います。殆どの方は「かろうじて付いていける」「やや遅れ気味」なのではないでしょうか。私自身はどう頑張っても「かろうじて」レベルだと思っています。そのような背景をふまえると、一概に技術者レベルの低下というのをツールの進化だけに原因を定めることはできません。ですが一端を担っているのは間違いないと思っています。

 自分達が基礎を学んだ時を思い出してみてください。今と比較するとあまりに不便だったと思いませんか? GUIで利用するコンポーネントに求めるものがなかったので、自分達でカスタマイズ・機能追加をしませんでしたか? 決まり切った処理をできるだけ品質良く行うために、ロジックをモジュール分割したり外部プロセスへと切り出したりしませんでしたか? 同じような設計ドキュメントを書く手間を考えて、ロジック上のコメントを利用するようなAPや仕組みを利用しませんでしたか? できるだけ同じロジックを記載せずに済むようテンプレートを用意したりしませんでしたか?

 恐らく私達はそういった不便を体感していたからこそ、今の便利さを上手に利用することができるようになったのではないかと思います。まさに「体で覚える」ことを行っていたのです。

 反対に、最初から利便性の高い環境に置かれている今の若い世代の方達にはこういった体験自体がまずありません。「不便」を感じる機会・量共に減少してしまったからです。すでに高機能な開発環境が用意され思う存分(?)開発を行える環境が与えられています。効率を上げることを教えることはよくあるでしょうが、効率を下げてまで整った環境を利用させないことは(特に時間的・費用的制約の多い中小企業では)企業として非常に行いにくいことだと思われるためです。ここが後に続く人材が育ちにくい状況を生んでいる原因の1つだと私は勝手ながら思っています。もちろんこの状況下でも伸びる方は伸びるのですが、個人的にはレアケースだとすら思えます。

 理想としてはかなり相反したことを求めることになるでしょう。「効率の良さ」を満たしつつも、技術者の創意工夫を刺激する「程度の良い不便さ」。当然これらを同時に満たすことはできません。バランスを上手にとり、それぞれの要求に対してある程度以上の効果を発揮できるよう、これを読まれる方それぞれの環境でやっていくしかないのではないでしょうか。このあたりはベストな解答がない話題だと思いますので、環境状況・要員状態などと見合わせながら随時調整していくのがベターだと思いますが、ここまでくると1人でどうこうできる範疇ではないですね……。経営層をも巻き込み、現場サイドだけではなく大きな視点で育成する方向性、用意する環境などをよくよく考えていかなければならないと思います。

 しかし大企業ならいざ知らず、体力的に厳しい現在の中小企業の中でどれだけの企業がここまでやることができるのでしょうか。人を育てることは企業としても、組織としても、また担当する上司の人間にしても、非常に体力・精神力を消費し負担の掛かる仕事です。厳しい状況が続く中小企業にとっては、将来的な話よりも今現在をどうするか、という点に主軸を置いてしまうのは仕方のないところなのかも知れません。中小企業の大半は、そこまで余力が持てない程の状況に来ています。勿論、人材を育成する必要があるのはどこも認識しているのです。ですが継続して育成を行っていくだけの余力がないのです。

 ここまでは「新人」側と「企業」側の話として書いてみましたが、人材を育てるにあたってもう1つ大きな問題が「育てる側」にあります。次回は「育てる側」の問題について書いてみようと思います。

Comment(0)

コメント

コメントを投稿する