広告 PROGRAMMING

プログラミングを時間の無駄にしないための5つの秘訣

2024年5月26日

※記事内に広告を含む場合があります。

プログラミングのイラスト

記事を読むメリット

  • プログラミングを時間の無駄にしないための秘訣が分かる
  • プログラミング学習で時間を無駄にしてしまう人の特徴が分かる
  • プログラミング学習に興味があるんだけど、時間を無駄にしたくない!

    勉強してもプログラミングが身につかずに時間を無駄にしてしまう人の特徴ってどんなの?

    最近はAIとかが自動でコードを書いてくれるみたいだし…もうプログラミングって時代遅れ?勉強しても無駄?

    このような方に向けて今回は、「プログラミングを時間の無駄にしないための秘訣」「時間の無駄になる人の特徴」「今から学んでも決して無駄ではない理由」などを解説していきます。

    この記事を書いている僕は、2022年4月にプログラミング独学を開始し2023年3月にエンジニアになりました。

    結論
    • 5つの秘訣は「目的を持つ」「ちゃんと勉強する」「実践あるのみ」「AIと調和する」「簡単に諦めない」
    • プログラミングを自動化してくれる生成AIの登場などはプログラマーにとって脅威ではあるが、今から学んでも決して無駄ではない

    現役エンジニアの視点から、プログラミングの将来性などについても解説します。

    目次

    プログラミングを時間の無駄にしないための5つの秘訣

    時間のイラスト

    プログラミングを時間の無駄にしないための秘訣は以下の5つです。

    全部と言わずともこの中で3つぐらい守れれば、「副業で月〇万円稼ぎたい」とか「エンジニアになりたい」みたいな、プログラミングで達成したい目標は達成できます。

    プログラミングを時間の無駄にしないための5つの秘訣

    目的を持つ

    一番大事かもしれません。

    プログラミングを学ぶ目的が弱い、もしくは目的が無い人は、頑張る理由がないので挫折しやすくなります。

    「副業で月5万円ぐらい稼ぎたい」
    「フリーランスエンジニアになりたい」
    「IT業界に転職して年収上げたい」

    みたいな感じで、プログラミングを学ぶ目的を持ちましょう。

    僕も独学を始めた当初は「パソコン1台で仕事できるようになりたい」というのが目的でした。
    そういう自分なりのふわっとした感じでOKなので、まず目的を決めましょう。

    目的が決まらないと、どのプログラミング言語を学べばいいのかすらも決まりません。

    目的のない学習ほど時間を無駄にするものはないので、まずは自分なりの目的を決めましょう。

    ◆関連記事:プログラミング学習の目標の決め方【わりと適当で問題なし】

    ちゃんと勉強する

    目的を決めたら、ちゃんと勉強しましょう。

    RaiseTechでは、未経験から現場レベルのエンジニアになるためには
    「400時間以上」の学習を推奨しています。
    3ヶ月で身につける場合は1日4時間半、半年の場合は1日2時間半ぐらいです。

    「プログラミングが全然身につかない…」
    「自分はプログラミングが向いてないんじゃないか…」

    と悩んでいる人の共通点は、大体学習時間が足りていないだけです。

    例えば1日4時間半の勉強を3ヶ月継続しても身につかないなら、もうそれは向いてないかもしれませんが、まだそこまで勉強していないなら、向き不向きとか考えるのは時期尚早です。

    まずは400時間勉強してから考えましょう。

    400時間と言わずとも、大体100時間ぐらい勉強すれば基礎は身につくので、そのあたりを超えると楽しくなってきます。

    ◆関連記事:プログラミングできない奴ちょっと来い※できない原因は努力不足です

    実践あるのみ

    「ある程度身についてきたな」と思ったら、実際に仕事を受注してみましょう。

    勉強だけしていても実践的なスキルは身につきません。

    実際に仕事をこなすことが一番のスキルアップになるので、初心者ほどとにかく実践あるのみです。

    ちなみにこの最初の受注は、初心者を卒業するまでの壁の中で一番高い壁です。
    ウォールマリアぐらい高いです。
    その日人類は思い出すぐらい高いです。

    僕はクラウドワークスで初案件を受注しましたが、一番最初は死ぬほど不安でめちゃくちゃ緊張しました。

    最初の一歩はめちゃくちゃ不安で尻込みしますが、仕事の内容が全て理解できなくても、6割ぐらい理解できれば受注しちゃってOKです。
    割と問題なくできます。

    クラウドワークスで探したり、知人や友人からお仕事を頂いたりと、方法は色々あると思うので、勇気を持って受注しましょう。

    実践せずに勉強だけしていると、稼げないのでそのうち気持ちが折れる&成長も止まり、時間が無駄になります。

    ◆関連記事:実績ゼロでも受注できたクラウドワークスの提案文の書き方【月10万円稼いだテンプレあり】
    ◆関連記事:プログラミング独学で稼ぐ道のり【月10万円稼ぐまでの実体験】

    AIと調和する

    AIと調和し、上手く活用しましょう。

    例えるならAIは「指示すれば完璧な仕事をしてくれる超優秀な部下」という感じです。
    バグやエラーもAIに聞けばすぐ解決してくれますし、上手に使えばプログラミングを格段に楽にしてくれます。

    また、AIに対抗しても絶対に勝てません。

    例えば、ChatGPTに「テトリス作って」と言えば、テトリスが動くコードを秒速で書いてくれます。

    どんなに優秀なプログラマーでも数秒でテトリスは作れません。

    これから必要な人材は、3日ぐらいかけて頑張って自分でテトリスを作るような人ではなく、まずAIに秒速でコードを書いてもらってそのコードを整えていく、というような作業ができるような「AIを使いこなし、速く高品質なプログラミングができる人」が重宝されます。

    AIに対抗したり、よく分からないからといってAIを使わないでいると、時間を無駄にします。

    プログラミングに役立つAIたち
    • ChatGPT…チャットジーピーティーと読む。汎用チャットアプリ。「〇〇をするためコードを作って」という会話形式で指示ができる。
    • Claude…クロードと読む。ChatGPTと同じ汎用チャットアプリ。文章の理解力ならChatGPTより精度が高い気がする。
    • GitHub Copilot…ギットハブ コパイロットと読む。OpenAI社とGitHub社が共同開発したコード生成AI。月額10ドル(個人利用)かかるが精度は良き。
    • Amazon CodeWhisperer…アマゾン コードウィスパラーと読む。Amazonが提供しているコード生成AI。GitHub Copilotに匹敵する精度だがこちらは無料。

    他にも色々ありますが、とりあえずClaude(無料版でOK)を使うだけでもかなり生産性が向上します。

    簡単に諦めない

    この秘訣だけで十分かもしれません。

    先述の通り、未経験から現場レベルのエンジニアになるためには400時間以上の学習が必要です。

    プログラミングを本気で身に付けたいなら、まず400時間勉強し終わるまで諦めないでおきましょう。

    「自分には向いてないんじゃないか…」
    「バグが全然解決できない…もうだめだ」
    「教えてもらった内容が全然理解できない…ムズ過ぎる」

    上記のような悩みは、400時間勉強するまでは無視しましょう。

    400時間勉強するまでに感じた悩みは悩みではありません。
    ただ勉強時間が足りていないだけです。

    プログライング学習には根気も必要なので、コツコツ継続しましょう。

    ちなみに、プログラミングは「スキル」です。

    「スキル」というのは、身につく時間に個人差はあれど、継続すればある程度誰でも身につきます。

    例えば、車の運転免許も「スキル」ですが、卒業できるまでの時間に個人差はあれど、教習所に通い続ければ誰でも免許を取得できます。
    免許を取得出来なかった人は、「教習所に通うのを諦めた人」です。

    プログラミングもそれと同じで、諦めなければほぼ必ず身につきます。

    そもそも、プログラミングの画面を見るだけでアレルギー反応が起こるようなパソコン嫌いの人たちもいるので、プログラミングに触れられている時点でだいぶプログラミングに向いてます。

    諦めずにコツコツ継続していきましょう。

    ◆関連記事:プログラミングは頭が悪くても習得可能な話※僕は偏差値41の高卒です

    プログラミングが時間の無駄になる人の特徴3つ

    落ち込むイラスト

    プログラミングが時間の無駄になる人の特徴は以下の3つです。

    気をつけましょう。

    プログラミングが時間の無駄になる人の特徴3つ

    目的がはっきりしてない人

    これはプログラミングに限った話ではないと思いますが、目的がはっきりしていない行動ほど時間を無駄にするものはありません。

    前述の通り、プログラミングを身につけるのには時間と根気が必要なので、
    「なんとなく役立ちそうだから」みたいなふわっとした理由だと挫折しやすくなります。

    なんとなくプログラミングを学ぶのは時間を無駄にするのでやめましょう。

    ただし、その「なんとなく」が、なんというか、言葉にできずとも自分の中でちゃんと納得できてる「なんとなく」ならOKです。

    プログラミングで時間を無駄にしないために、自分なりの学ぶ目的を持ちましょう。

    目的の例
    • 副業で月5万円稼ぎたい!
    • IT業界に転職して年収を上げたい!
    • 肉体労働したくないからパソコンで仕事がしたい!
    • 時間や場所に縛られずに自由に仕事したい! など…
    目的がはっきりしてない人が時間を無駄にするパターンの例
    1. なんか役立ちそうだからプログラミング学んでみるか!これからはITの時代だぜ!
    2. あれ、なんか思ったより難しいな…
    3. ③難しすぎて心折れかけてきた…何のためにこんなに勉強してるんだっけ?
    4. やーめた!こんなに苦労して身につけなくてもいいや!
    5. →せっかく今まで勉強してきた時間と労力が無駄に。

    勉強ばかりで実践しない人

    プログラミング学習において、最も時間を無駄にする行為がこの「勉強するだけで実践しない」ということです。

    プログラミングの上達のコツは「とにかく実践を積むこと」です。
    勉強だけしていてもスキルは伸びません。最初は伸びますが、いつか頭打ちになります。

    「まだ不安だからもうちょっと勉強してから受注しよう…」と言っている人は、1ヶ月後も2ヶ月後も同じことを言っています。
    そして、そのまま稼げずにスキルも伸びずにいつか挫折します。

    プログラミングに限らず、何事も恐怖や不安のピークは「やる前」です。

    バンジージャンプで一番怖い瞬間は飛ぶ直前であり、飛んだ後の方が怖くありません。
    プログラミングもそれと同じです。

    案件を受注する前が一番不安で怖いですが、受注してしまえば普通になんとかなります。

    とにかく受注して実際に仕事をやってみない限り、不安が消えることはありません。
    これに関してはスキルもセンスも関係ありません。必要なのはほんのちょっとの勇気だけです。

    とにかく実践あるのみです。

    勉強ばかりで実践しない人が時間を無駄にするパターンの例
    1. ①コツコツ勉強したから結構プログラミングができるようになってきたぞ!
    2. とはいえまだ仕事を受注するのは不安だな…
    3. ③もう少し勉強して完璧にできるようになってから受注しよう!
    4. ④(数週間後)まだ不安だからもうちょっと勉強してから受注しよう…
    5. ⑤(数ヶ月後)まだ不安だからもうちょっと勉強してから受注しよう…
    6. ⑥なんか勉強しても全然成長を感じないな…もうやーめた!
    7. →これまでの時間と労力&もう十分身についているスキルが無駄に。

    複数の言語を学ぶ or 難しい言語から学ぶ人

    僕の個人的な意見ですが、プログラミングで稼ぐコツは「1つの言語を徹底的に学ぶこと」だと思っています。

    僕の周りで稼いでいるエンジニアさんは、何か1つの言語に特化している人ばかりですし、そもそも複数の言語を同時に学ぶとめちゃめちゃ効率が悪いです。

    例えるなら、「何らかのプロスポーツ選手になるぞ!」という大ざっぱな夢を持って、
    「月曜は野球、火曜はサッカー、水曜はバスケ、木曜はバレー、金曜はテニス」みたいに日替わりで練習するのと同じ感じです。

    これ、めちゃくちゃ時間の無駄だし、多分どのスポーツも中途半端で終わりますよね。

    「プロ野球選手になるぞ!」と1つに決めて、週5で野球の練習をした方が絶対に上手くなります。

    プログラミングもそれと同じなので、まずは1つの言語を集中して学びましょう。

    色んな言語を学びたくなる気持ちも分かりますが、1つ1つ集中して学んだ方が結果的に時間の無駄が減ります。

    あと、難しい言語から学ぶのも時間を無駄にするので、言語選びも気をつけましょう。

    C言語やR言語などの難しい言語を初心者がいきなり学んでも、基礎知識がないので理解するまでに時間がかかり過ぎるのと、挫折のリスクも高いからです。

    言語選びをミスってる人が時間を無駄にするパターンの例
    1. ①よし!色んな言語ができた方が良いからPHPとJavaとCを学ぶぞ!
    2. ②時間は効率よく使いたいから全部同時に学んでいくぞ!それぞれ1日1時間ずつ勉強や!
    3. 勉強内容が分散し過ぎて全然身につかん…Cは難しすぎるし…
    4. ④3ヶ月ぐらい勉強したけど結局どの言語も中途半端だ…もういいや!やーめた!
    5. →せっかく3ヶ月頑張ったのに、時間を無駄にする学習方法をしていた

    ◆関連記事:【2024年】主要プログラミング言語12選【年収・将来性で分析】
    ↑初心者におすすめのプログラミング言語も解説しています。

    プログラミングが時間の無駄と言われる理由3つ

    時間のイラスト

    プログラミングが時間の無駄と言われる理由は以下の3つです。

    「プログラミングはやめとけ」と言われる理由も大体この辺りです。

    プログラミングが時間の無駄と言われる理由3つ

    挫折する人が多いから

    プログラミングの挫折率は90%と言われています。

    どうせ学んでも9割の人が挫折するんだから、やるだけ時間の無駄なんじゃない?

    みたいなことを言われたりしますが、
    僕の個人的な意見としては、「プログラミングを身につけたくて身につけたくてしょうがない」という気持ちがある人は全員必ず身につくと思います。

    なぜかというと、そういう人は諦めないからです。

    プログラミングを取得できる人の共通点は、センスでも偏差値でも学歴でもなく、「学習を継続できた人」です。

    絶対にプログラミングを身につけたいと思っている→簡単に諦めない→継続できる→身につく、という感じです。

    独学を始めた当時の僕も、工場の仕事で疲弊し、営業の仕事で病んで、「他の仕事は向いてないから、もうパソコン系の仕事で生きていくしか自分には道がない」と本気で思っていました。

    そう思いながら学習を継続した結果、3ヶ月で月10万円稼げるようになり、1年でエンジニアになれました。

    結局、「プログラミングは9割の人が挫折する」ではなく、「本気で身につけたいと思っている人(=学習を継続できる人)が1割しかいない」ということだと思っています。

    根性論みたいに聞こえますが、実際に1年勉強してみた結果、プログラミングは割とそんな感じだと思います。

    もちろん難しい部分や初見殺しみたいな部分もありますが、やってみると結構簡単です。

    未経験だと仕事に就けないと思ってるから

    プログラミングの誤解あるあるの1つです。

    自分はもう30代になるし、今から勉強しても未経験だと雇ってもらえなそう…

    というイメージがあるかもしれませんが、これはあんまり気にしなくていいです。

    もちろん経験があるに越したことはありませんが、未経験でも普通に仕事に就けます。

    そもそも未経験OKの求人・案件は沢山ありますし、僕も1年独学しただけの業界完全未経験マンでしたが、あるポイントを抑えた結果、業務提携を結べました。

    僕が抑えた、あるポイントは以下の感じです。

    未経験でも仕事に就きやすくする方法
    • 実績を5〜6件作っておく → クラウドワークスなどで十分
    • ポートフォリオを作っておく → 絶対作るべし
    • プログラミングスキル以外の強みを持つ → 人間性やコミュ力など

    ↓詳しくはこちらの記事にも書いています。
    目次の「独学でプログラマーに就職する手順」の項目のところで解説しています。

    ◆関連記事:プログラミングを独学して1年で就職した話【フルリモート&定時7時間】

    ちゃんとポイントを抑えれば、未経験でも普通に仕事に就けます。

    「もう時代遅れじゃね?」という風潮があるから

    生成AIの登場により、プログラミングがだんだん自動化されつつあります。

    最近はどんどん優秀なAIが出てきてるみたいだし、もう人間がプログラミングするのは時代遅れじゃね?

    という意見もあるかもしれませんが、そんなに心配しなくてもいいです。

    便利なものが登場したからといって、すぐに人間の仕事がなくなるわけではありません。

    自動改札が登場しても、駅員という職業が消えないのと同じです。
    切符の確認を機械がやってくれるのであれば、人間は人間にしかできない他の作業をすればいいだけです。

    今からプログラミングを勉強しても、決して無駄ではありません。

    とはいえ、ひと昔前と比べると「プログラミングスキル」の価値が下がっているのは事実です。

    プログラミングの将来性→今から学んでも決して無駄ではない

    AI開発のイラスト

    AIの登場によりプログラミングがどんどん自動化しているので、「これからプログラマーになるぞ!」と思っている人にとっては、「AIに仕事を奪われそう…」と不安に感じるかもしれませんが、心配しなくて大丈夫です。

    AIにできることはAIにやってもらって、人間は人間にしかできない作業に全集中する、というのが正しいスタンスです。

    なので、「AIによってプログラミングという職業が奪われる!!」という意見は、そもそもちょっとズレてます。
    奪われるというか、ただの役割分担です。

    単純作業的なところはどんどんAIに任せるようになるので、これから人間は考える力が必要になってきます。

    なので、思考停止で「プログラミングしかできない人」の価値は徐々に下がりつつあります。

    これから価値が上がっていく人
    • AIを上手く使える人
    • AIを食わず嫌いせずにとりあえず使ってみる人
    • プログラミング以外の強みがある人(ディレクション力・コミュ力など)
    • 考える力がある人
    これから価値が下がっていく人
    • AIをなんとなく使わない人
    • 考える力がなく、「プログラミングさえ出来れば仕事になる」と思ってる人
    • AIを使って楽をせずに、苦労して身につけたものにこそ価値があると思っている人

    ※これは一理ないこともないですが、AIを使って解決できるものはAIを使ってさっさと解決しましょう。AIでも解決できないことに頭を悩ませるべきです。不必要な苦労をして時間を消費せずとも、他に時間を使うべきところは沢山あります。

    まとめると、プログラミング自体が無駄かどうかということではなく、「思考停止でプログラミングを学ぶのは無駄」ということです。

    ◆関連記事:プログラミングはオワコン?結論:あと15年ぐらいでAIに奪われる

    余談:プログラミングを身につけたらストレスから解放されました

    自由のイラスト

    余談になりますが、僕はプログラミングを身につけた結果、色んなストレスから解放されました。

    具体例は以下です。

    解放されたストレス
    • 工場勤務から解放された ※
    • 平日は肉体労働→土日は寝てるだけの生活じゃなくなった
    • 満員電車に乗らなくて良くなった
    • 冬の寒い朝に早起きして出勤しなくて良くなった

    ※工場で働くのも楽しいんですけどね。そればっかりじゃ疲れます。

    プログラミングを身につける前の僕は、何のスキルも資格もなかったので、工場で働いたり引っ越しのバイトをしたり、体を使って肉体労働することしか仕事の選択肢がありませんでした。

    いすゞの期間工をやってた時期もあります。
    疲れすぎて土日はそれぞれ12時間寝てました。

    コツコツ勉強してプログラミングを身につけた結果、パソコン1台あれば時間と場所を選ばずに仕事ができるようになったので、色んなストレスから解放されました。

    プログラミングは「時間を無駄にするかも…」という不安があるかもしれませんが、それに見合ったリターンがあります。

    まとめ:時間の無駄になるかどうかは自分次第

    プログラミングのイラスト
    記事のまとめ
    • プログラミングを時間の無駄にしないための秘訣は「目的を持つ」「ちゃんと勉強する」「実践あるのみ」「AIと調和する」「簡単に諦めない」の5つ
    • プログラミングが時間の無駄になる人の特徴は「目的がはっきりしてない人」「勉強ばかりで実践しない人」「複数の言語を学ぶor難しい言語から学ぶ人」の3つ
    • プログラミングが時間の無駄と言われる理由は「挫折する人が多いから」「未経験だと仕事に就けないと思ってるから」「”もう時代遅れじゃね?”という風潮があるから」の3つ
    • AIにプログラミングを奪われるというより、今後はAIと人間で役割分担してくので、プログラミングは今から学んでも決して無駄ではない

    まとめとして、プログラミングが時間の無駄になるかどうかは自分次第です。

    しっかりと目的を持ち、ちゃんと勉強して実践を重ね、AIと上手く調和すれば時間の無駄になることはありません。

    また、時間を無駄にしたくなかったら行動あるのみです。
    色々悩むだけ悩んで、結局何も行動しないのが一番の時間の無駄かもしれませんしね。

    気楽に色々やってみましょう。

    今回は以上です。

    関連記事

    -PROGRAMMING