プログラマーを目指す人は勉強熱心な人が多く、それ自体はとても素晴らしいことです。
コツコツ努力できることはどんなことでも重要ですし、必ず役に立ちます。
同時に、戦略や効率を追求する姿勢はとても重要です。
自分自身で考えたり、調査したり、他人に聞いてみたり。
その結果を踏まえて、目的を達成するための最低条件、何をやればいいのかを考えることが必要です。
まだITエンジニアになっていない、就職・転職できていない人のゴールは、
まずはITエンジニアになること
そのために最低条件として必要なことは、
アプリケーションを作れること
ゴールを達成するために必要なことを真っ先にやりましょう。
アプリケーションを作ろうとして技術が足りないなと思ったら、その部分を補うために勉強する。
この順番が大事です。
本を読んだり、ちゃんと勉強すると網羅的に理解できます。
これ自体は素晴らしいことです。
しかし、勉強のためのプログラミングと実際の開発は、そもそもの脳の使い方が違います。
勉強の場合、このプログラミング技術を使って、どんな開発ができるかという思考の順序。
一方、実際の開発は、まず課題があって、これを解決するためにプログラミング技術を使います。
実際の開発に即したトレーニングをするにはどうすればいいか。
そのために、"アプリケーションを実際に作ること"
これがとても大事です。じゃあ具体的にはどんなやり方がおススメか。
フレームワークを使って、アプリケーションを作ろう
フレームワークってなに?
そもそも、フレームワークとは何か。
ここではWEBアプリケーション開発のためのフレームワークを想定しています。
ソフトウェアアプリケーションを開発するためのライブラリやツールのセットであり、共通のタスクや機能を提供して、開発者が短時間で高品質なアプリケーションを作成できるようにサポートします。
フレームワークは、ソフトウェア開発において「基盤」や「骨組み」として機能し、開発者はその上に独自の機能やロジックを追加することで完成形のアプリケーションを構築します。
フレームワークは、効率的かつ一貫性のある方法でソフトウェアを開発するための基盤やツールを提供します。
例えるなら、アプリケーション開発フレームワークは「家の骨組み」のようなものです。
家を建てる場合、基礎や柱、梁などの骨組みが必要です。
この骨組みがしっかりしていれば、その上に壁や屋根を追加することで、さまざまなデザインや形状の家を建てることができます。
同様に、フレームワークはソフトウェアの基礎や骨組みを提供し、開発者はそれを元に独自の機能やデザインを追加してアプリケーションを完成させることができます。
フレームワークを使った開発が何の役に立つの?
フレームワークを使うことで、実際のアプリケーションがどのように構築されているかがわかります。
アプリケーションの全体像をフレームワークを通じて学ぶことができます。
さらにフレームワークがサポートしてくれるので、一から作るよりはるかに簡単に複雑な機能を簡単に作れます。
最終的にアプリケーションを作ることで、実践的なポートフォリオを作成可能です。
Pythonだけ、JavaScriptだけ、よりもはるかに有用なものを作り上げることができます。
初心者の内は、設計やテストで悩むことも多いと思います。
実際、私もITエンジニアとして働いていても、なかなか自信が持てませんでした。
でも、フレームワークは上記要素も含まれており、フレームワークの構造は設計はどうあるべきか、どのようにソースを整理すべきかの良い教材です。
テスト実施についても、単体テストレベルではありますが、フレームワーク自体に仕組みが内包されています。
※ちなみにテストクラスもある程度作りこんで、ポートフォリオできちんとアピールできるようにするのはめちゃくちゃおススメです。
保守や運用観点も視野に入れて学んでいる初心者は少ないためです。
ここの知識が業務で必要と考え、ちゃんと勉強しましたとアピールできるようにすることを強くおススメします!
一つ学べば応用できる
フレームワークを使って、実際にアプリケーションを作ることで、開発がどのように行われているか、構成も含めてわかってきます。
一つ学べば、人間は応用ができます。
フレームワークも、プログラミング言語もたくさんありますが、関心領域は一緒なので概念も一緒です。
MVC、アルゴリズムはほとんど同じです。
プラスアルファ、解決したい課題やこちらの方が便利なのでは?という視点で機能が追加されているものの、全く革新的なものはほとんど存在しません。
今は膨大な量の勉強をしないといけないと思っているかもしれませんが、一つできるようになると応用ができます。
そうするとやったことがない分野でも、やり始めれば形にできると自信がつきますし、実際その通りに動けます。
まとめ
まずはフレークワークを使って、アプリケーションを開発する
初心者向けの本を読んだ学習やProgateを使った学習は2週間-1カ月ぐらいで終わらせて、実際にアプリケーション開発を進めましょう。
もちろん、めちゃくちゃつまずくし、立ち止まることも多いです。
エラーも出るし、思った通り進まないことあるでしょう。
でも、実際の開発もそんなもんで、意外と泥臭く進めています。
そこも含めて、勉強になりますし、地力が鍛えられます!