技術選定について思うこと
たまに「技術選定はされてきましたか?」とか「どういう基準で技術選定を行いますか?」と聞かれることがあります。
で、様々な会社の求人情報や技術ブログを読んでいると『なんでそんな技術を選んだんだ…?』みたいなところって全然少なくないよなーと思います。
ということで、今回は個人的に意識している技術選定のポイントについて書いていこうと思います。
個人的に技術選定で最も重要だと思っているポイントに、その技術を市場に扱えるヒトがどれくらいいるか、があります。
この選定基準は、自分が使えるかどうかとか、流行っているかどうか、モダンかどうか、よりもギリ上かなーという印象がありまして。
仕事における開発って、最初から最後まで一人でやることってほぼないと思うんですよね。
プライベートにおける個人開発とは違って、最初は自分ひとりで開発してリリースして、収益化できたら会社の規模が大きくなって。
会社のスケールに合わせてプロダクトも大きくしていかないといけないので、どうしても自分ひとりだと手が回らず、少しずつヒトを採用していく必要があります。
最近の技術ってかなりの割合がブラックボックスになっているので(OSS も多いとはいえ)、昔と比べると開発に必要な人材の数というのは相当減っています。
が、とはいえ一人ですべてを網羅して何億という金を生み出すのは流石に厳しい、AI に頼りたくてもまだそこまでの成長はには至っていないのかなーという印象です。
で、これって技術の選定だけではなくて、開発に対するアプローチやチームビルディングなどすべてに言える話だと思っていまして。
ブランチ戦略や開発環境、開発フローなど、幅広いハードルをいかに下げるか、というのが重要になってくるのかなと思います。
ところが実際の現場となると、逆のアプローチを採る方がめちゃくちゃ多い!なんでやねん!ってなります。
これは経験年数や年齢によらず、絶対にそうじゃないじゃん…とちょくちょく思うのですが。
多分これはキャッチアップを行ってないが故に、過去に得た技術で作ってしまい、市場とのミスマッチが発生しちゃうのかなと。
また一方でキャッチアップを行っているが故に、独りよがりな考えに依存した技術で作ってしまい、同じく市場とのミスマッチを起こしているケースもあるよなーと。
よく「市場に使えるヒトがいない」という言葉を耳にしますが、ぶっちゃけそんなことはないんちゃうか?というのが自分の意見でして。
確かに入って即日即戦力で!みたいなヒトは少ないかもですが、おそらく誰しも何かしらのスキルは持ち合わせているんじゃないかなーと思う部分もあります。
むしろどちらかといえば即戦力を求めすぎている現場のほうに問題があるんじゃないか?と思うケースもちょくちょくありまして。
いわゆる多角的な視野、第三者的な目線を持つように意識すれば、あとはある程度の経験さえあればなんとなーく見えてくるものもあるよなと。
自分は 8 年前に運良く React に関わらせてもらい、そこから食っていけるようになったのでありがたい限りだなーと思いますが。
当時と違い、今は何をどうやって勉強すべきなのか、そのロードマップは少し調べればすぐにわかる時代なので、いい時代だよなと。
AI もありますし、正直そんなにおかしな方向に向かわせるほうが難しいと思うんですが…やっぱり会社となるとそうもいかないんですかね。
相変わらずごちゃごちゃといろんなことを考えつつ、今日このごろです。