「若者たちよ、蜂起せよ!」詳説・エンジニア編
若者たちよ、蜂起せよ!
そんなタイトルの記事を先日投稿した。
おじさんたちは、彼らが築いた過去の遺産で、現役を去るまでは、何とか食いつなぐことができるだろう。しかし、いまの20〜30歳代の人たちには、それは無理だと気付くべきだ。ならば自分たちで何とかするしかない。
(中略)過激な言葉かもしれないが、それほど現状はヤバイと心得よ。自分のまわりや世間を見渡して、そんな自分の現実を冷静に見据えるべきだ。
いまのエライ人たちは何とかなるが、貴方たちは何とかならないことが、きっと分かるに違いない。
詳しくは、原文をご覧頂きたい。ここでは、そんな厳しい現実と、どう対処すべきかの全体像を述べたに留まる。そこで、このブログでは、エンジニア、営業、経営者について、より具体的な行動に踏み込んで、3回に分けて提言しようと思う。初回は、エンジニアに向けての提言だ。
先のブログで述べたとおり、ITの役割が、効率化の手段から、差別化や競争力を高める手段へと、その重心をシフトし始めている。あらゆる企業が、ITサービス・プロバイダーになろうとしているわけだ。そうなれば、ITサービスが自分たちの収益に直結する商品であって、その設計や開発、運用を外部に丸投げするなどあり得ない。必然的に、事業部門が主導して内製するのが筋である。
そんな動きを後押しするかのように、クラウド・サービスやノーコード/ローコード開発ツールも充実度を増し、これまでなら人手と手間を掛けてコードを書いて実装しなければならなかった画、もはや少人数で容易に組み立てられるようになった。そんな時代の流れを考えれば、内製化の動きは、ますます加速してゆくだろうと思われる。
しかし、ITの基本、例えば、データベースやトランザクション、ネットワークなどの設計の常識、プログラムやプロジェクトの管理などを知らないままでは、まともなシステムなどできるはずはない。カタチは作れるかも知れないが、ビジネスの目的を達するために、使用に耐えうるシステムができるかどうかは別の話だ。
確かに、ツールの進化と普及によって、かつてとは比べものにならないほどに、開発の生産性が向上した。しかし、その前提となる思想やアーキテクチャーを正しく理解し、それを活かしたデザイン/設計ができなければ、砂の土台に鉄筋コンクリートの建物を建てるようなもので、見た目は立派だが、危なくて使えない。
また、アジャイル開発やDevOpsといった開発や運用に関わる方法論も、その前提にある思想や哲学、さらには、心理学やコンピューター・サイエンスの理解なくして、まともには成果をあげることはできない。
内製化の流れは、ビジネスの必然であるから、止めようはないが、たぶん、このようなITについての基本を持たないままの取り組みは挫折するし、たぶん、「やはり内製は無理」と旧来の外注への丸投げと揺り戻しが起きるだろう。しかし、これはどう考えても健全な対応ではない。収益に責任を持つ現場が、圧倒的なビジネス・スピードでITサービスを実装し、改善し続けることこそが、あるべき姿であろう。
まさに、この点に於いて、エンジニアにとっての活躍の場がある。つまり、与えられた仕様に従い、プログラム・コードを書き上げるスキルではなく、次のようなITの専門的な知識やスキルを前提に、お客様の内製化の取り組みを支える存在になることだ。
- コンピューター・サイエンスあるいはシステム・アーキテクチャーについての専門的な知識
- アジャイル開発やDevOpsなどの開発や運用に関わる知識や、その実践スキル
- クラウド・サービスやOSSなどを目利きし、実践の現場で使えるようにするスキル など
エンジニアに求められる技術力は、「少ないコードでビジネスの目的を達成する」ことにある。短時間で沢山のコードが書けることは、もちろん優れた才能ではある。ただ、それができるのは、ITあるいはコンピューター・サイエンスに関する広範な知識と、それをどのようにビジネスに結びつけるかの洞察力があるからで、その能力を活かせば、「少ないコードでビジネスの目的を達成する」ことにも大いに貢献するはずだ。
ITベンダーにとっては、今後、「内製化支援」は、ビジネスの1つの柱になるだろう。内製化支援とは、お客様の事業部門が主導する内製チームのメンバーに迎えられ、ITの専門家として、そのチームのエンジニアリングの指導的立場でプロジェクトを主導し、あるいは、教師として、お客様にそのスキルをトランスファーするエンジニアを送り込む事業だ。
エンジニアの価値は技術力である。技術力とは、「少ないコードでビジネスの目的を達成する」力である。その能力を磨いてゆくことが、エンジニアとしての「蜂起」の実践であろう。