SIerでも自社の技術力が必要になってくるのではないか

(※以下、自社の話なのでSIer業界すべての話だとは思ってまいません。)

SIerの技術力云々の問題は今更書くまでもないと思うので割愛しますが


最近思うことは、エンプラ系のシステムのユーザビリティの部分は
web系のサービスに近づいていくことが求められてるんじゃないかなと思います。




業務システム(webシステム)の開発において、顧客から出る要望のなかに

「ここはAmazonのあれっぽくしてほしいな」
「ここはあのwebサイトのあれっぽくしてほしい」
「もっとデザインを今風な感じにできないかな」
「検索一覧はページングしないでスクロールしたら自動で読み込んでよ」

みたいなことをちょくちょく聞きますが、自社のSEの対応をみていると
「それは難しいので、前と同じの方法にしませんか」


で片づけてしまいます。

というのもwebでは当たり前のjavascriptcssに関する知識やajaxなどの非同期通信
に疎いからだからだと思います。

数年前からVisualStudioでプロジェクト作ると標準で入っているjQueryも、「何だそれは?実績はあるのか?使えない人がいるからダメだ!」
で一蹴されてしまいます。

何もAngular、Knockout等のフレームワークを使おうなんて言いません。


デザインに関しても1990年代のHPみたいな見た目ばっかりです。
自前のよくわからんcss使うよりは、Bootstrapを利用すれば綺麗な見た目が簡単に手に入ります。これもVSでは標準で入っていますね。


実績がないから、学習コストがかかるから導入できない、というのは分かりますが
いつまでたっても、同じことを言い続けていて果たして成長するのでしょうか。

顧客の要望を満たすことができるのでしょうか。


システム開発のシの字も分かってない若造がふざけるな!と思うかもしれませんが

「webでよく見るあの機能ですね、作ってみます」
「このダッシュボードにTwitterみたいな簡易メッセージ機能つけてみたらどうでしょう?」

みたいに提案できるのがプロなんじゃないかなって思いますし、それによってビジネスの幅も広がるのではないかと思います。


そのためには、ベースとなる技術力が必要ですし、顧客との打ち合わせでこのような話ができるようになるには
PMや設計者(SIerでいうSE)自身がその技術を身につけなければなりません。


実装や技術的なことは全部外注に丸投げではダメですね。
それからプログラミングができない人がSEになる、みたいな現状も。


そうして技術力に関心をもっていけば

良いシステム、保守性の高いシステムを作るには?日々の作業をもっと効率的にできるんじゃないか?ってところにたどり着きますし

そうすると
MVC,MVVMなどのアーキテクチャやRESTなどの概念
バージョン管理や、CI、チケット管理などの各種ツール
テスト駆動やドメイン駆動、チケット駆動、アジャイルスクラムなどの開発スタイル

などを学ぶ/使っていくんではないかなと思います。


とはいっても、今までの文化を変えることは難しいと思いますし、結局のところ
各個人がプログラミングに関心があるか?向上心があるか?

ってことに行き着いてしまうので、なかなか大変ですね。

・人月商売
・プログラムを作るのは外注任せ

という発想が普通ですから、技術力を重視するとは思えないですし

そうした構造ができあがっているため
・プログラムは興味ないけどSEになろう
・未経験OKだし1カ月の研修でなんとかなるだろう→現場に投げ出される

みたいな業界になってしまったのではないかと思います。