Pocket

人間誰しも得意不得意が必ずあります。

やりたいこともあれば、反対に絶対にやりたくないこと、苦手なこともあるため、自分に向いていないものはなるべく手をつけずに人生を過ごしたいのが本音です。

例えば、長距離を走るのが苦手な人がマラソン選手になることは向いているとは言えませんよね?

これを実現するとなると、嫌々マラソンの練習をし続けることになるため、とにかく毎日が苦痛となってしまいます。

ひろ
めっちゃ苦痛しかありませんw

あらゆる職種やスポーツがありますが、その中で今回お伝えするプログラミングというのは、特に苦手とする人が多い分野でもあります。

エンジニアの数が年々減り続けていることからも分かる通り、最初のプログラミングを学ぶ段階で苦手意識を持ってしまう人が多いのは、数字が証明してくれているのです。

ですがプログラミングを学ぶことによるメリットは計り知れません。

大きなメリットがあるのに、それを『苦手』という言葉一つで片付けてしまうのはかなりもったいないことです。

なのでここでは、現在プログラミングに苦手意識を感じている、もしくはプログラミング学習がなかなかうまく進まない方たちの参考になる内容を、私の経験談も交えながら詳しくお伝えしていきたいと思います。

ちなみに私も最初はプログラミングが苦手でしたが、とある方法を実践して今ではプログラミングがかなり好きになっています。

プログラミングができない=才能がないは本当?

本題に入る前に、まずは自分にプログラミングの才能があるのかどうかは気になるところですよね?

私自身も、初めてプログラミングを学習するときは

ひろ
プログラミングって才能が必要なのかな?
ひろ
理系の方が有利に勉強できるのかな?

まぁ色々と悩むことがありました。

一通り悩み終わり、私が出した結論というのは

ひろ
『とりあえず期間を決めてプログラミングをやってから考えよう!』

ということです。

多くの人は、自分に才能があるかどうかを

『プログラミングを学ぶ前の段階で計ろうとする』

ことがほとんどです。

適性診断やあらゆる情報を集めて適性があるかどうかを調べるのも、ほとんどが

『プログラミングを勉強する前、もしくは勉強を始めた段階』

だと思います。

OLの中野さん
確かに!始めた当初は分からないことが多いから調べてしまうかもw
ひろ
そうですよね。その気持ちはとてもよくわかります。

つまり才能があるかどうかを判断する時期は

『ど素人、初心者の段階で考えることがほとんど』

になるため、十分な勉強をせずに諦めてしまうことが多いのです。

ちなみに一人で勉強を続けていると、プログラミングの難易度はかなり高くなります。

これは学校で勉強を教わるのと、学校に行かずに引きこもって自分で勉強することに差が出るのと同じ理由です。

実際プログラミングができない状態でスクールを活用している人たちは、数ヶ月でエンジニアに転職している事実もあります。

プログラミング学習数ヶ月で、9割以上の人が転職ができるスクールとして有名なのはTech Academy(テックアカデミー)TECH::EXPERT(テックキャンプ)などが挙げられます。

数ヶ月プログラミングを勉強して全くスキルが身につかない人がいる裏で、スクールに通って9割以上が転職を実現させている現実から考えると、プログラミング学習というのは適正よりも『環境』が大きく影響していることがすぐに分かります。

才能があるかどうかは、とりあえず勉強し続けなければ分かりません。

才能があるかどうかを初心者の頃に調べてしまうことは、結局自分の才能を潰すことにも繋がるのです。

ひろ
とりあえず最初の段階は『才能』という言葉は意識せずに進みましょう。

なぜプログラミングを苦手と感じてしまうのか?

才能があるかないかは置いておき、実際にプログラミング学習を始めると、最初の段階で多くの人は

『自分はプログラミングが苦手かもしれない‥』

と思ってしまうポイントが出てきます。

この感情が出てきたときに、目の前には2つの道が出てきます。

▼プログラミング学習の分かれ道

  • 1つ目:苦手だからプログラミングを諦める
  • 2つ目:苦手だけど継続してプログラミング学習を進める
ひろ
多くの人は前者の道を選びがちです。

学習を始めた段階で苦手だと感じことは、誰でもあります。

今エンジニアやプログラマーとして活躍している人の多くも、この『苦手』という感情と戦って今のスキルを手に入れています。

ではなぜプログラミング学習が苦手だと感じてしまうのか?

その理由は以下の要素が必ず含まれています。

そもそも全体像が理解できていない

