言語やFWなどの選定基準

みなさんは言語やFWなどの選定基準について考えたことがあるでしょうか?

私は使いたいと思ったFWなどを採用するかどうかを考える場合に、以下を基準にしています。

  • プロダクションで利用されている事例が多い
    • バグが改修される速度が早い
    • あるいは未対応でもissueに報告されているので、調査コストが低くなる
  • 枯れてきている(枯れている)
    • バグが改修されている確率が高い
    • 未改修でも回避策などのノウハウが溜まっている
  • コミュニティが活発
    • 上記の2点の情報が流通している
    • またそれだけ関心を持った人が多いので、多機能化しサポートも手厚くなる傾向が強い

しかし、上記の観点でダメだったとしても、目的を達成するために他の手段がなければ採用することもあります。

文字にすると当たり前な考え方のように見えますが、言語やFWがどうやって選定されているか考えたことはあまりないのではないでしょうか?

何でテックリードまたはアーキテクトはこれを選んだんだ!と不満に思うことなら多々あると思いますが。。。(私もありました笑

テックリードの気持ちになって、選ばれた技術がどんな課題(Why)があってどんな問題(What)をどうやって(How)解決してくれているのかを考えてみるとスキルアップにつながる気づきが得られるかもしれません

話が少しずれてしまいますが、上記のWhat/How/Whyはサイモン・シネックのゴールデンサークル理論というものです。

とても勉強になるのでぜひ観てほしいです。

単純に話として面白いです。あと聞き取りやすい英語なので勉強にも使えます。