まんじ

フリーランスなウェブエンジニアをしてますう。25歳の頃にプログラミングを始めて27歳からフリーランスエンジニアになって生きてます

プログラミングを勉強して時間の無駄になるパターン

  • 2024/04/21
  • 2024/07/22
  1. プログラミング入門
プログラミングを勉強して時間の無駄になるパターン

始めに

こんにちは、まんじです!

今回はプログラミングを勉強して時間の無駄になるパターンみたいなやつを書いてみたいと思います。

結論から書くと、大体こんな感じカナーって思います。

  • 特に目的がなくなんとなくプログラミングを始めた(ネットなどで見て)
  • プログラミングをやることによって得られる結果などの全体像が見えていない場合(解像度が低い)
  • ゴールまでの道筋が曖昧な場合
  • 入門者向けの講座を真面目にずっとやってる場合(プロゲート・ドットインストールなど)

プログラミングをやって完全に時間の無駄になるとまでは言えないんですけど、プログラミングを使って何をしたいか?ってのがないとまあまあ時間の無駄であることは否定できません。

なんとなくプログラミング始めてみましたって感じだと挫折して終わりな確率99%で時間の無駄感がありますけど、「1年後にエンジニアになってこれぐらい稼ぐ」などの目的意識があるとよさげです。

ということで、時間の無駄になるパターンを書いていきたいと思います。

特に目的がなくなんとなくプログラミングを始めた(ネットなどで見て)

結構あるあるなんですけど

「プログラミングいいぞ!」
「マルチをやるよりもプログラミングをやりましょう!」
「暇な時間があったら副業やプログラミングをやりましょう!」

みたいな意見がネットには多いんですけど、そう言ってる人の大半はプログラミングをやったことがありません😨

そういう感じの意見を見て「なるほど、プログラミングか!」ってことでプログラミングを始める人は多いかもしれませんが、なんとも言えません。

  • プログラミングをやって何を得たいのか?
  • プログラミングを使って何を作りたいのか?
  • プログラミングを仕事にしてどれくらいの年収でどういうライフスタイルにしたいのか?

こういった目的意識がなくプログラミングをやっても正直すごく微妙だと思います。

というよりも、挫折しやすいというか1ヶ月ぐらい入門者向けのプロゲートかドットインストールあたりをやって挫折するパターンになると思います。

「これ続けても意味なくね?」みたいな。

自分も昔Javaを大学1年生と3年生の頃に「なんかプログラミングがいいらしいぞ!」ってことでやろうとしたんですけど、普通に挫折しました。Hello Worldで。。。

なんとなくプログラミングを始めようかなって思った時には、後述するプログラミングの全体像を把握してから始めるのが大事です。

なんとなくプログラミングを始めても挫折して終わるだけだからです。

プログラミングの全体像が見えていない場合(解像度が低い)

プログラミング自体の全体像じゃなくて、プログラミングをやることによっての全体像って感じです。

例えば、プログラミングをやってウェブ系のエンジニアをやる場合は大体こんなモデルケースに落ち着きます。

  • 独学で4~6ヶ月ぐらい勉強してポートフォリオ入って実務に入る
  • 実務に入ってからは1~3年ぐらい頑張って働く
  • その後にフリーランスか転職して年収を上げる(フルリモートも多い)
  • フリーランスの場合はまあまあ収入も高くてフルリモートとか場所の自由も効きやすい

ウェブ制作なら1~2ヶ月勉強してそこから簡単なhtml修正をして次にWordPressとかになるのかなって思います。

こんな感じで、プログラミングの全体像を把握して自分が今なんのためにプログラミングを勉強しているのかっていう全体の見通しを持ってプログラミングをやることが重要です。

重要というよりも、プログラミングは文法を1個1個習得していってコツコツ毎日勉強したところで、基本的にどこにも辿り着けません。

全体像を把握してゴールを決めて、そのためにプログラミングを日々やるっていうのがすごく大事です。

「なんのためにプログラミングをやるのか?」
「いつまでにどうなるためにプログラミングをやるのか?」

みたいな自問自答が大事です。

プログラミングを始める時には「2年後にフリーランスエンジニアになって年収で〜〜万円稼ぐ!」みたく決めてからスタートするぐらいのスタンスでやったほうがいいです。

時間を無駄にしたくないなら、目標設定をちゃんとやりましょう、と言えます。

ゴールまでの道筋が曖昧な場合

「全体像を把握するのが大事」ってのは上に書いた通りなんですけど、ゴールまでの道筋が曖昧な場合も微妙です。

ゴールまでの道筋というのは、大きめのゴール、中くらいのゴール、直近のゴールへの道筋です。

例を考えてみます。

