![見出し画像](https://assets.st-note.com/production/uploads/images/6682645/rectangle_large_cbba7ee8d8b0149bb6cb329b18bff2ce.jpg?width=800)
フレームワークを学習する際の心構え
Webプログラミングするにあたり、オープンソースであるフレームワークの活用が大前提の昨今。今回は特に、これからエンジニアを目指してフレームワークを学んでいく方に向けて書いてみる。
フレームワークを使いこなすには、それなりに時間が必要
これをまず覚えておいてほしい。フレームワークの学習は、0から始めるとかなりの時間がかかる(中にはスムーズに覚えていける人もいるかもだけど、そういう人はどちらかというと希な気がしている)。初学者であればフレームワークを応用的に使いこなせるまでに大体半年〜1年半くらいは見ておくと良いかも。
昨今プログラミングスクールが流行っている理由の1つが↑の時間コストだと思っていて、もっと早く実戦で戦えるようになるためには現時点で既にゴリゴリにフレームワークを使いこなせる人に質問しながら学ぶのが近道だからだ。
そういう意味では、会社でお金をもらいながら実戦をこなしつつ習得していくことができるのって、実はかなり幸せなことでもある。
頭で理解するのは後回し。とにかくコードを書こう
どんなビジネスシーンにおいても同じだろうけど、「頭でアレコレ考えてから行動するのではなく、行動しながら考える」が重要で、プログラミングにおいても例外ではないと思う。
スタンスとしては「まずはコードを書いてみる。動いた!」という経験を積むことが大事で、その後に「どうしてこの書き方で動くのか?」を考えるくらいがちょうど良い。昨今は大体どのフレームワークにもチュートリアルがあるので、必ず1回はやり通そう。
人が何かを学習する時には手を動かすのと頭を使うの2つの訓練が必要で、先手は手を動かす、後手が頭を使うという順番。これを交互に繰り返すことで習熟度が高まっていく(何処かの本に書いてありそうな話だな…)。
「何故フレームワークを学ぶ必要があるのか?」
フレームワークを使い始めて少し経つと、恐らくこういう考えを持つと思う。そもそもプロブラミング時間を短縮をするためにフレームワークを使おうとしているのに、肝心のフレームワークを学習する時間コストが結構かかると。「だったら自分が今までフルスクラッチで書いてきたコードを使い回せば良いじゃん!」とか考えるんじゃないかと。
これはとても合理的で大切な考え方だと思うので、そういう考えに至った自分を是非褒めてほしい。確かにそれも一理ある。そういう時は「何故自分はフレームワークを学ぼうとしているのか?」の原点に立ち返ってみると良い。
「フレームワークを学ぶ目的集」
企業でフレームワークが使われる目的は迅速にWebサービスを立ち上げることや、社内におけるコーディング規約の統一等がある。
一方で個人的な目的だと
「◯◯という会社でエンジニアとして働きたいが、■■というフレームワークを使ってプログラミングしているから■■を学ぶ必要がある」
とか、あるいは
「転職時に今の会社でフレームワークを使った経験が他の会社でも速攻で活かせる」
ことを見据えて等があるかもしれない。是非一度自分の目的を思い返してみると良いかなと。
余談
あと、特に目的無く特定のフレームワークを学ぶのもそれはそれで良いと思ってたり。ただ、いずれにしても目的があったほうが後々に活かせるのは間違いないと思う。(ちなみにおそらくだけど、目的無くフレームワークに手を出すことって殆ど無いんじゃないかと思ってる。前述した通り、学習コストが高いので)
追記:Webプログラミング言語のフレームワークって、どのようにして選んでますか?という記事を書いたので、合わせて読んでもらえると良いかも。
最後まで読んでいただきありがとうございます!現在、受託的な開発で収入を得るのではなく個人開発でWebサービスを作り、収入のポートフォリオを構築していくために時間を注いでいます!もしサポートしていただけたら大変嬉しいです!