2度のプログラミング挫折経験から学べたこと【経験は無駄にならない】

さて、今回は【プログラミング挫折者】に捧げる記事です。

私は、過去にプログラミングに挑戦し、2回挫折しています。小さいのを入れるともっと挫折しています。

独学でやっている方は、きっと誰もが経験することではないかと思います。ただ、プログラミングを学んだことは、僕にとって一つのターニングポイントになったと思ってます。ぶっちゃけ挫折した人や何も変わらない人ってたくさんいると思います。

でも、そこで終わるのもったいなさすぎます。エンジニアになれなくても、学んだことは活かせます!

今回は、挫折経験を活かし違う方向に進んだ私の経験談をお話しします。

ロジカルシンキングを身につけることができた

クロスワードパズルの画像

プログラミングは必ず正解のコードがあります。正しく動作させるには、正しいコードを書く。上手く動作しない場合は、どこかでエラー(ミス)が起きていることになります。

システムがどう動いてるのかイメージできるようになった。

プログラミングをやっていると、普段何気なく使っていたWebサイトやSNSの仕組みがわかってきます。

「このページはこんな感じのコードを使っているのかな」とか考えながら、自分で検証ツールを使いコードを確認したりできます。さらに、企業で使われているシステムも使いこなしやすくなります。「このシステム使いにくい」と感じた時、何を改善すればよくなるかを考えることだってできます。

僕は、データベースを学んだあと、Excelへの理解が一気に進みました。そこから、Excelに関する動画を見て学び直し、短期間でいろんな関数を使えるようにもなり、今仕事でかなり活きています。

データベースを学ぶなら → 【Udemy】

Excelを勉強するなら → 【金子晃之さん】

プログラミングの基礎を学ぶだけでも、使い方によって実際の業務に活かすことができます。PCを使わずに仕事する人の方が少なくなって来ているので。

仕組みがわかる ≒ 理解力がつく

イメージができると言うことは、「なぜ動く(機能する)のかがわかる」と言うことだと思ってます。

「これはこうだから動かない」
「これはこうすれば動く」
「ここを直せばこんな動きができる」

頭の中で分解し、再構築ができるようになる時があります。これは普段の仕事でも使えると思っていて、何かミスが起きた時、そのミスに対する自分の行動や外部要因を観察し、エラーを見つける。

これを【仕事を分解する】と僕は呼んでいます。分解すると仕組みがわかります。小さい頃に機械なんかを分解すると、「これってこうやって動いているんだ!」と自分の目でみて手で感じることができると思います。

そこで【初めて理解できる】ことになります。これを【仕事】にも応用する感じですね!プログラミングも同様です。プログラムは基本的に正しいコードで書かないとエラーが出るので、何が良くて、何がダメかわかりやすいです。このエラーとの戦いは、ほぼ全ての人がぶち当たる壁ですが、プログラミングをやる上では一生付き合っていくことになります。

このような経験を積むことで、徐々に仕組みがわかるようになり、【理解力】も一緒に向上していきます。プログラミングで身につけることができた能力の一つだと僕は考えてます。

プログラミングはまぁまぁ大変。笑 合わない人は合わない

プログラミングをやっている女性

正直、挫折している人の方が多いと思います。もともとプログラミングが合わないとか、嫌いという人はどうしようもないですが、エラーに悩まされて辞める人がほとんどじゃないかと。世の中的に流行っていますが、なかなかうまくいかないもんです。

しかも、思ってたより時間がかかります。
どれだけの人が上手くいっているのかなんてわからないし、不安との戦いかなと。

学べば基本誰でもできる。問題は続くかどうか

【継続的に学び続けられるか】この一言に尽きると思います。他の勉強もそうですが、この【継続の大変さ】をプログラミングで再認識しました。継続さえできれば、基本誰でもできるようになると思います。

もちろん時間はかかりますが、地道に力をつけていくことは可能ですし、ここにあまり才能とかはいらないのかなと。

継続するための仕組みを作る

私は、継続できない原因の一つは、【成長の実感】がないことかなと思います。ここでいう【成長の実感】とは、誰かの役に立ちながら自分のスキルが身についていくことです。独学は特にそうですが、Progateやドットインストールをやれば何かしらコピーは作れます。そこでプログラミングの基礎は学べるでしょう。

そのあとは、自分のポートフォリオを作ります。誰かのHPを参考にしながら、地道に作り上げていきます。これも良いアウトプットになるのでさらにスキルアップになるでしょう。

ただ、一つ大きな問題があります。

いずれも自分のためだけのものなので、締め切りもなければ、ハイクオリティを求められているわけではない。

すなわち、サボっても文句を言われないし、頑張っても褒められないのですこれは僕的にめっちゃしんどいと思ってます。

なぜなら、社会人の限られた時間のなかで毎日毎日プログラミングと格闘し、休みの日も朝から晩までPCと睨めっこ。1日中かけて一つのエラーを直すこともあれば、1日かけて何も進展しないこともある。誰かに怒られるわけじゃないので、ちょっとサボっちゃえと一度サボるとなかなか再会ができず、そのまま挫折・・・