まずプログラミングを学習することになった場合、最初に『基礎学習』から入ります。

ひろ
Hello!world!を表示させたりするやつですね。
OLの中野さん
あっ、それ私もやったやつです。かなり基本的な内容のやつですね笑。

基礎を学ぶことは何よりも重要です(これは後々分かってきます)が、最初の段階では

『基礎を学んでそれが後に何に使われるのかがさっぱりイメージできない』

ことがほとんどです。

例えばJavaScriptを学ぶ場合、if文やfor文などが出てきますが、これが後に何に使われてどうなるのかをイメージできる人は初心者の中にはまずいません。

となると

『自分が今学習していることに意味はないかもしれない』

とネガティブな感情が出てきてしまい、結果的に学習が嫌になってきます。

これが全体像が分からないで挫折する典型的な例です。

ちなみに基礎学習に関しては、Tech Academy(テックアカデミー)の無料体験ブートキャンプを利用することで、基礎を学びながらWebサービスを作る経験ができます。

無料体験  Tech Academy(テックアカデミー)はこちら!

基礎学習:後々当たり前のように使う重要な知識

初心者の感情:今学習していることが、いずれ何に使われるのかがさっぱり分からない。つまり今勉強していることが無意味→勉強を辞めて挫折

ひろ
初心者の多くは『短期的に大きな結果を残したい』と思うため、目の前の基礎学習の意味を見出すことがなかなかできません。ちなみに私もそうでした笑。

できないことを認めたくないから理由を付けている

そしてこれは、モロに過去の私が持っていた思考回路です笑。

ひろ
発表するのはちょっと恥ずかしいですがw

どういうことかというと、例えば自分がプログラミングの学習を始めたとします。

そうすると、当然理解できない部分が出てくるため、必死で勉強しようと頑張りますが、結局ちゃんと理解できないことも多く、その時点で自分の理解度の低さに絶望し始めます。

最初の段階でプログラミングを理解できないのは当然といえば当然なのですが、自分ができないことを認めたくないため

『自分は他の人よりもプログラミングが向いていない・苦手なんだ』

と落とし所を見つけるのです。

人間はできない理由を探す天才です

▼人ができない理由を作るときの事例

  • 朝が苦手だから早朝集合はできない
  • 料理が苦手だからバランスの良い食事は取れない
  • 運動音痴だからダイエットなんて無理
  • 努力が苦手だから、毎日走るなんてできない

ひろ
人はやらない理由をいくらでも作ることができるため、プログラミング学習でも同じ要領でやらない理由を探し始めるのです。

自分の理想とする未来が遠すぎる

実際にプログラミング学習を始めると、初心者の多くは

『短期的な目標を大きく、長期的な目標を小さく設定する』

ことがほとんどです。

ひろ
これは絶対に逆にしましょう!

例えばプログラミング学習をスタートした場合

ひろ
できるだけ短期間で凄いものを作ってやるぞ〜〜!

と意気込んでしまいますよね?

自分が頭に描いている理想のサービスを作るために、最初の段階は頑張るのですが、数日経つと

ひろ
あれっ?自分が思っているサービス作るのってめちゃめちゃ難しくないか?

と、現実にぶち当たるのです。

理想を描くのは良いことですが、その理想が大きすぎると、自分の実力と理想のギャップの大きさに心が折れてしまい、結果的に挫折してしまうことがほとんどです。

本当に実力を付けていく人たちは、短期的な目標を小さく設定していることがほとんどです。

段階を踏んでできることをこなしていくため、結果的に数ヶ月後にはかなりの実力が付いていたりします。

▼プログラミング学習で重要なマインドセット

  • 短期的な目標は小さく
  • 長期的な目標は大きく
ひろ
ここさえ徹底しておけば、まず挫折してしまうトラブルは起こりません。

慣れていないためコードが暗号に見えてしまう

これはプログラミングの基礎というゾーンを通過するまでに誰もが経験するイベントでもあります。

なのでそこまで深刻に考える必要はありません。

最初の段階で↓

こんなコードの羅列が出てくると

『なんじゃあぁぁぁこりゃぁぁあぁ!1!!!』

と心の中で35回くらい叫ぶと思います。

ひろ
はい。私はもっと叫んでしましたw

ですがこれは当たり前の反応なので、気にしないでください。

後々分かりますが、結局のところプログラミングのコードは、とある型に沿って書かれているだけなので、全体像が分かれば意外と理解できてしまいます。

プログラミングが暗号にしか見えない‥理解するにはまずこれをやりましょう!

