そもそもうまくいきそうなことをやっている場合はWebフロントエンドに時間をかけてられないという話。
まともなエンジニアなら枯れてない技術を使った時に生じるコストを理解している。それはたくさん残ってるバグとか、バージョンアップによるAPI変更への対応するコストだ。そういう対応コストはユーザがうれしいものではない。「あの話題のモジュールに投げたバグ修正がマージされました!」とか言っても、ねぇ?
あとWebフロントエンドって、最新の技術を使ってもレガシーな技術を使っても結局html/js/cssが成果物なので、出来上がったモノはユーザから見ると大差ない。つまりWebフロントエンドに限って言えば最新の技術を採用していても競争優位にはなりにくいのだ。
ユーザに需要があるものを作ってる時って、枯れてない技術に挑戦したりしてる暇はなくて、小慣れた道具でつくらなくちゃいけないことが多い。毎週のように新機能が待ち望まれている状態ではゆったりと開発してるわけにもいかない。
ちょっと逆説的だが、ゆったりと開発できているということは、作っているものに需要があるか怪しいということだ。
新規プロジェクトが立ち上がったものの、方向性がぼやけていて、プロダクトマネージャが決めなくちゃいけないことがたくさん残っているような場合、エンジニアはもちろん暇になる。
コードベースはまだないのでリファクタリングもできず、データもまだないのでダッシュボードを作ったりもできないとなると、エンジニアは「じゃあUIは前から使ってみたかったアレで作ろう。時間はあるし」となる。
だいたいこういうプロジェクトが成功することはないし、こういうときしかWebフロントエンドに最新の技術スタックは採用できない。ちゃんとしたプロジェクトではそんなヒマはないからだ。
新規プロジェクトが立ち上がって、プロダクトの方向性が明確なときは、エンジニアはすぐに手を動かすことができる。ユーザが欲しかった機能が開発できていれば、すぐにユーザからフィードバックが返ってくる。そうすると次の機能開発にとりかかれる。
こういうプロジェクトではWebフロントエンドに枯れていない技術を採用するヒマはない。枯れてない技術を採用するにしても、サービスをスケールさせるためとか、ユーザに見える価値を提供するためのものだ。
Webフロントエンドにバリバリ新しいやつを投入するのはもちろん悪いことじゃないのだけれども、そんな余裕があるなんて、ひょっとして作っているサービスはイケてないんじゃないでしょうか? もしくはビジネス的な成功はまあ別にどうでもいいかな、というスタンスなんでしょうか?
一度手を動かし始める前に周囲を見渡してみるとよいのではないでしょうか。
こうして技術的負債が積み重なっていくんだな。
最新技術だったものが技術的負債になることもあるから必ずしもそうとも言えないような