新年あけましておめでとうございます。
さて、今回は、年末3部作(
1/
2/
3)を挟んでしまい、前回の投稿
(フロントエンドの認証が混沌としてきた件について)に続けて書けていなかった、「フロントエンド自体も混沌としている」をお送りしたいと思います。
「フロントエンド」って「バックエンドに対比させてユーザー入力を受け付ける部分」、「UIサブシステムやUIフレームワークなどを使用してプログラミングする箇所」を昨今、所謂一つの「フロントエンド」と呼んでいるように思います。
しかし、「フロントエンド」には、古くはVB6なんかのformアプリケーション(後継はWindows Forms)、その後のHTMLのformをpostするWebアプリケーション(Web FormsやMVC)なども含まれる訳で、其々20年以上前からあるので、全く新しい感じがしないのですが、その後、画面定義部分がXML(XAML、HTML5、JSX)、言語がJavaScriptというケースが増えて来て、最近では、Node.js系の開発ツールを使用して開発する技術全体を(新しい)「フロントエンド」と呼んでるように思います。
...と、ここから、技術系のブログにありがちなSPA系のUIフレームワーク解説に行ったりすると見せかけて、今日は、UIフレームワークとかそういう話はしません。UIフレームワークなんて好きなの使えばイイんじゃないですかね。
この辺を見ると、Angularはダウントレンドらしいというのが解りますが、エンタープライズではAngularがまだ使われそうだと思います。先ずは、トレンドよりドメインとかセグメントにハマるものを優先して使えばイイと思います(ちなみに、私は、Angularを触ったコトはありません)。
では本題は何か?と言うと、「
既に言及したこと」ですが、
「フロントエンド起点のプログラム開発の多くは、DBにデータを登録する処理と、DBからデータを取得してそれを表示する画面を作るだけで、新たな仕様やアルゴリズムを設計・実装する能力が無くてもできる付加価値の低い仕事である。」
です。なぜこれを本題にするか?と言えば、やっぱり「項目移送おじさんでは厳しいから。」ですかね。生産年齢人口が減っているのにマンパワーを無駄にしちゃダメですよね。これからは労働集約的事業をされていたご老人達を一杯養わないといけません(微毒?猛毒?事実なんだからしょうがない)。
色々と新しい技術を覚えるのが大変なのは解るのですが、ICT業界は、新技術が「かつ消えかつ結びて、久しくとどまりたるためしなし。」の「賽の河原の石積み刑」状態なんだと思います(画面とDB間のデータのIOなんてVB6から変わってないですし)。Node.js系は、以前書いた「
エンゲージメントのコンテキスト」ではイイんですが「エンタープライズのコンテキスト」ではライフサイクルの短い(、控えめに言っても)、難い(にくい)奴です。
と言う事もあり、ICT業界の生産性は、マネジメント・プロセス改善云々レベルにもリーチしておらず「項目移送おじさん」的タスクはもっと×10ぐらい効率化しなくてはいけないと思うのですが、今のところベンダ側に設備投資のメリットは少ない様でこの新しい技術を使う以上の生産性向上活動をしている人もあまり観測できないです。ということで、人的資源の使い捨てが多発していると思ます(余談ですが、これって、PMBOKで言うリスクの転嫁ですね。不景気になったら切り捨てられます。)。
しかし、状況は少しづつ変わってきてはいる
(
以前も触れたユーザ側の予算と調達の問題から)。
これは、将来の明確なビジネス・ニーズなので、このような変化に対応するために、事業的には、発注側も受注側も「人的資源への依存」を減らしていって、ベンダ側は、「購買代理業者(アカウント)」に徹するか、売れ筋を見極めた「パッケージャ」になるか、「要素提供者」になるか(最後は厳しいだろう)。などで生産性向上に寄与する必要があると思います。なお、SESや派遣はリスクがあるのを理解したうえで(上位職でも未経験とセットで押し込むための生贄になったりするようです)。
最近は、GitHubにポートフォリオなんて言って色々なアウトプットを乗せるのが若い世代で常識に(?)なりつつあるようにも思いますが、そう言うので、個人に対する(高い生産性を実現できる)ライセンスが明確になって、努力が報われる、
安心社会から信頼社会へのシフトが起き、徐々に生産性が上がっていくとイイんじゃないでしょうか。なんて思っています。
と言う事で、
今年もよろしくお願いします。