【プログラミングがつまらないのは成長の前ぶれ】解決策を紹介します

プログラミングがつまらない プログラミング

はい、どうもこんにちは、ANOくんです。

プログラミング学習を始めたけど、つまらないなぁ、、
エラーばっかりでるし、だんだん飽きてきた、、
どうすればプログラミングって楽しくできるんだろう、、、

今日はこんな疑問にお答えしていこうと思います。

僕自身、未経験からエンジニア転職をする際に
例によって言語学習をしていたのですが
「プログラミング学習まじつまんねぇ」とネガティブになることが
多々ありました。(笑)

バグは出まくるし、だんだん飽きてくるし、
もう辞めよっかなと200回くらい思いました。

ですがあることを変えたことでプログラミング学習への
モチベーションを復活させ、無事
未経験からWeb系エンジニアに転職することができました。

そこで今回は僕の実体験をもとにし
初心者時になぜプログラミングをつまらなく感じるか
どうすればプログラミングを面白く感じながら、学習を継続していけるのか
についてお伝えしていこうと思います。

プログラミングをつまらなく感じる理由5選

プログラミングがつまらない理由

まずはプログラミングをつまらなく感じる理由から見ていきましょう。

シンプルに意味不明なことばかりだから

まずはここですね。
そもそも初期ってわからんこと多すぎて嫌になります。(笑)

条件分岐もいまいちわかんないし、
ループ文も読めばわかるけど、自分で実装するとうまくいかないし
オブジェクト指向とか勉強してみたけどさっぱりワケわからんし
もうなんなん、プログラミングおもんないじゃん、
とネガティブな思考になるのは初心者であれば誰もが通る道でしょう。(僕もまさにそうでした)

どんな物事もそうなのですが
最初から理解できるものなんてそうそうありません。
中でもプログラミングは特に取得難度が高いので
初期はかなり苦労する人がどうしてもたくさん出てしまいます。

意味不明すぎてモチベを失うことが、まず第一に
プログラミングをつまらなく思う理由の1つとして考えられるでしょう。

思ったよりも作業が地味だから

次にここです。
世の中から見たエンジニアのイメージって
「猛烈なスピードでPCをカタカタ叩くクールな仕事」とか
「賢そうな言葉を使いながら打ち合わせをする華やかな仕事」
みたいに見えているのかもしれませんが
実際の実務はめちゃくちゃに地味です。

今言語学習をしている人は痛感していることかもしれませんが
一つ一つロジックを学んでいかなくてはなりませんし
側から見ればPCを猛烈なスピードで
カタカタ打ってるのはかっこいいかもしれませんが
いざ自分が当人となって延々と何時間もコードを打ち続けていると
だんだんと嫌気が差してくると思います。

華やかでカッコいい仕事だと思っていたら
実は地味なものだった、とイメージのギャップが生まれること
プログラミングをつまらなく感じてしまう
大きな理由の1つとして挙げられると思います。

エラーばかりで嫌になるから

そしてここがつまらなく感じる理由の中で
最も大きなところかもしれませんが
エラーが多発することも原因の1つとして考えられます。

慣れてくると「エラーは出て当然、解決して当然」というマインドになり
特に感情の起伏なくコーディングに取り組めるのですが
初期はそもそもなぜエラーが起きているかもわからない
原因がわからないから調べようにも調べられないしで
八方塞がりとなりやる気が低下していく、というのも
初心者あるあるだと思います。

自分の頭の中に未解決事項があるというのは
ものすごくストレスの溜まる状況だと思いますし
解決の糸口が見えなければその場から逃げたくなるのも頷けます。

プログラミング学習の挫折理由第一位と言っても過言ではない
初期はエラーが出まくる問題
プログラミングに面白さを感じられなくなる理由の1つです。

人と比べて自分のできなさに嫌気が差すから

この点は直接はプログラミング学習と関わらないのですが
SNSなどで周りのすごい人と自分を比較して
嫌になり、つまらなくなっちゃうパターンも多いでしょう。

Twitterを見ると
プログラミング学習を始めてたった1ヶ月でそれなりの成果物を
作りきっている人がいたり
2-3ヶ月で案件を獲得してすでに仕事にしている人がいたりして
「自分まだProgateの言語学習してるだけだよ,,,」
落ち込むことがあるかと思います。

人と比べてもどうしようもないことは頭ではわかっていても
ついついそう言った情報を目にして落ち込んで
学習するのが嫌になる、というのも
つまらなく感じる理由として挙げられます。

言語学習だけをしているから

最後にこの部分ですね。
僕も未経験時に失敗しちゃったのですが
言語学習だけをしているとつまらなく感じやすいです。

これ理由は簡単で
スポーツでいうところの練習ばかりしている様なものだからです。
例えば野球でいうところの走り込みや素振りだけして、
一切試合をしていないのと同じです。

自分にどのくらいの力がついたのかがわからないし
対戦をしたことがない故に目標が定まらず、モチベーションを無くしていく
というのが言語学習だけをするデメリットとして考えられます。

もちろん自分のペースでやれば良いのですが
言語学習だけしていても、決して案件獲得や転職はできません。
練習だけしている選手がプロ入りすることができないのと同じです。

上記のポイントもプログラミング学習から面白さを奪う
大きな理由の1つと言えるでしょう。

プログラミングをつまらなく感じる=成長する前段階

プログラミングをつまらなく感じるのは成長の一歩手前

ここまででプログラミング学習をつまらなく感じる理由について
お伝えしてきました。
今プログラミング学習で難航している方には
思い当たるところもあったのではないでしょうか。