最初は暗号だと思っていても、ググりながら知識を取り入れることで、それが解読できるようになっていきます。

プログラミング初心者の段階:コードが暗号に見えて解読するのが辛い

プログラミングに慣れた人の段階:全体的な型を理解しているため、分からないところが出てきても瞬時にググって解決できる

周りの情報に振り回されてしまう

今の時代は、とにかく情報との戦いに勝たなければなりません。

想像してみてください。

例えばあなたがプログラミングを始めたばかりの初心者だったとして、ネット上に

『1ヶ月でプログラミングをマスターできた人の話』

『3ヶ月でフリーランスに転職できた成功例』

などの情報が多くあった場合、どのように感じますか?

少なくとも、心のどこかで

ひろ
俺でも3ヶ月で人生変えられるんじゃね?

と思いますよね?

もちろんこの感情は良いことなのですが、危険なのは

『情報に振り回されて、短期的な目標が大きくなってしまうこと』

です。

短期的な目標を大きくすることが良くないという話は先ほどしましたね。

つまり、世の中の情報に惑わされて自分のペースを崩されてしまうと、理想と現実のギャップが開いてしまうことがあります。

情報を得る前:自分のペースでコツコツ勉強しようと考えていた

情報を得た後:世の中に短期間で成功している人がいるのを知り、自分でもできると確信して無理なペースで勉強を始める

ひろ
後者の選択をして成功するのが理想ですが、無理な課題を自分に課すと、結果的に悪い方向に向かいがちです。

情報は上手に活用することでプラスになりますが、周りの情報に惑わされるとペースが崩れてしまい、これもまた挫折することに繋がるのです。

プログラミングが苦手だと話す大半の人は学習時間が足りてない

ここまでの話である程度理解していただけたと思いますが、世の中の人がプログラミングを苦手だと感じている根本的な原因は

『圧倒的に学習時間が少ないこと』

です。

本当にこれに尽きます。

OLの中野さん
苦手なのではなく、勉強が足りていないだけということですか?
ひろ
おっしゃる通りです。学校の勉強で考えると分かりやすいですが、苦手な科目は勉強せずに、得意科目を積極的に勉強したくなりますよね?
OLの中野さん
確かに。苦手なことはできればやりたくないです。
ひろ
プログラミング初心者は、最初の段階で一番苦手なのは『コードを書くこと』がほとんどです。ここを飛ばしてインプットに時間を注いでしまうため、結果的にプログラミングに対する苦手意識が取れないのです。

『いや、私は勉強してますよ!』

と思う方も多いとは思いますが、実際に自分がコードを打ち込んでいる時間を測ってみてください。

おそらくインプットに大半の時間を注ぎ、コードを書いている時間が圧倒的に少ないという結果が出ると思います。

プログラミングスキルを伸ばしている人たちの共通点としては

『とにかく書いているコードの量が多い』

ことが一番に挙げられます。

スキルが伸びる人:とにかく分からなくてもいいからコードを書いてみる。そしてそこから調べる。

スキルが伸びない人:コードを書く前にインプットに時間を使う。そして完璧に理解できたらコードを書き始める。

もしあなたの周りに、コードをほとんど書かずに成功しているプログラマー・エンジニアがいれば教えていただきたいです。

そのような人は一部の天才か、それとも成功している風に見せているかのどちらかですからね。

1000時間プログラミングの勉強をするとどう変わるのか?

プログラミングの学習に関しては、結論として

『最初は誰もが苦手だと感じる』

のが当然です。

もし最初の段階からプログラミングのコードをスイスイ解読できる人がいたら、その人は間違いなく天才か英語が堪能な方でしょう。

ひろ
苦手意識を持つことは当然だと考えておきましょう。

では仮に、その苦手意識を持っている初心者の方が、頑張って1000時間くらいプログラミングの学習をしたとします。

そうなった場合、苦手意識を持っていた状態からどのように変わることができるのか?

これは私の経験も含まれていますが、これだけの勉強時間を確保できれば、まずプログラミングに対する意識は大きく変わっていきます。

暗号だったコードが脳みそで理解できるようになる

とりあえずこれだけの勉強時間を確保できれば、暗号だと感じていたコードが読めるようになり、何が書いてあるのかをすぐに理解できるようになります。

途中でもお伝えした通り、プログラミングのコードというのは、一定の型があるため、一度その型を覚えてしまえば読めないといことはまずありえません。

英語を勉強するときも、ある程度の文法や単語さえ覚えておけば、それなりに読むことができますよね?

