まんじ

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

初心者向け、プログラミングのモチベーションを維持する方法(独学もOK)

  • 2024/05/20
  • 2024/07/21
  1. マインド
初心者向け、プログラミングのモチベーションを維持する方法(独学もOK)

始めに

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

今回はプログラミングのモチベーションを維持する方法ってことで書いていきたいと思います。

結論から書くとこの5つらへんがプログラミングのモチベ維持で重要なんじゃないかなーと思います。

  • 長期目標(2~3年後)、中期目標(3~5ヶ月)、短期目標(1週間)、今日の目標(今日)を作る
  • 今日やることを紙に書き出して、やったら消す
  • 習慣化
  • メンターを雇ったりコミュニティに入ったりプログラミングスクールを利用する
  • そこそこ長い戦いなので定期的にリフレッシュする(遊びに行く)

プログラミングのモチベ維持で最も大事なのは、多分、、、目標を決めてあとは習慣にすること、、、と、環境を整えることらへんなんじゃないかなって思います。

特に「プログラミングをやった結果どうなりたいか?」っていう目標設定が最も大事な気がします。

例えば、プログラミングを勉強半年+実務で1.5年してからフリーランスになって月50万円稼ぎたい、、、みたいな感じが2年スパンぐらいの目標設定、5年スパンだと年収1000万円、、、みたいな。

そんでその目標設定の次のステップとして習慣化など実際にやるという行動をコンスタントに行えるような仕組みというか流れに自分を持っていくイメージです。

ということで今回はそこらへんをアーダコーダと語っていきたいと思います。

長期目標(2~3年後)、中期目標(3~5ヶ月)、短期目標(1週間)、今日の目標(今日)を作る

プログラミングの勉強はがむしゃらにやっても意味がないしキリもないので、繰り返しですが、目標設定が大事です。

特に長期、中期、今日ぐらいの目標を設定できると、捗る可能性が高いです。

大体こんな感じに目標設定をします。

  • 長期目標: 3年後にフリーランスになって月70万円前後、年収で800万円を目指す
  • 中期目標: ポートフォリオを1個作って開発できる会社にひたすら応募する
  • 今日の目標: Reactを使ったポートフォリオの環境構築をしてハローワールドを表示する

この目標設定を固定じゃなくて定期的に紙のノートでもnotionでもいいのでやる作業をすると、今の進捗具合や自分がどこに向かっているのかが分かるのでかなりナイスだと思います。

長期、中期、今日の3つの時間軸だけじゃなくて、3年、2年、1年、半年、3ヶ月、今日とかにもっと細分化してあげてもより具体性が高まるので良さげです。

目標設定なしにプログラミングをやるとシンプルに微妙というか、ただ盲目的に目の前のパンに粉ふってるみたいな感情になると思うので、「このパンに粉ふる作業はこのぐらいやるとこうなる!!!」みたく自分に言い聞かせるためにも目標設定が大事です。

毎日脳死でパンに粉を振り続けていたらモチベが速攻で終わりますが、2ヶ月頑張れば年収100万アップと分かっていたら毎日パンに粉ふることに意義が出てくるみたいな、そう言う感じです。

あくまで比喩なので、

プログラミングの場合は
毎日コード書いてて
2ヶ月後にこうなる、5ヶ月後にはこうなる、2年後にはこうなるぞおお!!!!!!

と荒ぶりながらコードを書いていればモチベ維持につながるかもしれません。

自分にもこれは言えるので、ぼくも頑張って目標設定をしなおしたいと思います🫡

定期的に紙のノートでプログラミング人生ロードマップゲームみたいなのを自分で書いてやると視覚的に分かるのでよさげ感が強めです。

毎日目の前のことやるのって結構しんどいので、全体を見据えて俯瞰してやるイメージを持つ感じが大事カナーと思います。

今日やることを紙に書き出して、やったら消す

長期とか中期とかの目標ができても「今日」の作業ができれなければ進まないので、「今日」やることを紙に書き出してやったら消すみたいな昔ながらの方法で目の前の作業をやると良いかもしれません。

時間でタスク化してもいいと思いますし、、、

  • 3時間ポートフォリオ作りについて調べる
  • 3時間ポートフォリオのコードを書く

やることでタスク化しても良いと思います。

  • ポートフォリオにReactを入れる
  • 会員登録機能を半分ぐらい調べて実装する

個人的にはどっちでも良いと思います。

やってみて捗るほうというかコントロール感がある方法を使い続けるのが大事です。

ぼくは独学でプログラミングの勉強してた頃は時間単位でやっていましたが、長期と中期目標の設定が甘かったこともあって、無駄に時間だけ費やしてた気がします。

(marginとかを調整するのに1時間とか2時間使ってたり、、、すごくどうでもいいしキリがないし、調整方法がそもそも微妙だったというw)

