「プログラミングで挫折しそう」←私も経験した、でもエンジニアになれた【成功談】
プログラミングを勉強してプログラマーになって人生を明るくしてやる、WEB開発のPHP、iOSアプリ開発のSwiftなんでもこい!!…それから1週間後..挫折しました…
未経験からプログラマーを目指す方にこの記事を贈ります。プログラミング勉強って人によってはとっつきにくい部分が多々あって、学習が上手く進まないと「やっぱり自分には無理かも」と挫折する方も多いと思います。
かつての私もそうでした、知識ゼロから独学オンリー、スクールに通う事も考えたくらいです。それを乗り越え今はWEBエンジニアとして仕事をしています。そんな経験から今回はマインドや挫折を乗り越える方法について書いてみたいと思います。
挫折する人と挫折しない人の違い
プログラミングで挫折する人とそうでない人の違いについても触れておきます、大半の人が挫折すると思うので当てはまったからといって落ち込む必要はありません(私も挫折する側の人間でした。笑)
挫折する(しやすい)人
- 「プログラマーになる」(ざっくりとした目的から)
- 「手に職をつける、今はプログラミングでしょ!」(テレビやネットの影響)
- 「まずは参考書を買って、それから、、、」(資格勉強のノリ)
- 「動画で学べる時代だから!ドヤ」(無料教材に依存しすぎ)
上記に当てはまる方は挫折予備軍です。
共通しているのは、プログラミングスキルを身に付けることで何か作りたい、何か成し遂げたいという心根がないということ、プログラミングに対する熱い思いも芯もないと一度躓けばそこで止まります(挫折する)
挫折しない(しにくい)人
挫折しない人は先ほど挙げた項目に当てはまらない人です。何かを成し遂げるためには、プログラミングスキルが必要不可欠だと強い信念のもと学ぼうとする人はまず挫折しないでしょう。
基本的に上記のような人は数少ない考えるの普通です、つまりプログラミング勉強は基本的に挫折するものと考えていいかと思います、そう考えれば少しは気が楽です。
プログラミング勉強で挫折する原因と解決策
①:学習の方向性を理解していない
プログラミング学習の方向性を理解しないと挫折しがち、色々なプログラミング言語に手を出してあれもこれもと勉強を進める、蓋を開けてみれば大したスキルは身に付いていなくて中途半端に入門程度の知識が頭に入っただけ。
なぜこの言語を学ぶのか、その言語を使って何がしたいのか、その言語を学ぶことで自分が期待する理想を実現できるのか、これに答えられないならアウト。ふわっとした感じで学習を進めると自分が何がしたいのか途中で分からなくなり気付けば挫折の闇入りです。
プログラミング勉強は将来像から逆算して考える
プログラミング勉強を始める時は、まず最初に自分の思い描く将来像から逆算して学習手順を組み立てるのがオススメ、「〇〇になりたい」→「〇〇になるには〇〇が必要」→「〇〇を学ぶにはどうすればいいか」ってな感じで逆算して今自分がすべきことを挙げていき取り組めば効率的に学べます。
②:プログラミング言語の選択ミス
プログラミング言語によって挫折率は大きく変わります、例えば「C#」や「java」のオブジェクト指向言語は危険です、そりゃモノに出来れば心強いですが初心者が手を出すと間違いなく挫折します(私はjavaで挫折しました。笑)
「よく分かる〇〇」などの入門書を使えば確かに基礎的な部分を学ぶ事ができますが、そこから次の段階に行こうとすると「?」の連続になると思います、javaならサーブレットやJSPとか、それを避けると浅いスキルだけが身に付き「これがどこで役に立つの?」と挫折予備軍の仲間入り。
最初は学びやすい言語からどうぞ
最初は学びやすい言語から勉強するのがオススメ、候補としては「javascript」「PHP」「Ruby」「Swift」とかですね、一番最後のSwiftを除けばどれもWEB系の言語ですね、WEB系エンジニア志望の方が多いのはこの学びやすさも理由にありそう。
③:エラー多発でオワタ
プログラミングを勉強にエラーはつきものです、それを解決していく事が勉強になるってのは事実ではあるんですが、時には解決しない場合もあるわけで、ネットで調べても情報は出てこないし誰も助けてくれない状況がずっと続くと大体の人は挫折します。
プログラミング勉強は環境が大事
この手のトラブルはIT系の情報サイトや質問できるサイトを使えば何とかなる事は多いですが、質問の仕方を間違えると総叩きに合う可能性もあったりで奥手の人には少し酷かも、知り合いにエンジニアがいるのなら教えてもらうのが一番の近道です。
挫折したけどプログラマーになれた話【成功談】
この記事を書いている私は現役のWEBエンジニアですが、元々プログラミングが得意だったわけではありません、タイピングも出来ませんし、高校でも情報の授業をろくに受けていませんでした(クラスで最下位の成績、二度と使う事がない技術だと思ってました)
自分がなぜプログラミングを学ぼうとしたのかは割愛します。とまぁそんな奴がプログラミングを勉強したって途中で挫折するのは目に見えていて実際に挫折しました、でも自分バカではないので挫折した時に考えたわけ。
プログラミング勉強は手段でしかない
そもそもプログラミングを学ぶ理由は単純にエンジニアとして社会を生き抜きたかったからで、そこに情熱的な思いはありません、極端な話プログラミングが出来なくてもエンジニアを語って仕事を出来れば何でも良かった(その時点では)、そしてこんな言葉もある。
要はビジネスを成功させるのが目的じゃないですか。それが目的なのに、手段としての輸出なのに、手段にこだわるバカが世の中一杯多すぎる。
出典:「マネーの虎」高橋がなり
世の中手段にこだわる馬鹿が多すぎる、当時の自分がまさにこれ。プログラミングをする事にこだわりすぎて自分が成し遂げたい事を見失っていました。
エンジニアになるという本来の目的を達成する為に今一番現実的で確度の高いアプローチは、求人に片っ端からアタックすることで勉強はそれと並行して行えば良かったんです。結果的にそれが功を奏し未経験からエンジニアになるチャンスを得たわけです。
会社に入ってからは研修や実務からプログラミングを学ぶことができ、分からない事は先輩に質問して答えてもらえるので詰まることなく吸収していけました、独学とは段違いのスピードでこれまでやってきた事は何だったのかと思えるほどに成長する事ができました。
挫折した時こそ冷静になれ
プログラミングで挫折しそうな時は一度冷静になって目的を整理してみましょう、自分が成し遂げたい事、それを実現するために必要なこと、今優先して取り組むべきこと、自分が進むべき道筋をしっかり定め直しましょう。
私は目的を達成するまでにかなり遠回りした口なので、皆さんはそういった失敗が無いよう時間を無駄にせず行動してみてください、挫折はチャンス!ってのは前向きすぎますが、頭を冷やす良い機会ではあるのでマイナスに考えず取り組んでみて下さい。
以上になります。
飲食→派遣→IT系ベンチャーに転職。
本業をベーシックインカムとし、やりたい事に挑戦するWebエンジニア。