大きめのゴール: ウェブエンジニアで年収1000万、フリーランス
中くらいのゴール: ウェブエンジニアに転職 or 就職して2~5年働く
直近のゴール: プログラミング勉強してポートフォリオを作る

こういう感じでゴールが描けたら、そのゴールを達成するための道筋を考えます。

直近のゴール: プログラミング勉強してポートフォリオを作る
直近のやること: Pythonをドットインストールで2週間勉強してからDjangoで何かウェブアプリを2ヶ月で作る

ゴールがあって、それを達成するための道筋が描ければ、あとはそれを日々のタスクに落とし込むだけです。

逆に言うとゴールまでの道筋が描けていないのであれば、プログラミングは時間の無駄になります。

ゴールなしに走っても疲れて終わるけど、ゴールがあれば走ったり歩いたりしながらそこに向かっていけます。

ゴールまでの道筋を描くためにはめちゃくちゃネットで調べたり、あとはシンプルに信用できそうな人にメンターをお願いするのも手です。

プログラミングスクールはdisられガチですが、個人的には良いと思います。

独学でお金をかけずにやることもできますけど、お金をかけないでやることにこだわりすぎるのも時間軸で見た時のコスパ的な側面でリスクもあります。

「無料 = いいこと」っていうのは結構幻想です。

例: ネットの無料ジャンク情報を食い漁るよりも、1600円出して良質な本を1個読んだほうがいいみたいな

入門者向けの講座を真面目にやってる場合(プロゲート・ドットインストールなど)

プログラミングは「真面目に1つ1つ勉強して3周する」みたいな学校っぽい勉強法(受験勉強っぽい勉強法)があんまり意味ないです。

学校でやってきた勉強は反復して暗記するって感じですけど、プログラミングは目的のために必要なことをひたすらやっていれば勝手に文法もフレームワークの知識も増えていって書けるようになります。

厳密には勝手には書けるようにはなりませんが、アウトプットの受け皿があってそのためにインプット(適宜ググったりAIに聞いたり調べたり)するということを繰り返すことでしか技術力が伸びません。

本を10冊読むよりも、実務などの目の前のタスクを一生懸命こなして過ごすほうが血肉になるって感じです。

例えば、「フロントエンドのReactができる!」って言ってもレベル感は本当に千差万別です。

・本でやった程度の人
なんかコンポーネントってのを知っててサンプルみたいなUIはギリ作れる
少し複雑になるとお手上げ

・実務で2~3年やった人
クソスパゲッティコンポーネントをリファクタリングしながら、複雑なUIを作れたり、コンポーネントの設計などもできてパフォーマンスが悪くなったらなおせる、グローバルステートも必要なところで使って、APIのつなぎこみなども早くて上手く、コンポーネントのライフサイクルなども直感で把握できている、などなど

こういう例はバックエンド側でもインフラ側でも同じで、「なんとなく知ってる」と「できる気がする」と「めっちゃ使いこんでる」だと似てるようでレベル感が全然違います。

いろんな言語やフレームワークや技術を使ったことがあっても、深さがゴミだと意味ないです。

話は脱線してしまったんですが、入門者向けのやつを必死に脳死でやっていても技術力は上がりませんしゴールにも向かえません。

入門者向けのやつは最初の1~2週間で十分でそれ以降は使う意味がほぼないので、それ以降はちゃんと目的のための手段となるような実装をやっていく必要があります。

そのためにプログラミング言語やフレームワークやらインフラの知識が必要になるっていうイメージです。

勉強するために勉強するのが微妙で、何かを作るとか何をするための目的があって、そのための手段として本とか入門の講座を参照するってイメージでやるのが大事です。

まとめ

プログラミングをやることを時間を無駄にしないためには、覚悟を決めてゴールから逆算して解像度を高めることが個人的には最も大事だと思います。

なんとなくプログラミングを教養として知っておくとかは悪くはないですが、それ以外のケース(プログラミングで稼ぎたい、家で引きこもって稼ぎたい、海外から稼ぎたいなど)の場合は、目標を定めて本気で取り組む必要があります。

目的もなくなんとなく良いらしいからって理由でプログラミングを中途半端にやるのが1番微妙かなーと思います。

長い目で見れば、やったけどやっぱやめたみたいなもの良いのかもしれませんけど、、、

本気でやりたい人はゴールを見据えてそのために何が今必要かを考えて毎日のタスクに落とし込んでプログラミングをやるのが良いと思います。

なんとなくプログラミングをやっても、なんとなくプログラミングを継続しても、時間の無駄になることがほとんどです。

繰り返しですが、目的のための手段としてプログラミングをやるのが大事です。

まんじ

フリーランスなウェブエンジニアをしてますう。25歳の頃にプログラミングを始めて27歳からフリーランスエンジニアになって生きてます