その感じとかなり似ています。

OLの中野さん
確かに英語を勉強すると、今までわからなかった文章が読めるようになりますね!
ひろ
本当にその感覚と似ているんですよ♪

プログラミングの場合、コードが分かると自分でできることも増えてくるため、自然とサービスを作る側に回ることができます。

この段階に入るとマジでプログラミングが面白くなっていきます。

暗号が解読できるようになるタイミングは人それぞれですが、少なくとも200〜300時間の勉強を経れば、間違いなく暗号から読めるコードに変わっているはずです。

プログラミングを使って自分で簡単なサービスが作れる

コードが読めるようになるということは、そのコードを真似したり自分でコードを書いたりしてサービスが作れるようになっていることになります。

例えば今までネット上に公開されているサービスがあっても

『これってどうやって作られてるんだろ‥分からないな』

と思っていたものが

『これはこのコードを使って作られているんだな!』

と理解できるようになります。

ひろ
分からないことが多くても、コードさえ読めればどうにでもなります。

そうすると、模写したりアレンジしたりして自分なりのサービスを生み出すことができますし、それを応用して面白いアプリを開発したりも可能です。

本来プログラミングは学ぶものではなく

『自分でサービスを作り出すための手段』

であるため、この段階に入ればあらゆるものを自分の手で作れるようになるのです。

▼プログラミングで多い勘違い

多くの人はプログラミングを勉強しようと考えていますが、結局プログラミングは『手段』でしかありません。

勉強している理由はあくまでも『サービスを作り出すスキルを身につけるため』なので、基礎を学んだ後は、早い段階でサービスを作る側に回ることが成長を促すことになるのです。

ひろ
手段が目的化すると、できるものもできなくなるので注意が必要です。

普通に働けるレベルになる

正直1000時間も勉強すれば、普通にプログラマー・エンジニアとして企業で働くことができます。

というより、企業で働くことを目的としているのであれば、1000時間も勉強する必要はありません。

200〜300時間の勉強時間を確保し、その後自分のスキルでも雇ってくれる環境に身を置いた方が成長スピードは飛躍的に高まります。

OLの中野さん
勉強時間に注ぐよりも、働きながら学んだ方が早いということですか?
ひろ
どちらが正しいということではありませんが、働きながらの方が覚えるのは間違いなく早いです。

高い年収が得られる働き方をするためには、実務経験をこなしてスキルを高める必要があります。

たくさん勉強しようと思っている方は、まず早い段階でエージェントとの面談をしてみて、そこでどのような進路を辿るべきか相談してみるのも良いでしょう。

プログラミングで就職(仕事)できるレベルの基準はどれくらいなのか?

▼実務をこなした方がスキルが伸びる理由

結局仕事として案件をこなす場合、半端なことはできません。勉強ではスルーしていたことも、実務では自分で調べて解決する必要があります。

自分に何が足りないのか?これは実務を経験することによって分かるようになります。

プログラミングの苦手を克服した私が実践した3つのこと!

私自身は、おそらく誰よりもプログラミングを苦手に感じていた人間だと思っています。

そもそも頭はそこまで良くありませんし、ゴリゴリの文系です。

ひろ
理系の人しかプログラミングができないと思っている方、文系でも問題ありませんよ♪

そんな私でも、ある程度のプログラミングスキルを身につけ、今では高い報酬を得るためにスキルを磨こうとするまでに成長しました。

今振り返ってみると、苦手意識を持っていた頃はスキルの伸びが遅かったような気がします。

ある日突然、点と点が線として繋がり、そこから急激にスキルが伸びるような経験をしました。

ではプログラミングに苦手意識が強かった頃の私が、どのようにしてブレイクスルーを起こしたのか?それは大きく分けて3つのことを実践したことがターニングポイントになったと思っています。

分からない前提で学習する

私の場合、自分の中で

『俺なら余裕でできるっしょ!』

みたいな謎のプライドを持ってしまうタイプです笑。なのでプログラミングに対してもそのような気持ちで学習を始めました。

このようなセルフイメージは重要なのですが、気をつけなければならないのは

『自分ができると思って学習すると、分からないときに心が折れがち』

になります。

なので最初の段階で

『自分はやればできる人間。だけどプログラミングに関してはいずれ成功するけど今は全く分からない状態』

だというマインドで始めるようにしました。

このマインドを持つと、分からないことが出てきても

『いや、やったことがないんだから分からなくて当然でしょ!でもいずれできるし!』

という理想的なマインドを持つことができるのです。