多少荒削りでいいので、「Aという機能を実装する」みたいな作業内容で着実にゴールにとりあえず向かうことが大事カナーって思います。

そもそも何が最適っぽいかが分かっていない時期にいくら細かいところにこだわっても最適っぽいとこに辿り着けないので、ある程度は大雑把にやる必要があります。

とりあえず悩みすぎず、ある程度大雑把にやることを決めて心を無にしてこなすためにも、紙に書き出してやったら消すとかは良い手段だと思われます。

習慣化

モチベ維持の最終形態は習慣に落ち着くと思います。

「何時から何時はプログラミングの勉強をする」

こんな感じの行動が特に何も意識せずに勝手にやれるようになると、モチベ維持はだいぶ楽になります。

だいぶ楽になるというよりかは「え?やるっしょ、だってこの時間だし」みたいな、そういうやらないほうが不自然感が出てくるので、毎日の行動を反復しつつ習慣にするのがやっぱり大事。だと思う。

習慣にするには〜って話なんですけど、時間ブロックしてそれをひたすら日々反復してれば勝手に習慣になります。

  • 朝9時に起きてから夕方16時まではプログラミングの時間
  • 18時から22時はバイト
  • 寝る前2時間は好きな時間

とか

  • 朝9時から夕方18時は仕事
  • 20時から25時はプログラミング
  • 25時から26時に寝る準備して寝る

とか

  • 朝9時に起きて15時までプログラミング
  • 15時から自由時間

とか、こういう感じに習慣にするというか、シンプルにプログラミングを生活のメインにするってイメージです。

そうすればやらないとおかしいぐらいのメンタルに勝手になっていきます。

人間は習慣の生き物てきなのをなんかで見たことがある気がするんですけど、大体そんな感じだと思います。

習慣化していても飽きてくるので日々調整は必要ですが、毎日決まった時間に決まった場所でプログラミングをやることを続けていると続けているから結果としてさらに楽に続けられるようになるイメージです。

ある程度ちゃんと目標設定ができていれば、この自分の習慣ゾーンにプログラミングをつっこめるかどうかが全てです。

メンターを雇ったりコミュニティに入ったりプログラミングスクールを利用する

モチベーション維持にかなり貢献する(スピードを早めてくれる)のは、この4つのどれかか、ミックスです。

  • メンターを雇う
  • コミュニティに入る
  • プログラミングスクールを利用する
  • 仲間を作る

昔自分は「群れるとかださいぜ!独学で無料でやるのが至高!」みたく思っていたんですけど(プライドが高かったのと独学でやるおれかっこいいみたく勘違いしてた)、これは普通に間違いでした。

やっぱり何かしらサポートとか外部刺激があるほうが効率は上げやすいしモチベも維持しやすいです。

特にすでにある程度の経験がある人から能力とかコンテキストを継承してもらえると、コードの書き方から不明点の解決方法からキャリア的な側面とか現場にいる凄い人とか、いろいろと近道をいけます。

あとは不安になった時とか、「これでいいんか?」って時に、迷いから迷走したりしなくなります。

(めっちゃざっくりとしたイメージ。)

もちろんやるのは自分なのでおんぶにだっこにだとダメなんですけど、1日10時間ぐらいやるぜマインドで外部の力を利用すると最速だしモチベーションも落ちにくい(萎えて何もできませんでした、とか、不安で手が動かなくてネットの情報ばっか見てしまいます、みたいなことが起きにくい)です。

プログラミングスクールなんかは講師というかやってる人は開発エンジニアしてないのでぶっちゃけ微妙な人が多いんですけど、とはいえ、1人で独学よりは環境とかいろいろ整っているので良いんじゃないかと思います。

環境の力を利用するのは大事というか、ぼくもプログラミングやってフリーランスになりましたけど、結局先輩というかそういう人になんだかんだ言ってもめちゃくちゃ育ててもらった感があります。

し、、、正直、プログラミングに限らず人生は先輩ゲーな側面が強いです。

教わる人が強いとその人のいろんな挙動や考え方がナチュラルに入り込んでくるので、自分1人であーでもないこーでもないってしてるよりも、まあ早いんですナ。

とりあえず外部と関わることがモチベーション維持やら効率って面でも大事です。

そこそこ長い戦いなので定期的にリフレッシュする(遊びに行く)

「プログラミングだけやる!!」みたいな強い意志も大事ではあるものの、定期的にリフレッシュするのは大事な確率が高めです。

というのも、実務に入る前ですらそこそこ長く勉強することになるので、完全にプログラミングだけにフォーカスすると多分病んでモチベーション低下して逆に効率が落ちてしまう可能性が非常に高いからです。

定期的に買い物に行くとか、週に2回はプログラミングの勉強終えてから飲みに行くとか、彼女(彼氏)と会うとか、パソコンの前から定期的に離れてリフレッシュするといいと思われます。