一旦ここでプログラミング学習を楽しくする方法について
お伝えしていく前に、現在学習に難航している人に朗報があります。

それはプログラミング学習がつまらなく感じているのは
プログラマとして成長する一歩手前に来ているということです。

おそらく、つまらなく感じる理由というのは
上記5つのどれかに当てはまるでしょうし
どれかに当てはまるのであれば
あとはこれから紹介する「プログラミングを楽しくする方法」を実際に行動に移し、目標設定をすればまたプログラミング学習は楽しいものとなるでしょう。

それを踏まえた上で最後にプログラミングを楽しくする方法を
お伝えしていこうと思います。

プログラミングを楽しくする方法3選

プログラミングを楽しくする方法

では、本記事のキモである
プログラミングを楽しくする方法について見ていきましょう。

成果物作成を目的にして言語学習しよう

まずはここですね。
プログラミング学習を面白いものとするためには
成果物を作ることを目的として言語学習をするのが大事です

前述した通りなのですが
人間は目標が無いと、モチベーションを維持することが難しいです。

例えばまたスポーツの例になるのですが
県大会出場という目標があるからこそ
日々練習に熱心に取り組めますし、その目標を達成するために
試行錯誤しながら目の前の練習をこなしていけます。

つまり成果物=目標が存在しないまま
なんとなくプログラミング学習を続けていると
最初は楽しさもあると思いますが、
次第に「なんのためにやってんだろう,,,」とマイナス思考になり
継続することが困難になっていきます。

最初からクソほどクオリティの高いページを作ったり
技術難度の高いAPIをこしらえようとしたりする必要はないので
「ちょっと頑張ったらできそうな成果物」を自分で考え
その成果物を作ることを念頭に置いて日々のタスクを設定しましょう。

「目標を明確に定める」というのが
プログラミング学習を面白くする1つ目の方法として考えられます。

今のタスクの2倍量を目標にしよう

次にここですね。
今行っているタスクの2倍量をこなすというのも
プログラミング学習を楽しくする方法として有効です。

人間が物事をつまらなく感じる理由として
前述した「目標が無いこと」ももちろん挙げられるのですが
もう一つに「できることばかりやっている」というのも考えられます。

例えばこの記事を読んでくださっているあなたが
「歯磨きができるようになる!」という目標を設定しても
既にできていることなのでモチベーションはわかないでしょう。

それと同じで言語学習がある程度習慣化してくると
少しずつできる様になることが増えるため
同じ様なタスクをこなしていると次第につまらなくなってきます。

なので例えばSNSなどで「明日から学習時間を倍にします!」など
日々のタスクの定量的な目標を2倍にして自分を追い込むことで
沈んだモチベーションを回復させることができます。

人間、変化の無い状況には耐えられないものです。
自分から変化せざるを得ない環境を作り出し
その作り出した環境によって自らを変えていきましょう。

案件獲得や転職活動を並行して進めよう

最後にこの部分ですね。
プログラミング学習がつまらなくなってきたら
案件獲得や転職活動を並行して行いましょう。

これの何がいいかというと
自分よりレベルが上の人と接することで
自分に足りないものがわかることです。

僕自身未経験からエンジニア転職をした際の戦績は
1勝9敗だったのですが
その9敗に非常に大きな意味がありました。

それは「自分に何が足りていないか」を客観的な指標から
知れることでした。

もちろん言語学習の量が足りていないこともありましたが
それ以上に、なぜエンジニアになりたいのか、の理由の整理や
これからどんなエンジニアになりたいのか、の未来の明確化などが不十分で
採用する側からすると不足を感じられていたこと
行動したことにより理解することができました。

エンジニアになるために
プログラミングスキルを有することはもちろん必要なのですが
プログラミングスキルがあれば
良いエンジニアになれるわけではありません。

その他にも論理的思考力や、問題解決力、コンピュータサイエンスの知識、
コミュ力、質問力などなど、身に付けなくてはならないスキルは多々あります。

みなさんがプログラミング学習をしている理由ってほとんどは
「個人で自由に働き方をしたい」か
「フリーランスエンジニアになって高単価を獲得したい」の
2つのどちらかだと思います。

なのでその将来の姿に近づけるべく、今の自分とのギャップが
どの程度あるのかを正確に把握するために
案件獲得や転職活動を並行して行うのがベターですし
その行動が、自分の成長していく速度を上げることができるでしょう。

プログラミングスキルには未来しかない

プログラミングスキルには未来しかない

ここまででプログラミングがつまらなく感じる理由や
プログラミングを面白くしていく方法などについて
お伝えしてきました。

僕自身2年ほど前にプログラミング学習をしていた時は
文字通り未経験でしたし、文系卒だったので
アルゴリズムやハードウェア・ソフトウェア、インフラなどと言った
IT関連の知識も皆無で、
本当にへっぽこ人材からのスタートでした。

ですがそれでも愚直に努力を重ね
業務に取り組み続けたことで
今は開発経験を1年半ほど積め
レガシーですが、サーバーサイドではPHP,SQL
フロントではHTML,CSS,JSなどの言語を用いて
ある程度難なくコーディングできる様になりましたし
業務を通じてIT関連の知識も増やしていくことができました。

ここまで来れたのも「つまらないな〜」と感じてもそこで辞めず
面白くなる方法を試行錯誤しながらやってきたからです。

なので、せっかくこの記事を読んでくださったのなら
ちょっとつまらないと感じたからと言って
プログラミング学習を辞めたりせず
面白くなる方法を自分なりに模索して行ってください。

コツコツと続けた先に、必ず理想の自分が待っていますから。
ではでは今日はこの辺りで。