今まさにプログラミングを学習している最中の人の中で、プログラミングスクールとか独学による学習において成長している実感がない人がおそらくいらっしゃるかなと思います。
特に高額な金額を支払ってプログラミングスクールに通いだした人は、取り組みの意味を見出せず苦しむ人も少なくありません。
この記事では、どうすれば成長している実感を手に入れることができるのか、実際に成長していることを把握すれば良いかについて解説していきたいと思います。
目次
プログラミング学習の先に何を目指しているか
プログラミング学習に限らず何事も成長を実感するときは、自分が達成したいと考えた目標と現状の状況を比較して、そのギャップが埋まっていくことで成長を実感することができます。
逆に言えば、明確に達成したい目標が存在しない場合、ギャップを埋めるための対象が存在しないことになるので、何を学んで成長しているかという比較ができないことになります。
例えば、エンジニア転職をしたいと考えた場合、単純にエンジニアになろう!と考えるだけではおそらく十中八九なれません。
もはやこの会社に転職するぐらいの勢いで情報収集やプログラミング学習をしなければ、成長の実感が湧きづらいかもしれません。
・エンジニアになるために
・高収入を獲得するために
・自由な働き方を手に入れるために
みたいな抽象的な目標で転職できる人はおそらくいないと思います。
細分化・明確化された確実なスケジュールと達成目標までの学習項目が洗い出されていなければ、日々の成長している実感は獲得できません。
そのため、あなたの目標をできる限り洗い出して構築しておきましょう。
自分で考え抜いた課題を持てているのか
これは学習において非常に重要な要素になりますが、自分で考え抜いた課題を持ってプログラミングに取り組んでいるのかという点です。
おそらく、プログラミングスクールで学習されている人であれば、スクールの中で課題をもらっている状態かもしれません。
しかし、スクールであっても独学であっても、課題を持つことは自動的に得られるものだと勘違いしてしまうとただの作業ゲーとなります。
つまり、誰かから提示してもらった課題ではなく、自分で考えて導き出した課題を持つことが大切です。
なぜなら、誰かから提示してもらった課題の場合、その課題内容から連想して情報収集したり、参考となるコードを取得したりと、提示された課題ありきで考えが始まってしまいます。
しかし、プログラミング学習における課題すらも自分自身で一つでも多く持てるようになると、0から考える思考がしっかりと養われてきます。
『0から発想することなんてできないよ!』
正直な話、その気持ちはよく分かります。
そんなときは、着想自体は他者から提示されたものや情報収集先の内容でも構わないと思っています。
その内容をいかにブラッシュアップしていくかで0から考える思考が身につくからです。
インプット思考ではなくアウトプット思考を持つこと
学生時代から、ずっと教わるという立場を経験するのが子供の在り方です。
そのため、子供の頃からインプット思考の訓練ばかりでアウトプット思考が養われるタイミングが少ないです。
ただ、プログラミングにおいてアウトプットへの意識を強く持つことは大切です。
結局のところ、プログラミングはプログラムコードによって無形である成果物を作り出すことになるので、アウトプットしないと価値を提供できないことになります。
しかし、プログラミングの経験が浅い人やエンジニア未経験の人が、すぐに成果物を目標に案件等に携われる状態でもありません。
そのため、クラウドソーシングサービスであるクラウドワークスやランサーズにて、プログラミング案件を探し出し、シミュレーションとして自分なりに考えながら取り組んでみると良いです。
実際に詳細内容含め、クライアントの要件通りに成果物が完成した場合、類似案件で稼ぐ経験も詰める可能性があります。
ぜひ自分自身の課題を持つべく、実案件ベースでの学習を実現するためにクラウドソーシングに登録しておくことをおすすめします。
クラウドワークス
プログラミング学習の臨場感・緊迫感を高めること
これは個人的な見解ですが、プログラミングスクールや独学において、淡々と課題に取り組んだり、期限付きではないものに取り組んでいたとしても、学習速度も技術の身に付き方も遅くなると感じています。
実際の業務では、当然納品日が確定していたり、チームでの作業分担によって理解しておかなければならない技術が膨大にある状態です。
先ほども前述しましたが、クラウドソーシングの実案件ベースで学習することをおすすめします。
案件自体に作業開始日や納品日など期限が付いているものを選べば、まず間違いなくプログラミング学習において臨場感と緊迫感を得られると思います。
その期限の中で、どのようにエンジニアとして振る舞うのか考えるきっかけになるので、たとえシミュレーションであっても、擬似的に想定して取り組んでみることを強くおすすめします。
理想的なことを言ってしまえば、お金が発生してしまうと逃げることができないため一度引き受けてしまうのもありかもしれませんが、実績なく案件に参画できるかと言われれば難しいというのが現実です。
そのため、ぜひシミュレーション学習を実施しましょう。
まとめ
改めてプログラミング学習において成長を実感するために考えておく項目を列挙しておきます。
・プログラミング学習の先に何を目指すか
・自分で考え抜いた課題を持てているか
・インプット思考ではなくアウトプット思考を持つこと
・プログラミング学習の臨場感と緊迫感を高めること
これらがよりエンジニアとしての成長を実感できる具体的な方法論としてお伝えしました。
また、実践的な例としてクラウドソーシングサービスであるクラウドワークスやランサーズによる実案件ベースの学習方法も記載致しました。
特に、今後も需要のある技術として身につけておきたいものは、
・API
・スクレイピング
・LINEチャットボット
この辺りは間違いなく覚えておいて損はありません。
あなたの達成したい目標に合わせて、スケジュールを整えて実践的に学習を続けていただければと思いあます。