/note/tech

Webサービス業界・界隈のシステム開発・運用におけるエンジニアの振る舞いや役割分担(2020正月)

最近のWebサービス業界・界隈に関する所感

・DevOps以来の「すべて同じ人がプライマリの責任を持つ」流れが極まってきている。 開発も運用も同じ人 というやつ

・フロントエンド領域 / バックエンド領域 / DBMS領域(RDB、KVS、Document...) / その他ストレージ領域(ブロック、オブジェクト、...) などそれぞれがますます難しくなって専門化している

・日本のマジョリティはDevOpsに取り組み始めたところ

DevOps以来の「すべて同じ人がプライマリの責任を持つ」流れ

最近話題の新技術はこの流れに乗ったもの、この流れを後押しするものが多いと感じています。

・Observability = 内部状態を推測ではなくデータとして獲得できるようにして、そのシステム・アプリケーションの経験が短くても適切な対応を取りやすくすくし、ひとりの開発者に求められる暗黙知を減らす

・Microservices = 業務ドメインを軸に責任を分割し、ひとりの開発者がもつ責任範囲を横に狭くする

・Service Mesh = ネットワークという不安定で扱いが難しいリソースをアプリケーションがうまく扱えるようwrapし、ひとりの開発者がもつ責任範囲を縦に狭くする

・フロントエンドとバックエンドをAPIなどで分離 = 技術要素を軸に責任範囲を分割しひとりの開発者が持つ責任範囲を横に狭くする

Cutting Edge TOP 20%に入るような就労環境の良い企業でも軒並みエンジニアが不足しているところを見ると、 2つの、技術的な判断に影響を与えうる、非技術的な課題が見えてきます。

1.「できる人」(あるいは現職者)が求める内容が高度/難解すぎる

2.業界全体での圧倒的人数不足

少なくとも2.が解決する目処・きっかけは今のところ見当たらないので、 当面は現在の状況が続くと思われます。

また Top 20% / Intermediate 60% / Late 20% のニーズの差がスゴくなってそうという想像をしています。

ふーむ