実務に入る前はプログラミングをいくら頑張ってもお金になることがないので、なかなか精神的にしぶいんですけど、いかにそこをふんばれるかというか多少我慢できるかというかいつも通り過ごせるか、みたいなのが大事な気がします。

フリーランスとかになると、収入のコントロール感みたいなのが出てくるので、なんていうか「プログラミングやってこの好きなもの買えちゃった」みたいな微妙な社会人っぽい嬉しさは出てきます。

ある程度結果がついてくると楽になるので、つらいと感じがちな時期にいかに普通にリフレッシュしながらやれるかってのは結構大事です。

プログラミングで仕事するのは1年ぐらいコードレビューでボコボコにされながらそこそこ頑張ってると、急激にある程度楽に稼げる度みたいなのが急上昇します。わりとがち。

こういう記事みたく限界突破する時も大事ではあるんですけど、、、

【脳筋】プログラミングの仕事で困った時は1日12時間量をつっこんでぶち上げなさい!【限界突破の法則】
【脳筋】プログラミングの仕事で困った時は1日12時間量をつっこんでぶち上げなさい!【限界突破の法則】
マインド

長い目で見ると、あんまり今詰めすぎないことも大事です。

自分は一時期、フリーランス稼働8時間と個人開発毎日3~4時間をしてたんですけど、今振り返るとあの頃すごい病んでました。。。

まああの時期に技術力が上がったとも言えるのだけど、追い込みすぎてメンタルが終わった状態で続けるのはきついので、上手にプログラミングというかPCから離れる時間を持つことも大事です。

具体例で書くなら、、、

週4:日 プログラミングばっかやる日
週3日: プログラミングを数時間やってから遊んだり好きなことをやる

みたいな具合に上手な調整ができると長いゲームでは効率が良いです。

プログラミングをやった結果どんな未来が得られるのかを毎日考える

自分も完璧にはできてないですけど、「今日の行動で何を得られるのか?」を定期的に思い出したいところです。

  • プログラミングをやってエンジニアになって有名な会社に入って成長しつつ安定的な給料が欲しい
  • プログラミングをやってフリーランスになって年収1000万稼いでタワマンに住みたい
  • プログラミングをやって安定的に稼げるようになって守りを固めてから自分でビジネスをやって稼いで良い車、タワマン、ステータス、良い女をGETしたい(男の欲望MAXモード、でも大事だと思う)

こういった「なぜにプログラミングをするのか?」という根本的な部分を思い出せると、毎日の地味でぶっちゃけあんまり楽しくはない微妙な作業ゲーにも耐えられるというよりも、モチベーションを維持しやすいと思います。

「今の仕事をしていても自分の未来は微妙だし、だったらプログラミングを無理やりやるしかねええ!!!」とか
「絶対に稼いでおれは毎週デ●ヘルのゆうこちゃんを120分コースで呼ぶ」とか
「良い車と良い家をゲットして女の子にアプローチしまくる」とか

自家発電していくような感じです。

「こうなりたいから、今日はこれを本気でやる、これは絶対に意味のあることだ」みたく思い出せると、捗るような気がします。もちろん定期的に休みつつ。

中長期的目標を作るって部分と本質的には同じ気がしますけど、自分の原点を常に思い出すのは多分大事です。

ほとんどの人にとってプログラミングは目的じゃなくて手段なはずですし、ぶっちゃけプログラミングを目的にする人生はよほどなオタクじゃない限りは普通に無理です。

し、個人的な意見としてはプログラミングって普通に枝葉で誰でもできるし(誰でもできなければ逆にダメ)楽しくはないので手段であって目的ではないです。

「今日これをやると、どうなるのか?」
「これをあと90日、半年と続けると、どうなるのか?」

定期的に毎日自分に問いたいところです。

まとめ

プログラミングのモチベーション維持に大事なのは、ざっくりと2つ書くとするなら「目標設定(やる意味など)」「モチベ維持できる環境構築(習慣化、外部環境)」の2つだと思います。

ちゃんと目標設定ややる意味が設定できていれば、あとはちゃんと習慣にするために他の余計なものを極力切って、毎日決まった時間に決まった場所でプログラミングを続けるとよさげです。

そこにメンターとか仲間とかもいるとなおGOOD。

そのうちメンターっぽいのはやめますけど、自分もやってたりします。

プログラミングのメンターコース販売
プログラミングのメンターコース販売

ということでモチベ維持というか毎日ぶちあげをしていきましょう。


ウェブエンジニアの仕事つまらないしついていけないから辞めたいなーと思っていた頃の話
ウェブエンジニアの仕事つまらないしついていけないから辞めたいなーと思っていた頃の話
ウェブエンジニア

フリーランスエンジニアになって週4だけ働くのって実際どうなん?って体験談
フリーランスエンジニアになって週4だけ働くのって実際どうなん?って体験談
フリーランスエンジニア

まんじ

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