自分一人で頑張り続けるのは、なかなか大変だと思います。Twitterで報告とかしている時もありましたが、周りと比較し始め落ち込む始末。完全に個人的な意見になりますが、【誰かのためにやる】とか【他の人と約束したから】やるという状況を作らなければ、人はやらないのかなと思ってます。

私の場合、二度目にプログラミングに挑戦するとき、Twitter上でメンターを一人探して、お金を払い指導してもらうよう依頼をしました。

・お金を払うこと
・自分の実績を客観的にみてもらう人を作ること

何がなんでも継続して成長しなきゃいけない環境を作りました。これが私にとっての【継続するための仕組み】です。メンターの人とも仲良くなったし、色々方向性は変わったけど最低基準のレベルまでにはいけたかなと。

皆さんもご自身で継続するための仕組みを考えることをお勧めします!

最後は習慣化できるか

前述と被りますが、【頑張って続けよう】としてもなかなか大変です。朝歯を磨くように、プログラミングができるようになる。

これが最強だと思います。

習慣化に至っては、メンタリストDaiGoさんが色々解説してくれているので、自分に合った方法を選ぶと良いかと。

挫折してもそこからが勝負

Never Give Upの画像

あきらめたらそこで試合終了ですよ

安西先生 スラムダンクより

絶対どこかで足止めをくらい、投げ出したくなります。その時、どう対処するかで継続できるかどうかが決まってくると思います。

挫折することを前提で挑む

予想していなかったことが起きると想像以上に落ち込みませんか?
・ネットで買った服の色がイメージと違かった。
・ネットの写真ではカッコ良いと思っていた人といざ会ったら、全然違うとか。

プログラミングや何か挑戦するときも同じで、夢をみて始めるけど、実際そんな甘いものじゃない。それに気づく時、俺には無理だと心を折られますよね。でも、あらかじめ絶対に大変だとわかっていればどうでしょうか?

今度富士山を登るとして、事前に8合目あたりからキツくなるらしいと聞いておけば、それに備えると思います。きついとわかっているなら対策が打てば良いのです。

プログラミングも同じ。

必ず「めんどくさい」「もういいや」と思う時が来る。その時に、どうすれば継続ができるか、その苦境から脱出できるか考えておけば少しは楽になります。

私の場合、そうなった時は一切PCに向かわず、狂ったように映画を観てました。それに飽きたら、緑豊かな公園に行き何もせずぼーっとしてました。そして、何のためにプログラミングを始めたのか、自分はどうなりたいのか、なぜ挫折してしまいそうになるのか、自分を見つめ直す時間を作っていました。

答えは出なくてもいいのです。ぼんやりでもその時の素直な気持ちを紙に書いて、自分の考えを整理することで気持ちを切り替えていました。
僕はもともと意志が弱かったので、絶対どこかで続かなくなると思ってました。そんな時は、あえて一旦全部投げ出して何もやらない時間を作ろうと決めていて、自分で調整できるようにしていたのです。

炎タイプのポケモンが出てくるとわかっていれば、こちらは水タイプのポケモンで対抗しますよね。

考え方はこれと一緒です。
あとは、相手のタイプと自分のタイプを見極められるかどうか。

挫折した時にどう行動するかあらかじめ決めておく

プログラミングを挫折したとしても、全てが無駄になるわけではない

挫折してプログラミングから離れてしまった方にお伝えしたいです。もし、PCに向き合って「あんなややこしいことしたくない!」と考えているのであれば、強制はしません。

でも、あなたがプログラミングに費やした時間を、その経験を別のところに活かしてみませんか?

プログラミングをやった人は、個人差はありますが、普通の人よりITリテラシーは高くなっているはずです。だからこそ、そのITリテラシーを活かして今の環境で自分のポジショニングをとってみてはいかがでしょうか?

何を言いたいかというと、一般企業(ITを除く)で働いている人の中で、どれだけの人がプログラミングを扱えるかということです。
もっと細かくいうと、あなたが働いている周りにあなたと同じくらプログラミングをやった人はいますか?

もし、いなければチャンスです。

自分の業務の中で、自分が習ったことを活かせるものがないか探しましょう。ITの知識なんてどこの企業にいても使えるはずです。仮に、あなたの経験がフロントエンド(HTML/CSS/JavaScriptなど)しかなかったとしても、自社のHPを直せるかもしれない。新しいブログを立ち上げることができるかもしれない。

またサーバーサイド言語の取り扱いがあるなら、自社のシステムの仕組みを一から勉強して、誰よりも詳しくなるのも一つです。
もし、何もないならとりあえずExcelでVBAを扱えるようになってみましょう。今時、Excelを使わない企業なんてほとんど存在しないと思います。

プログラミングほど難しくないし、自分の努力で社内の誰かの役に立てるかもしれない。社内の人とコミュニケーションをとって業務改善をしていくことだってできます。プログラミングの基礎があれば、その人次第ですが社内の中でそこそこのIT人材のポジションは取れると思います。

もし、自分よりできる人がいるならその人と一緒にやれば良い。

