こんにちは、フリーランスエンジニアをやっているゴチカと言います。
最近はITエンジニアという職業に注目が集まってきている影響で、プログラミング学習を始める人・始めたいと考える人がかなり増えてきました。
これからもITエンジニアの給与・待遇の向上は加速するでしょうし、すぐに転職を考えていない場合でも、技能として身につけるだけでも、あらゆる職業資格の中でも最もコスパが高いのがプログラミング学習ですので、プログラミング学習を学習しようと考えた時点で目の付け所が非常に素晴らしいです。
そんなプログラミング学習をしている人・しようとしている人は主に以下のいずれかの方法をとっています。
- 独学で勉強する
- プログラミングスクールを利用する
- 未経験OKの企業に就職する
- 知り合いのエンジニアに教えてもらう
この中でも、自分で継続的に努力する能力さえあれば、お金もコネもいらず、働きながら行うことのできる独学という選択肢は最もポピュラーなものです。
ただSNSや知り合った人の話を聞いていると、中には間違った方向に努力を続けてしまっている人を多く見かけます。
趣味であれば問題ないことなのですが、ITエンジニア・プログラマーを最終的に目指すのであれば注意しておかなければならない落とし穴がいくつかあります。
今日はそんな独学でプログラミングを学ぶときに注意しておきたい点について説明していきます。
参考書や学習サイトの内容を暗記することに意味がないこと
現在多くの初心者入門の参考書や学習サイト・ツールなどが数多く存在しています。
説明が非常にわかりやすかったり、ゲーム感覚で楽しめるものであったりと、プログラミング初心者には非常に恵まれた環境が整っています。
ただこういった教材のほとんどは、プログラミング言語の文法や、基本的な例題を繰り返すというパターンが採用されています。
はっきりといってしまうと、こういった教科書・問題集的な学習に長時間を費やすというのはITエンジニアを目指すのであれば大きな遠回りとなります。
このプログラミング言語ではif文・for文はこのように書く、というのがある程度把握できたら、できる限り早いうちに区切りをつけるべきです。
繰り返すことで文法を頭に叩き込んだり、似通った例題を複数とくよりも、コードをいじって何がうまくいくか、何がうまくいかないかを体験することでこそ、価値のある学習を行うことができます。
プログラミング学習に限らず言えることですが、実際に自分で使ってみたり、それで問題を解決してみなければ、理解は表面的なレベルでストップしてしまいます。
一般的な受験や国家資格の勉強のように暗記から入ろうとする常識で始めると、挫折する可能性が高くなるのはまだいい方で、最後までやり遂げても具体的な結果に結びつかないという最悪のケースも想定されます。
ではそうすればいいの?
最もシンプルかつ、効果的なのが、文法や基礎をなんとなく掴んだ段階で、
- 参考書などの例題を自分でアレンジしてみる
- 自分で簡単なサービスを作ってみる
- 他の人の書いたソースコードを読んでみる
という手段です。
大事なのは「ここのコードを変えたらどうなるんだろう?」「こんな機能を実現するにはどんなコードを書けばいいんだろう?」などといった好奇心・疑問に基づいて、試行錯誤・検索を繰り返すことです。
頭に入れることを意識しているよりも、好奇心などの感情を伴って学習を行う方が成長のスピードは圧倒的に早くなります。
最初のうちは分からないことが多すぎてストレスが溜まってしまう人も中にはいるかも知れません。それでもぬるま湯の中で満足感を得るだけの学習よりも大きな価値を得ることができますし、他の人よりも一歩先を進んでいるという実感を得られるタイミングが必ずやってくるはずです。
やりたいこと・分からないことが出てくる -> 調べる -> 解決する
というフローこそが最もプログラミング学習に必要な脳の刺激を与えてくれるということを常に意識しておきましょう。
勉強したという事実は企業に評価されにくい
あなたは独学で勉強し、ITエンジニアになろうとした時、面接官にこのようにアピールしようと考えているかも知れません。

もしこれがエンジニアとしての面接の場でなければ、目標のためにしっかりと努力できる人として高評価を得られるかも知れません。
しかし実際のエンジニア面接では、好印象はもらえるかも知れませんが、採用には至らないケースがほとんどとなります。
なぜでしょうか。
- 勉強したという証拠としてはサービスのスコアや読んだ書籍の種類では弱すぎる
- エンジニアに求められるのは何かを実現する能力や問題を解決する能力だから
- そもそも未経験からエンジニアを目指す人が勉強するのは当たり前のことと認識されているから
といった理由があります。要するに人手不足と言ってもいくつかある選択肢の中からあなたを選ぶ理由が欠けていることが欠けているからです。
これを解決しようとするならば、自分で世界に公表されたサービスを作って証拠として叩きつける必要があります。
GitHubなどでソースコードを共有するというのも効果がありますが、コピペしてコミットするだけでも見た目は取り繕えてしまうためアピールポイントの本体とするには少し弱いです。
世界中に公開されたサービスというとハードルが高いと思うかも知れませんが、インターネット上に情報やノウハウはたくさん転がっていますので、それらの情報を取捨選択しながら進めれば初心者でも不可能なことでは決してありません。
このように独学で企業に自分をアピールするためには、一工夫が必要であることを頭に置いておきましょう。
まとめ
努力の仕方を間違えると大きな遠回りとなってしまう独学ですが、もちろん不可能ではなく、有効なキャリアチェンジの手段であることは間違いありません。
そのためプログラミング未経験の人全てにプログラミングスクールを勧めるという最近の風潮はあまり好きではありません。
人によってはスクールにお金を払わなくても最良の結果を出せる可能性が存在するからです。
ただし多くのプログラミングスクールが提供している
- 自分よりも上級者に質問できる環境
- 卒業後の就業サポート
という点については独学では大きな労力を必要とするものです。
いずれも諦めない忍耐力と自分をアピールする交渉力があれば不要なものではあります。
要するにプログラミングスクールというのはお金を払って、安全なショートカットを提供しているに等しいんです。
あなたがプログラミングを学習するにあたり、どう言った選択肢を取るにしろ、今回紹介した落とし穴について留意した上で最適な手段をとっていただければと思います。
閲覧いただき、ありがとうございました。