言語やフレームワークを先に考えるんじゃなくて、実現したいコト/解決したいコトが先でそれをとことん突き詰めて考えるコトが大事。
それがちょっとだけ良くなる程度のものだったら、そもそもそれはあまり問題では無いのかもしれないし、単純に当事者意識や情熱がなくてただ普段と違うコトがしたいだけなのかもしれない。
例えば、車輪のようなものは一見するとちょっとだけ良くなる程度のもののように思えるけれど、突き詰めて考えるとちょっとだけ良くなる類のものではなくて、シンプルだけれどすごく応用範囲の広い要となるものだったりするよね。
その応用範囲までもよく考えたものを、最初の段階から応用範囲に至るまでを効率よく実現するために、何を選択するかをよく考えよう。
海外の有名な会社が作ってるようなものが簡単に作れるからとかあの会社も使ってるから、ありとあらゆる部品が揃ってるや既に知ってるものだから効率が良いなんてものは、参考にはしても選択の理由にするべきものであってはいけない。
そんなコトを理由にしたら、私は自分の頭で考える力も何かを生み出す能力も持ち合わせていません。なんて宣言してるようなものなんだよ。
問題が起きたらまた一から作り直せば良いなんてのは大抵失敗するし、そのコストが支払えない場合は継接ぎだらけで局所的な問題が頻発するものになるコトが多い。そして、最初に感じた効率の良さなんてものはいつの間にか消え去ってしまってる。
必要な部品は何なのかをきちんと洗い出して、それらの部品を柔軟に組み合わせられて効率的に動かせるものを選択するコトなんだ。もしもそれらが存在しないなら、それらも含めて作り出すコトも視野に入れておこう。
こんなコトを言うとオレオレかよなんて声が聞こえてくるコトもあるけれど、初めからそうじゃないものは存在しないんだよ。誰かが作り出したから存在してるんだ。だからやると決めたらきちんとアピールしてディスカッションして継続的に改善しよう。
そんな風に世の中に数多くいる、言語やフレームワーク、アルゴリズム、UI、UX、システムアーキテクチャの設計開発研究をしている優秀な人たちの思考を真似てみよう。