OLの中野さん
なんか面白いですね笑。
ひろ
これは結構効果的なのでオススメですよ♪

とりあえずコードを書きまくる

そして知識がなく、プログラミングができないのは当然であるため、考えていても仕方がありません。

とにかくインプットよりもアウトプット(コードを書く)を重要視した学習方法を取り入れ、毎日とにかくコードを書きまくりました。

▼この業界で伸びる人

インプットを重要視している人よりも、とにかくアウトプット重視で行動している人の方が圧倒的に伸びています。

面白いことに、毎日コードを書きながらググって調べると、自然とコードの意味や型が理解できるようになってきます。

最初の段階はかなりキツイ時もありましたが、そこを乗り越えることができれば面白いように理解できるようになってきます。

OLの中野さん
分からない状態でコードを書くということは、最初は真似していたのですか?
ひろ
そうですね。最初は模写しながらコードを書いていました。
OLの中野さん
なるほど。真似から始めても効果はあるんですね。
ひろ
むしろ最初は真似しまくった方が伸びますよ♪

学習時間=経験値だと思ってとりあえず頑張る!

最初の段階は、自分のスキルが伸びているのか伸びていないのか全く分からない状態が続きます。

暗闇のトンネルを一人でひたすら進んでいる感じになるため、とにかく辛いです。

OLの中野さん
最初が一番辛いらしいですからね。
ひろ
そうですね。ここさえ乗り切れば楽しいんですけどね。
OLの中野さん
頑張っちゃおうかな!
ひろ
その意気です!

なので初心者の頃は、とりあえずスキルが伸びているかどうかを測るのではなく

『自分がプログラミング学習に費やした時間を計測する』

ことを意識しましょう。

これを取り入れることによって、自分が今までどれだけ頑張ってきたのかを数字で見ることができます。

例えば1日2時間勉強したのであれば、それをストップウォッチで測り、ノートや管理シートに記入します。

そうすると、毎日学習した時間がグラフとして積み上がっていくため、モチベーションも上がります。

そして一つのラインとなる100時間・200時間・300時間となったら、自分のスキルがどこまで伸びているのかを調べてみましょう。

気づいたら結構できることが増えていたりしますよ♪

苦手・できないは絶対乗り越えられます!

かなり長いことお伝えしてきましたが、ある程度苦手に対する克服方法は解説できたかなぁと自己満足しています笑。

苦手だと感じるのは、あくまでも自分の感情であり、それができない理由にはなりません。

むしろ最初は苦手だと感じる人が多いからこそ、そこを乗り越えた後の大きなメリットが受けられるのは事実です。

仮に誰もが簡単だと感じていた場合、そこを乗り越えた後の恩恵はそこまで大きくないでしょう。

プログラミングという特殊なスキルを身につけることが、あなたの人生にとってどれだけのプラスをもたらすのか?そこを意識してみると、勉強意欲が高まってきたりしますよ。

もしプログラミングが苦手だと感じ、なかなか上手いこと勉強が捗らない場合に関しては、独学で学ぶのではなくスクールを活用してみるのも一つの手です。

どうしても苦手を克服できない怖さがある場合には、なるべく講師陣が徹底的にマンツーマンでサポートしてくれるスクールを選ぶべきです。

▼マンツーマンサポートが充実しているスクール

→Tech Academy(マンツーマンサポートあり)

→TECH::CAMP(転職できなければ全額返金)

とりあえず最初の基礎の段階を抜けることができれば、間違いなく今までとは違った景色を見ることができるようになりますよ。

まとめ

今回の記事をまとめてみると

▼プログラミングが苦手だと感じる理由

  • 全体像が理解できてない
  • できないことを認めないための理由になっている
  • 短期的な理想を高く持ちすぎている
  • コードに慣れていないため暗号に見える
  • 周りの情報に振り回されて我を忘れている

結局のところ、苦手という『感情』を持っているだけで、根本的な原因は『学習時間が単純に少ないだけ』なので、そこまで深刻に考える必要はありません。

プログラミングは学習を続けていけば、必ず理解できるようになります。

これは苦手意識を強く持っていた私が体験したからこそ言えることです。

もし一人で乗り越えるのが難しいのであればプロや講師に頼ることで、苦手意識を取り払うことができることもあります。

学習方法はいくらでも選択肢がありますので、視野を狭くせずに自分が成長できる環境を見つけて苦手を克服していきましょう。

人気記事  未経験の方にオススメのプログラミングスクールを厳選してみた!

Pocket