
「プログラミングを勉強しているが、よく分からないことにつまづくので、正直苦手意識がある。というか、もはや嫌いになりつつある...。こんな状態でもエンジニアになれるのかな?嫌い・苦手意識を克服する方法があれば教えて欲しい。」
この記事ではそういった悩みを解決します。
この記事でわかること
- プログラミングが嫌い・苦手...でも、エンジニアになれます【体験談】
- プログラミングが苦手に感じる1番の理由は『勉強不足』
- プログラミング嫌い・苦手な人のよくある5つの勘違い
- プログラミング嫌い・苦手意識を克服する5つの方法
- 【ここだけの話...】プログラミング嫌いを最速で抜け出す方法
記事の信頼性
私はエンジニア歴8年です。
今でこそプログラミングが好きでエンジニアとして働いていますが、プログラミングを勉強していた頃は嫌いで、過去にプログラミングの独学に挑戦したものの2回挫折しています。
そんな経験から、プログラミングが嫌い・苦手に感じている人に向けてアドバイスすることができます。
この記事を読んでいるあなたは、エンジニアに憧れてプログラミング勉強を始めたものの、次のような悩みにぶつかっていませんか?
- 「プログラミング意味不明すぎる」
- 「エラーばかり出て全然思うようにできない」
- 「プログラミングなんて頭の良い天才がやるもの」
安心してください。
現役エンジニアとして働く私も過去同じような思いをして苦しみました。というより、2回挫折しました(笑)
それでも、なんとかしたいと思い、この記事に辿り着いたあなたはすごく行動力がある人ですよ!
プログラミングを勉強すると「なんだかうまくできないなぁ」と感じる時が必ずあって、特に分からないことにぶつかると苦手意識を感じやすいです。
その壁を越えられるかどうかは、実は『ちょっとしたコツ』を掴めるかだけなんです。
コツを掴めずにただただ苦しい時間を過ごしてしまうと、プログラミングへのモチベーションが下がり、最悪挫折してしまうことに…。
そこで本記事では、
- プログラミングが嫌い・苦手に感じる原因
- 苦手意識を克服してプログラミングを習得するコツ
についてお伝えします。
この記事を読むことで、プログラミング嫌い・苦手意識を克服し、憧れのエンジニア生活の切符を掴むことができますよ。
プログラミングが嫌い・苦手...でも、エンジニアになれます【体験談】
冒頭でお伝えしたように、私はもともとプログラミングが嫌いで苦手意識を感じていました。
そんな私の挫折経験とエンジニアになるまでの過程を知ってもらえると、「こんなセンスのない人間でもエンジニアになれるんだ!」
と、勇気になると思います(笑)
中学生の時にPerlでブラウザゲーム作りにチャレンジ:無理\(^o^)/
初めてプログラミングに触れたのは中学生の時。
当時、ブラウザゲームが流行っていて「自分でもゲームを作ることはできないだろうか?」と思い立ったのがきっかけです。
当時のブラウザゲームと言えば「Perl」を使うのが主流だったので、独学でPerlを勉強し始めました。
ただ、それまでプログラミングを触ったこともなかった僕にとっては、理解できるはずもなく。
「プログラミングってなに?どうやって動かしたら良いの?」
など、つまずきの連続。
さらには、ブラウザゲームがどうやって動いているのかという仕組みから理解不能、、、
結局、自分でゲームを作ることは叶わずに途中で挫折です。
「プログラミングって全然分からん・・・」という思いが生まれました。
大学生の時のC言語の授業:先輩の過去レポートを丸コピーして逃げ切り
次にプログラミングに触れたのが大学生の時。
C言語の講義が必修科目でした。
周りはプログラミングをやったことある人の集まりで、講義はある程度知っている前提で進められました。
もうね、ただただ苦痛。。。
幸か不幸か、プログラミングができない人達同士で仲良くなってしまい、出席が不要な講義だったので、だいたい一緒にサボってました(笑)
単位はレポートの提出が求められましたが、先輩の過去レポートをコピーして逃げ切りです!
結果、プログラミングの知識などサッパリ身につくわけもなく、ますますプログラミング嫌いが加速しました。
大学院生の時:再びPerlに出会う → 乗り越える!
転機が訪れたのは大学院生の時でした。
研究でシミュレーションをするためにプログラミングを使う必要があり、ここで再びPerlに出会います。
今までとの大きな違いは、Perlを習得しないと研究が進められないので卒業できないこと!
ですが、過去に挫折したPerlがいきなり理解できるはずもなく、かといって諦めるわけにもいかず、2ヶ月ぐらい時間を確保してプログラミングを毎日勉強しました。
当時お世話になったのは、通称ラクダ本と呼ばれる次の2冊の専門書。
不思議なことに、今までは分からなかったことも時間をかけて落ち着いて勉強してみると、少しずつ理解できるようになってきたんですよね。
最終的には、自分がやりたいシミュレーションはほとんど本を読まずにコードが書けるようになっていました。
この経験から急に手のひらを返して「プログラミングって面白いな!」と目覚めます。
現在:エンジニアとして働く
現在はエンジニアとして就職し、ソフトウェア開発に携わっています。
あれからPerlを使うことはほとんどありませんが、1度挫折したC言語を含む他の言語も習得することができました。
C言語 → C++ → C# → Java → HTML&CSS → JavaScript → Python
あれだけ嫌いに感じていたプログラミングも、今ではすっかりハマり、趣味で楽しくプログラミングをする生活です。
プログラミングが苦手に感じる1番の理由は『勉強不足』
プログラミングがある程度できるようになるまではかなり時間がかかることを理解していない人は苦手に感じやすいです。
最初、プログラミングはめっちゃつまらないです
ぶっちゃけ、プログラミングなんて最初はめっちゃつまらないです(笑)
できないのも当たり前ですし、そんな簡単に習得できるものではないので、変にハードルを上げるのはやめましょう。
「どれくらい勉強したらできるようになるのか?」と言うと、以下のようなイメージ。
https://twitter.com/donachiki1017/status/1221025168069484544?s=21
上記の通り、なんとなくできるようになるまででも最低200時間、自分が思ったようなプログラムが作れるようになるまでは500時間ぐらいかかります。
200時間というと1日1時間勉強したとして半年、500時間だと1年以上かかります。
そこまでの学習時間に到達する前に「苦手だなぁ」と感じるのはムダですし、当たり前です。
最初はできないことが当たり前なので、プログラミングを苦手に感じていた人で勉強時間不足に当てはまる人は、気楽に勉強するようにしてください。
エンジニアでも分からないことはたくさんある
「エンジニアの人は何も見なくてもプログラミング出来るんでしょ?自分は分からないことだらけだから・・・」
これもよくある勘違いです。
実は、現役エンジニアでも開発していると分からない事が結構あって、わからないことは調べています。
例えば、JavaScriptという言語を学んだとしても、JavaScriptは使う場面によって採用するライブラリやフレームワークが異なりますが、こういったライブラリの違いを全て把握しているかと言うと、答えはNoです。
JavaScriptの例
- フロントエンド: jQuery、React、Vue.jsなど
- サーバーサイド:Node.js、AngularJSなど
「なんとなくイメージは分かるけど、細かい仕様は忘れたから調べながらやろう」ぐらいでしか理解していません。
エンジニアも分からないことはあるのですが、『分からないことを調べて解決する力』を身につけているかどうかの差です。
ですでの、勉強中のあなたが分からないことがあるのは当たり前で、落ち込む必要もなくて、むしろ分からないことがあるのは成長するチャンスだと捉えてください。
プログラミングが嫌い・苦手な人のよくある5つの勘違い
過去の私も含めて、プログラミングが嫌いと思う人がしてしまう、よくある勘違いが5つあります。
プログラミングが嫌いな人がしがちな5つの勘違い
- プログラミングは難しい
- プログラミングは才能が必要
- プログラミングに向いている性格・適性がある
- プログラミングは理系の人にしかできない
- プログラミングはオタクがするもの
もしあなたも上記のように考えているのであれば勘違いです。
1つずつ見ていきますね。
プログラミングは難しい
プログラミング自体は難しくありません。
「プログラミングが難しいから嫌い」のではなく、「プログラミングが出来ないから嫌い」
と感じるのです。
ですが、これは勘違い。
大切なのは「プログラミングは難しいんだ」と勝手に思い込まないこと。
確かに勉強を始めた最初こそ分かりませんが、やっているうちに自然と出来るようになります。
プログラミングはやり始めてすぐに出来るものではないので、ちょっとだけ辛抱が必要です。
関連記事【初心者必読】プログラミングは難しくない【5つの勘違いを解説】
プログラミングは才能が必要
プログラミングを習得するのに才能は必要ありません。
なぜなら、プログラミングが嫌い・苦手と感じていた私でも、プログラミングを習得してエンジニアになることができたから。
もしプログラミングに才能が必要だとすれば、1回めの挑戦で習得出来ていたことでしょう。
強いて才能があったとすれば、2回挫折しても3回目を挑戦した『諦めない心』ですかね。
プログラミングが嫌いだからと言って、プログラミングの才能がないことにはなりません。
関連記事プログラミングに才能は必要ありません【エンジニアになれる理由を解説】
プログラミングに向いている性格・適性がある
「プログラミングをするのに向いていない性格だ」
「プログラミングは適性がある人がやるものだ」
プログラミングが嫌いな人はこのように考えがちですが、勘違い。
プログラミングに向いているとか適性みたいなものは、初めから備わっているものではなく、プログラミングがだんだんできるようになってから身についてくるイメージです。
実際私も最初は適性がないと考えて挫折しましたが、今では天職じゃないかと思ってるぐらい…笑
最初は分からないことがたくさんあって自分には向いていない→嫌いとなりがちですが、ある程度できるまでの辛抱です。
関連記事プログラミングに向いている人の特徴【適性検査はムダ】
プログラミングは理系の人にしかできない
プログラミングって理系の人がやるイメージだと思っていませんか?
「私は文系だからプログラミングできないよ…」
これもよくある勘違いです。
実際、私の職場にも文系ですがエンジニアをやっている人はいます。
また、Twitter上でも文系エンジニアさんを見かけます。
プログラミングに理系・文系は関係ないので、勘違いで嫌いにならないようにしましょう。
関連記事プログラミングは理系じゃなきゃダメ←嘘です【文系でもできます】
関連記事プログラミングに数学の知識は不要【現役エンジニアが理由を解説】
プログラミングはオタクがするもの
先ほどの理系の話と似ていますが、プログラミングってなんとなくオタク系の人がやるものだと思っていません?
オタクっぽい人が多いことは事実(笑)
ですが、オタクじゃないと出来ないということは全くありませんよ。
むしろ僕の職場は、体育会系の人が多いかも…?
関連記事プログラミングはオタクがやるものではない【誰でも学べます】
プログラミング嫌い・苦手意識を克服する5つの方法
プログラミング嫌い・苦手意識を克服する5つの方法
- じっくり時間をかけて勉強する
- 簡単な言語から始める
- 小さな「できた!」を繰り返す
- 一緒に頑張る仲間を作る
- ゲーム感覚で楽しむ
1つずつ解説していきますね。
じっくり時間をかけて勉強する
プログラミング嫌いを克服するためには、時間をかけて勉強することが必要です。
なぜなら、プログラミングが嫌いと感じてしまう1番の理由は「プログラミングができない→面白くない」と感じてしまうから。
ではどれくらい時間をかけて勉強すれば良いか?
僕の場合、2ヶ月ほとんど毎日プログラミングの勉強をしていました。
1日5時間ぐらい、1ヶ月30日とすると、2ヶ月勉強すると
5 x 30 x 2 = 300時間
これぐらいです。
改めて時間で表してみると結構おどろきの勉強時間ですよね。
ただこれが事実で、理解してコードを書けるようになるまで約300時間ぐらい必要だったということです。
「プログラミングが出来ないから嫌い」と思っている人は、習得に時間がかかることを理解して、粘り強く取り組みましょう。
簡単な言語から始める
プログラミングを勉強するときは習得が簡単な言語から始めましょう。
というのも、プログラミング言語によって習得が簡単なものと難しいものがあるため、難しい言語から始めると高確率で挫折します。
例えば、習得が難しいと言われている言語は以下の通り。
- C言語
- C++
- Java
僕の場合、2回目の挑戦がC言語だったのですが、結局難しくて理解できませんでした。
僕が習得に成功したPerlという言語は、実は習得が簡単な部類です。
3回目にPerlを勉強した時は、じっくり時間をかけて勉強することで理解することができました。
独学に失敗した当時中学生の僕には、インターネットで情報があふれていなかったこともあり、難しくて理解できなかっただけです。。
C言語もPerlもどちらも習得してみて振り返ってみると、やはり断然C言語の方が難しいです。
プログラミングを初めて勉強するときは、習得が簡単な言語から始めましょう。
どの言語から始めたら良いかというと、Web系で使われる言語がオススメです。
Web系で使われるHTML&CSS、JavaScriptは初心者でも習得しやすい部類の言語です。
小さな「できた!」を繰り返す
プログラミング嫌いを克服するには、「できた!」という成功体験を繰り返すことが重要です。
例えば、Progateという学習サイトのHTML&CSSを勉強する過程は次のようになっています。
- 最終的に作る成果物の全体をイメージする
- 小さなパーツに分けて1つずつ作っていく
- 2を何度か繰り返す
- 完成!
大事なことは、2と3の小さなパーツに分けて何度も作っていること。
ぶっちゃけ、いきなり全体を作ってくださいと言われても全然分からないですよね。
ですが、少しのインプット&アウトプットで小さいパーツを作ることで、「できた」という成功体験を感じることができます。
この「できた」がめちゃくちゃ楽しんですよね!
1度楽しさを覚えたプログラミングによるモノづくりを繰り返すことで、プログラミングが嫌いという意識は消え、自然とスキルが身につきますよ。
作れそうなものをどんどん作り、小さな「できた」を繰り返すことで、プログラミング嫌いを克服することができます。
Web系の勉強を始めるならProgateは非常にわかりやすくてオススメです。
実際私もやってみましたが、オンラインで気軽に学習を始められるので、初心者が最初に取り組むには非常に優秀な学習サイトです。
一緒に頑張る仲間を作る
プログラミングを勉強する場合は、一緒に頑張る仲間をつくることがオススメです。
というのも、1人で勉強していて分からないことにぶつかったとき、高確率で挫けます。
私の過去の経験を振り返ってみると次の通りでした。
- 1回目:完全独学
- 2回目:分からない人同士で集まって傷の舐め合い
- 3回目:大学院時代の同期と一緒に苦しみながら勉強
過去に2回挫折した時は、分からないことを相談できる人がいませんでした。
一方、3回目で習得できた時は一緒にプログラミングをする仲間の存在がありました。
一人で悩むより、悩みを相談したり共有できる存在は超重要です。
今だとSNSを使うのがオススメです。
例えばTwitterであれば気軽に始められて、それでいて多くの勉強仲間に出会えます。
私もTwitterで情報発信していて、プログラミングを頑張っている人から良い刺激をもらっています。
https://twitter.com/donachiki1017/status/1218500367345782789
ゲーム感覚で楽しむ
特にゲーム好きな人にオススメの方法で、プログラミングをゲーム感覚で楽しむと良いです。
例えば、プログラミング界で有名なFizzBuzz問題というものがあります。
FizzBuzz問題とは?
プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。
このゲームをコンピュータ画面に表示させるプログラムとして作成させることで、コードが書けないプログラマ志願者を見分ける手法をJeff AtwoodがFizzBuzz問題 (FizzBuzz Question) として提唱した。その提唱はインターネットの様々な場所で議論の対象になっている。
このFizzBuzz問題を解くためには、次のようなことを考えます。
- 入力した数字をどう扱うか
- 数字で割り切れるとは、どうやって表現すれば良いか
- 3で割り切れる、5で割り切れる、15で割り切れる、という条件をどう扱うか
この過程がパズルを解いていくような、戦略ゲームを攻略するような、そんなゲーム感覚で楽しめるんですよね。
この感覚を知ってからは一気にプログラミングが楽しくなりました。
実際の開発もこの小さなゲーム感覚を繰り返しているだ毛なので、プログラミングをゲーム感覚で楽しんでみることをオススメします。
【ここだけの話...】プログラミング嫌いを最速で抜け出す方法
ここまでで、プログラミング嫌いを克服する方法を紹介しました。
過去の私と同じようにプログラミングが嫌いだと感じている人は、この記事で紹介した方法を実践してみてください。
プログラミング嫌いが克服できて、よりプログラミング学習に励めるはず。
ただ、
「そうは言われてもやっぱり難しい。自分にはダメだ…」
と感じる人へ。
プログラミング嫌いを最速で抜け出したいならプログラミングスクールを活用しましょう。
なぜかというと、本記事で解説した『プログラミング嫌い・苦手意識を克服する5つの方コツ』が、プログラミングスクールのカリキュラムは全てカバーしているから。
プログラミング嫌い・苦手意識を克服する5つの方法
- じっくり時間をかけて勉強する
▶︎ 1つの言語習得に必要な200時間を基準にカリキュラムが組まれている
- 簡単な言語から始める
▶︎ Web系で使われるような簡単な言語を学習する - 小さな「できた!」を繰り返す
▶︎ ステップ毎にミニ演習が組まれていて、小さなものづくりの楽しさを味わうことができる - 一緒に頑張る仲間を作る
▶︎ 通学制スクールであれば一緒に励まし合いながら勉強する同期ができる - ゲーム感覚で楽しむ
▶︎ 演習問題を解く過程はロールプレイングゲームを進めている感覚
補足:プログラミングは独学でも習得できる
誤解のないようにお伝えしておくと、プログラミングは独学でも習得できます。
プログラミングスクールに通わないと習得できない、ということはありません。
ただ、そのことを理解しながらも、独学でプログラミング習得することが難しいのも事実です。
実際あなたは、「プログラミングを勉強しているがなんだかうまくいかない…」と感じてこの記事を読んだのではないでしょうか?
お金を惜しんで独学に挑戦したものの、結局挫折してしまっては何にも意味がないですからね...。
独学するか、スクールに通うか、非常に迷うところだと思います。
おすすめは『無料体験』を受けてみること
そこでおすすめなのが、まずはプログラミングスクールの無料体験を受けてみること。
実はプログラミングスクールでは無料体験を開催しているところがあります。
さらに、現役エンジニアと直接話せる機会がったり、勉強中の悩みを相談できるカウンセリングが受けられたりもするので、プロラミングスクールに通うつもりがなくても受けておくと良いことがあります。
無料体験&カウンセリングで解決できること
- 「プログラミングスクールと独学で成功確率が違うのはなぜだろう?」
- 「プログラミングを習得するコツって何だろう?」
- 「プログラミングスクールで使う教材ってどんな感じかな?」
独学していて勉強の仕方や使っている教材が合っているか、疑問に思ったりしませんか?
そういった些細な疑問点も、プログラミングスクールの無料体験を受けることで解決できたりしますよ。
ここでは無料体験を受けられるプログラミングスクールの中で、現役エンジニア目線でおすすめできるものをいくつか紹介します。
どれも無料なのでリスクはゼロ、受けなきゃ損ですよね。
申し込みは以下のリンクからできて、1分で申し込みできます。
悩んでいる間に、あなたが受けることができたはずの席はどんどん埋まってしまいますよ。
申し込まずに後悔するより、ダメもとで申し込んでみましょう。
無料体験できるプログラミングスクール
- TechAcademy
:オンライン受講者実績No.1のプログラミングスクール最大手
- CodeCamp:厳選した講師のみを選抜した圧倒的指導力
- テックキャンプ プログラミング教養
:挫折しない環境による習得率No.1