【プログラミングを挫折したからといって、あなたの能力が低いというわけではない】

大切なのは、その経験を他で活かせないか考え動くことです。企業で働いていれば必ずどこかで役に立ちます。探しましょう。営業の数値管理や分析、HPの訂正、社内資料の作成など…

あなたが費やした時間を、努力を違う形で報われるところがあるはずです!

何のために始めたのか思い出して

なぜを問う画像

なぜ、あなたはプログラミングを始めたのですか?

「YouTubeの広告を見て偶然」
「手に職をつけたい」
「今の労働環境から抜け出したい」
「ノマド生活がしたい」
「PC一つで自由な生き方をしたい」
「憧れの人がいる」
「価値の高い人材になりたい」
「稼げると思った」

さまざまな理由があると思います。

僕もYouTuberのマナブさんに憧れて、稼げるかもと思ったことがきっかけです。笑その初心を思い出して頑張るのも一つですし、考えが変わったのであればやめても良いと思います。

ただ稼ぎたいだけなら、プログラミングに拘らなくても良いですし。ノマド生活だってプログラミングじゃなくてもできますし。

今だからわかりますが、僕の場合は、【自分はこれができるという自信が欲しかった】だけでした。そうすれば、誰かの役に立てるし仕事に困らないかなっていうところが大きかったです。
もちろん稼げるに越したことはないですが、結局は誰かに認めて欲しかったんです。

皆さんも今一度なんでプログラミングやっているのか、考え直してみてはいかがでしょうか?

プログラミングは一つの手段・選択肢に過ぎない

コードを打つことが好きで好きでたまらない

こう思う人がいればプログラミングは天職でしょう。笑
ぜひ、極めて欲しいと思います。

でも、何か目的があってプログラミングをしている人がほとんどだと思います。その目的は、突き詰めると【幸せになる】とか【人生を良くする】に辿り着くのではないかなと思います。

表現の仕方や考え方に少し違いはあれど、これが真理なのかなと。そのための手段の一つが【プログラミング】であるわけです。だから、あまりプログラミングに固執しすぎて苦しまないでください。

継続することは大切ですし、すごいことです。

でも、頑張るあまり自分を追い詰めすぎないでください。プログラミングを学習することは、一つの手段です。目的を達成するためなら他の手段でも良いわけです。
広く視野を持ち、自分には何ができるのか、どうありたいのか考えゆっくり、じっくり進んで行けば良いと思います。

違うと思ったら勇気を持って方向転換

当初の目的と変わっても全然良いと思います。いろんなことに挑戦して、データをとって、自分は継続するのか見極める。

最後の最後でぶっちゃけますが、

僕は、最初Web系からはじめて、HP制作をしようと思ってました。フロントエンドはそれなりにやって、PHPやRubyを学び副業でHP制作を受けようと考えていました。ただ、一人でやるのめんどくさい!そして、最初は時給低くても仕方ないと思っていたのですが、この先ずっとこれやり続けるの飽きるなって気づいちゃったんですよね。笑

単純にきついし。初心者が副業でHP制作とかやるの割りに合わないって。だって、本業でWeb制作やっている人が、副業でやった方が絶対いいじゃんって考えるようになりました。
自分が客だったら作り慣れている人に頼むなと

プログラミングをやっている最中、データベースとか機械学習とかに出会ったので、こっちの方がおもしろいなと思っていたので、そっちの勉強を始めました。僕の場合、これが運よくハマりました。

Pythonを使って分析したり、データベースを作ったりする方がWeb制作より全然楽しかった。理由は明確にあって、【営業の仕事にめっちゃ使えるじゃん】って思えたからです。

Web系の知識はほとんど使わないので、もったいないと思うかもしれませんが、僕からしたら、きついとわかりながらそのままWeb系続ける方が時間もったいです。無理だと分かっていても、「せっかくここまでやったんだから続けよう」

その気持ちは痛いほどわかります。でも、それって沈むと分かっている船にいつまでも乗り続けていることと同じだと思います。ただ、そのままWeb系にいってたら今も苦しんでいたなと思いますし、勇気を持って方向転換して良かったと自分を褒めてあげたいです。笑

でも、続けていたらまた違う良い方向にいったかもしれません。これは結果論なので誰にもわかりません。こういう結果もあるからあまり一つの考えに固執しないほうが良いということは言えます。

たくさん書きましたが、僕なりにプログラミング挫折経験から学んだことは

①物事を分解して理解する力をつけれた
②自分がどうやれば習慣化できるのか分かった
③挫折してもそこから広げることを諦めない
④時には、勇気を持って方向転換が必要

新しいことに挑戦することは素晴らしいです。でも、うまくいかないことがほとんど。
夢をみすぎたのかな、人生そんな甘くないなと落ち込むこともあるでしょう。

でも、下を見ても何も変わらない。顔を上げて行動し続ければ何か見えてくる。

あなたを応援し、一緒に歩いてくれる人がどこかにいる。この記事が誰かの役に立てることを心から願っています。

挑戦するあなたを応援しています

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします
自分を重ねて見ると、きっと前に進めます。