Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【経験談】「あれ?プログラミングが面白くない....」と感じた日


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210919060248p:plain

おはようございます。Shotaです。

今回はいつもと趣向を変えて、「プログラミングがつまらない...」と感じた日の経験を書き記します。

ストーリー形式で長々と書いているので、結論だけ知りたい人は結論へ移動してください。

それでは早速、本題に入りましょう。



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

f:id:ShotaNukumizu_1000:20210924065330p:plain

ある日、Djangoで個人開発している時にふと思いました。

❓「これ、やってて何の役に立つの?」

❓「自分がやっていることはマジで正しい?」

私はPythonを未経験から独学で7ヶ月以上も勉強しています。

今までWebフレームワークのFlaskやDjangoで「SNSアプリ」、「在庫確認アプリ」、「電子掲示板」などを作っていきました。

まだ案件を取ったことがないので、世間的にプログラマーとして認識されていませんが、ちょっとしたアプリなら作れるレベルには達しています。

ところが、私の技術不足とスキル不足で

❗「これは誰かに貢献できた!!」

というようなものはありません。

そこで、一つの疑問が浮かびました。

「あれ?プログラミングがつまらない......」

私がこのように感じた理由は、以下の通りです。

①専門用語がわからない

②公式ドキュメントを理解できない

③エラーを解決できない

④自分が作りたい「オリジナルアプリ」を開発できない

⑤レベルの高いポートフォリオが全然作れない


それぞれ順番に話していきます。


理由①:専門用語がわからない

私がPythonを独学で始めて最初にぶつかった壁がこれです。

プログラミングを勉強していると、たくさんの専門用語にぶつかります。私は未経験でゼロからのスタートだったので、技術書やネット記事に書いてある専門用語を全く理解できませんでした。そのため、Google検索しながら技術書を読み進めていました。

とにかくわからないことだらけで、わからないことや専門用語に直面するたびにGoogle検索するのが面倒に感じたことがありました。


理由②:公式ドキュメントを理解できない

これも、プログラミングを勉強している時にぶつかった壁です。

私は英語をある程度読み書きできますが(英検2級レベルの実力あり)、初見でDjangoの公式ドキュメントを見たときは

「なんだコレ?まったくわからない.....」

と思って数分呆然としていたのを覚えています。英検2級の資格を持っていても、ここしばらく英語に触れていなかったので読めない単語が多く、「ああわからないわ....」とそのまま公式ドキュメントを閉じていました。

公式ドキュメントに書かれていることが正解なのは十分に理解できますが、プログラミングを始めたばかりの私はそれを十分に理解できませんでした。そのため、公式ドキュメントに書かれているコードをそのままコピペして動かなかったら諦める...というようなプログラミングをしました。

プログラミングを始めたばかりの頃は、公式ドキュメントの内容をそのまま理解するのに苦労しまくりました。


理由③:エラーを解決できない

これはプログラミングを勉強している時にぶつかった壁の中では2番目に大きいです。

7ヶ月してからやっと、エラーの解決方法やパターンを理解できましたが、プログラミングを始めた頃の私は

😥「エラーが出てしまった....もう諦めよう」

このような感じですぐにプログラミングを放棄していました。

プログラミングではエラーが発生しないことはありえないのですが、独学をし始めたときの私は「エラーを解決する」という考えが脳裏にありませんでした。そのため、

「エラーが発生したら諦め、それを解決しない」

という悪い癖が身についたのです。

「プログラミングはエラーを解決して進むもの」という考えがやっと理解できたのはつい最近のことです。そこから、「完璧にコーディングする」のではなく「とりあえず書いて、エラーが発生したらコードを書き直す」という姿勢にシフトしました。


理由④:自分が作りたい「オリジナルアプリ」を開発できない

これは、私がプログラミングを勉強している間にぶつかった壁の中では最大です。

この記事を投稿した現在でも、私自身「オリジナルのアプリ」を開発して市場にリリースするという考えが全くありません。

現状、アプリ開発で収益を得るのは非常にハードルが高く、ユーザの問題の解決に大きく貢献できないとより多くのユーザにアプリを使ってもらえません。簡単なWebアプリを作った後、私は自分のオリジナルアプリの構想を練ろうとしましたが、1週間以上これといったアプリはありませんでした。

どうやら私は、自分で0から1を生み出すことは苦手です。しかし、アプリを開発して生計を立てたいという夢がありますので、

「市場に出回っているアプリを開発してそれをポートフォリオにすればそれなりの信頼性は担保されるのでは?」

そう考えて、クローンアプリの開発に着手しました。(この思考に至っている時点で問題解決力もクソもないんですけど)


理由⑤:レベルの高いポートフォリオを作れない

これは理由④と大きく関係しています。

私は自分で作ったコードをGitHubにアップロードして成果を目に見える形で共有していますが、実は自分でデプロイしてネット上に公開しているアプリは一つもなく、GitHubしか自分のポートフォリオがないのが本音です。

そのため、レベルの高いポートフォリオをいつまでたっても共有できず苦戦しています。(この記事を投稿した現在も)

自分オリジナルのアイデアが浮かばない、そのためレベルの高いポートフォリオが作れないのでモチベーションが下がってしまいコードを書かない日がしばらく続いたのです....


結論:「無理をせず、プログラミングを通して世の中に貢献したい」

f:id:ShotaNukumizu_1000:20210921075528p:plain

プログラミングの独学を始めたきっかけは、

「自分でWebアプリを開発できる能力があれば、もう生計に困ることはないな」

という安直な理由でした。

しかし、現実はそう甘くなく、現実が次第に見えてしまい自分で限界を感じるようになりました。

プロのプログラマーと自分といつの間にか比較してしまい、「やっぱり私にはプログラミングは向いていないかもしれない...」と感じる日もありました。

独学を始めた頃のように、なんでもないコードを書きまくってその都度GitHubにアップロードするというどうでもいいことを懐かしく感じるときもあります。

私は他のプログラマーと比較してレベルが低めの方だし、思ったように動かずに投げ出したくなることがしょっちゅうあります。

しかし、「プログラミングを通して自分の身の回りの世界や社会に貢献したい」という気持ちは人一倍ありますので、それでもなお自分のやるべきこと(コードを書きまくること)を押し通していきます。

それでもなお、前に進まなければ何も変わらない。

とりあえず自分の持っているものや経験をフル活用してやってみる。約には立たないかもしれないけど、とりあえず形にしてみる。

しかし、自分の精神状態がやばくなるほどプログラミングにのめり込んでしまうと元も子もないので、無理のない範囲でプログラミングを楽しんでいきます。

今回の記事はこれで以上です。

長くなりましたが、最後まで読んでくださり本当にありがとうございます。