プログラミングは難しい!何回やっても上達できる気がしない!
プログラミングを学んでみたいと思っている方はたくさんいると思います。
ただ、プログラミングが難しいと思ってしまい学習を諦めた方もたくさんいると思います。僕自身も文系出身で「プログラミングは難しそう」というイメージを勝手に持っていましたが、本業になっている今は難しいと思ってないし、とても楽しいしごとだと思っています。
今日の記事では、よくプログラミングが難しいと言われる理由とそれを乗り越えるための方法を紹介したいと思います。
- 本記事で解決する内容
- 自分がなぜプログラミングが難しいと思っているのかがわかります。
- ↑の解決方法もわかります。
- 本記事の信頼性
ちなみに、プログラミングに挑戦したことはあるが、最後に挫折した人は「目標設定」でうまく行っていない確率が高いです。
このような方はプログラミング自体が難しいわけではなく「プログラミングで成果を出すこと」に難しさを感じる方が多いです。この問題に関しては、大体スクールを通う事によって解決されます。
スクールでは学ぶ内容の指定・学習プラン設定・進捗管理・案件獲得のサポートをおこなってくれるためです。そのため、挫折せず目標の達成まで走りきれると思います。
どのプログラミングスクールがいい?と迷っている方は、とりあえずテックアカデミーの無料カウンセリングで自分の悩みが解消できるかどうかを相談してみるといいと思います。
プログラミング学習が難しいと思われる理由
プログラミングが難しいと思われる理由は大体以下です。
- 成果が確認しにくい
- youtubeを見てコーディングしたけど応用できず、他のプログラムが作れない
- 単純にプログラミング自体が難しい
- 挫折しがち
- 覚える情報が多い
- 英語が難しい
一つずつ見ていきましょう。
成果が確認しにくい
言語によっては、成果が確認しにくい場合が多いです。ターミナルでコマンドを叩くのって「なんか英語いっぱいでてきた!」感はありますが、うまく行っているかどうかの確信が持てないです。
もし、あなたが初心者ならターミナルは怖い存在なはずですw。また、progateやドットインストールなどのサービスはサービスの中に問題に合わせてセットされたターミナルが表示されているため、ユーザーは怖がることなく触ることができますが、それを自分の環境でできるようになるまでは時間がかかる人も多いでしょう。
黒い画面きらい!😱
youtubeを見てコーディングしたけど応用できず、他のプログラムが作れない
プログラミングを学ぼうと思うほとんどの方はYoutubeを見ながらコーディングしたことがあると思います。Youtubeは無料で学ぶことができるためです。
ただ、Youtubeの動画を見てそのまま実装しても、成長しないケースがほとんどです。なぜなら、コードを理解せず実装してしまったためです。
「手を動かしながら学ぶのだ!」という話をよく聞くと思います。これ自体は正しい話だと思います。ただ、頭の中にある程度の知識があり、「このコードはこの理由で必要」くらいの内容はわかるレベル出ないとなかなか次のステップに進まないと思います。
昔の私もそうでしたが、Youtubeの動画の内容をー周しても自分のものは全く作れませんでした。涙
単純にプログラミング自体が難しい
いいえ、簡単です!
...みたいなこと言ったら無責任な人です笑。
プログラミングが合う人は簡単に学習ができますが、そうでない人に対しては難しいのが事実です。ただ、こちらは技術の発展でプログラミングが難しい人でも始めやすくなっているとおもいます。
こちらは、後ほどまた説明します。
挫折しがち
プログラミング自体は何ヶ月間勉強したが、学習が続かずやめた人も多いです。
こちらは、プログラミング自体を難しいと思っている人よりはプログラミングの学習方法でつまずいている人が多いです。
せっかくプログラミングが理解できたのに、最終的にやめてしまうというのはとてももったいないことです。このような人は学習方法やセルフマネジメントを改善するアプローチ方法を見つける必要があります。
覚える・調べる情報が多い
覚えること...多いです笑。現役である僕でさえパッと出てこない用語なんてたくさんあるし、「しらなかった!」のような用語も未だに存在します。
すべての情報を完璧に覚えなくてもいいのであんまり大きい問題ではありませんが、調べるところで挫折している人も多いようです。
グーグルで調べても人によっては自分が求めているをすぐ見つけられないので調べる段階で時間を使ってしまう人も多いです。
英語が難しい
英語ができない人は日本語で「同じエラーが出ている人はいないか」、「自分が知りたいことに関して日本語で書いてある記事はないか」などを調べます。しかし、英語に比べると日本語の情報は圧倒的に少ないです。そのために英語の記事・ドキュメントを読むことはプログラミング学習においてほぼ必須です。
日本語で翻訳されている公式ドキュメントもありますが、翻訳が完璧ではないため、むしろ読んでも理解が進みません。このように英語ができるかどうかもプログラミングの学習に影響を与えます。
プログラミングは難しくない
javascriptをやる
javascriptは基本ブラウザ上で動作する言語でWEB開発に使われる言語です。javascriptはブラウザー上ですぐ結果を確認できるので挫折しにくいです。
また、javascriptはできることが多いです。基本的なWEB制作はもちろん、2Dのゲーム制作(最近は3Dも)、またpythonのようにwebサイトからデータを持ってくることもできるので業務自動化にも繋がります。
javascriptを学ぶことにより、プログラミングでやってみたいことはだいたい達成できるのでそこから自分が興味ある分野を選択肢、その分野に合う言語を深掘りしていけばいいと思います。
chat GPTなどAIツールの出現
最近はAIツールが発達しているのでプログラミングがとても学びやすいです。代表的にはchat GPT, Bard 等があるでしょう。
このツールの何がいいかというと検索を効率よくできるというところです。
よくプログラミングに向いている人の特徴として挙げられる点の一つが「ググり力」です。つまり、自分がほしい情報をどれだけうまく検索できるのか?ということです。
AIツールはすでに人間が書いた記事のデータで学習をしているので、AIに質問することで検索を変わりに行ってもらえるようになります。しかも人間が検索するよりも正確です。
僕も、現場に入って「ググり力」って本当に大事だなーと思っていましたし、むしろ正しく検索できることによってほかの人と差をつけることができたと思いますが、AIの出現によりその差も無くなりそうです。😥
メンターをつければいい
質問できる環境にいないのは致命的です。
現場に入ると先輩に聞くなり一緒にコーディングすることもあると思いますが、独学だとそんなことはできません。わからないことがあっても自分で探さないといけないし、なんとかエラーの解決ができたとしても理由がわからない場合がほとんどです。
時間が立って「プログラミング3年ほどやりました!」と言えるようになっても現場で全く仕事ができず、怒られるばかりで最悪は契約が切れることもあります。(僕はそのケースを沢山みました。)
わからないことがあったら周りの人に質問できるように環境を整えましょう。Twitterでエンジニアとつながるのもいいですが、無料であれこれ教えてくれる人はいません。なのでMENTAのようなサービスを利用することをとてもおすすめします。
スクールなどもたくさんある
僕は「スクール賛成派」です。
Twitterですごいエンジニアたちを見ると「独学で十分」、「自分で考えられない人はエンジニアとして仕事できないよー」とおっしゃる方もたくさんいらっしゃいます。
確かに、その方たちはすでにベテランなので信ぴょう性のある言葉に聞こえると思います。
ただ、すべての人が同じことができるのか?というとそれはむずかしいです。むしろ教材とカリキュラムをちゃんと用意している。スクールのほうが再現性が高いと思います。
また、最近のスクールのほとんどは現役エンジニアがメンターとしてついていますし、転職までサポートしてくれる分、挫折せずに目標まで走れる環境だと思います。
僕自身、エンジニアとして働いている今でも学習にはお金を書けています。スクールの講座を購入し勉強をしたり、それこそ上で言及したMENTAというサービスで学んだりしています。