Webでは単純にテキストサイトではない本当に色々なことができるようになってきた。
HTML5になって以降まさに飛ぶ鳥を落とす勢いだ。
ここ5年くらいでデスクトップアプリに負けないレベルのSaasも出てきた。
Slack、Youtubeや生放送、Googleドキュメント、Google mapをカーナビ代わりにしている人もいる。
Javascriptも相変わらず日進月歩でTypescriptやらNodejsやらReactやらVue.js Three.jsなど、もうテキストサイトの付属品ではないことは明らかだ。
個人的にはWebGLでアプレットを使わず3Dの描画ができるようになったのは衝撃的だった。
そんなわけで、Webはどんどん急激に高度化し大規模化してきている。
ここまで大規模化していったシステムはセキュリティ的にもシステム的にもこれまでのような少数のチームがちまちま作るには手に負えない状況に来ているんじゃないかと思う。
それが表面化してしまった事件が今回のコインチェック事件ではないか。
コインチェックはおそらくWeb系のエンジニア主体でイケイケで開発したんだと思われる。
ただセキュリティが甘かった、つまりシステムとしてセキュリティ(内面)に問題があった。
これはまさにWebエンジニアの弱いところを突かれたといっても過言ではない。
それに伴ってWeb企業もSIer化していくんじゃないかというのが私の持論。
全てとは言わないが、これまでのWeb系エンジニアの開発スタイルはどちらかというとイケイケドンドンでできたらいいや使えたらいいやの精神でやってきたんじゃないか。
これでは大規模なシステムになるとセキュリティも保守も難しくなってくるだろう。
大規模なシステムはきちんとオブジェクト指向で作ってテスト駆動でウォーターフォール式で開発するのが筋ってものだ。長期的な目で見れば理にかなっている。
今後高度化していくWebに対応するためにはそうやって作っていくべきだろうし、自然にそうなっていくだろう。
大規模なサービスに関わるWebエンジニアは自然にSIer的になっていくんじゃないか。
Googleスライドとかスプレッドシートはヤバいくらい複雑なシステムだと思うしハイクオリティだとおもうんだけど、どんな開発体制で作られたんだろうか気になる。