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

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

Pythonの毎日勉強を5ヶ月継続して感じたこと・考えたこと


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210708060906p:plain

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

今日はいつもと趣向を変えて、Pythonの毎日勉強を5ヶ月継続して感じたことや考えたことを中心に話していきます。



Pythonを選んだ理由

f:id:ShotaNukumizu_1000:20210615064250j:plain

以前この記事でもお話したと思いますが、まずはPythonを選んだ理由について話します。

shotanukumizu-1000.hatenablog.com

私が勉強するプログラミング言語としてPythonを選んだ理由は次の通りです。

  • コードがシンプルで読みやすいから
  • Jupyter notebookをインストールするだけで簡単にプログラムを書けるから(細かい環境開発が必要ないから)
  • つまらないルーティン作業をすべて自動化できるから
  • 最近注目を集めているプログラミング言語だから
  • インデントでプログラムの仕組みを理解しやすいから
  • あの世界的に有名なYouTube, InstagramPythonを使って動いているから


5ヶ月前、とあるネット記事にてPythonが世界的に有名なサービスを支えているプログラミング言語であることを知った時、

「すごいな、Pythonってこんなすごいサービスを作れるのか!」

と驚いていたことを覚えています。

「もしかしたら、私もPythonを勉強すればめちゃくちゃいいWebサービスを開発できるかもしれない!」

そんな曖昧な動機の中、私は今年の3月からPythonの独学を始めました。


挫折・失敗経験3選

f:id:ShotaNukumizu_1000:20210723130845p:plain

Pythonの独学を始めた私でしたが、その道は決して平坦なものではありませんでした。(今でも辛い時はたくさんあります...)本章では、私がPythonを独学する際に失敗、あるいは挫折したエピソードを中心に話していきます。


①環境構築でミスった

これはPythonに限らずどのプログラミング言語でも言えることですが、環境構築はプログラミング言語を動かす際にいちばん重要です。プログラムが動かないとサービスどころか書いたコードの検証もできません。

まず、私はその環境構築をミスってしまいました。(そもそも環境構築できなければプログラミング学習はオワコンですよね)

より具体的に言えば、独学を始めたての頃にPythonExcelを自動化したいときに、openpyxlというライブラリをインストールしようとしましたが、それをインストールできず1週間を無駄にしてしまった事が挙げられます。ネット記事に書かれていることを指示通りやったにもかかわらず、なぜか動かないんですよ。いつまで立ってもインストールされないまま心身ともに疲れていたのを覚えています。

これは最終的に解決したからいいんですが、本当に最初の最初の環境構築で早々ミスってしまい無駄に悩んだ経験がありました。


②エラー対処に1週間かけたことがあった

f:id:ShotaNukumizu_1000:20210723131947p:plain

プログラミング学習を進めていくと、エラーは絶対に発生します。

エラーは解決できたことに越したことはありませんが、エラーを全く解決できず1週間そのまま経過してやっと解決できたことがたくさんありました。(今でもあります)一番最悪なのは、その1週間解決できず悩んでいたエラーの問題が、変数・関数の定義し忘れやスペルミス、文法エラーなどの凡ミスだったことがわかったことです。凡ミスに一週間かけて「ああでもない、こうでもない」と悩んでいたことがありました。

いまはほんの少しの凡ミスなら簡単に解決することができましたが、私は一からプログラミングを独学し始めていたのでエラーが出たとき何がなんだかわからず「わかんない」と言ってそのまま画面を凝視していたことがしょっちゅうありました。


③周りに相談できる人がいなかった

私はプログラミングをほぼ独学で進めていたので、周囲にプログラミングのことについて相談できる環境を作っていませんでした。なんと、私は全て自分ひとりの力であらゆる問題を解決しようとしていたんですね。

私がエラーの問題を解決するのに1週間かかったり、環境構築で早々ミスったりしたことの原因がこれに当たると思います。(というか、絶対これ以外ありえないと思いますね)

私はもとから一人で何でもかんでもやろうとする人なので、ネット記事を中心にプログラミングのエラーを解決しようとして失敗したことがたくさんありました。本当に、マジでプログラミングは誰かに相談しないと解決しないことを痛感しました。

独学を中心に、誰かに相談できる環境を作ったほうがプログラミングのレベルが向上するのではないかと考えました。今日から夏休みに入るので、この長い時間を利用してメンターを一人でも見つけたほうがいいと感じました。

私が言えることではありませんが、一人で解決できる問題には限りがあることを痛感させられた出来事でしたね、


成功・喜び体験4選

f:id:ShotaNukumizu_1000:20210707143611p:plain

前述の通り、プログラミング学習の失敗談ばかりを話していましたが、失敗だけではありません。プログラミングを通して、もちろん成功体験や喜びはありました。


①デプロイはしていないけど、自分で簡単なアプリを作れた

f:id:ShotaNukumizu_1000:20210718062603p:plain

まずは、自分で使う個人のアプリを開発できたことですね。これが一番大きいです。

PythonのWebフレームワークの一つであるFlaskやCSSフレームワークのBootstrapを中心に簡単なメモアプリを作ってみました。仕組みは非常に簡単ですが、簡単なメモアプリを作ることができて嬉しかったです。(画像はアプリ)

f:id:ShotaNukumizu_1000:20210723134018p:plain

自分が初めて、自分の頭で考えて試行錯誤を積み重ねて一番最初に作った個人用のWebサービスです。

この成果は他のプログラマーや一流のエンジニアにとっては、ほんの些細なことかもしれません。しかし、私にとっては自分の人生を変えた出来事の一つであると言っても過言ではありません。私はこの経験を通して、全くの未経験でもプログラミングを勉強すれば簡単なアプリを作れることを学びました。


②論理的思考力が身についた(わずかではあるが....)

f:id:ShotaNukumizu_1000:20210723134642p:plain

ログラミングの独学を継続していくうちに、ほんのわずかではありますがプログラミングに必要な論理的思考力が身についたような感じがしました。

プログラミングでは、必要なWebサービスやアプリ、Webシステムなどの作成物を作るまでのプロセスを事細かにしていく必要があります。例えば、会員制の日記サイトをつくる際に、このように手順を分割して考えていく必要があります。

  • ログイン機能を実装する
  • 日記を投稿するフォームをつくる
  • 投稿した日記を日の浅い順番に並べる
  • ホームページのデザインを整える
  • 投稿した日記を編集する


このように自分が作りたいプログラムを実装するときに必要な手順や機能を箇条書きで考えることができるようになりました。

このような考え方は、大学でレポートや試験の問題に取り組む際に非常に役に立ちました。ほんのわずかではありますが、論理的思考力を身につけることができたのはプログラミングをやっていてよかったと思えることだと思います。


③ブログを書くきっかけを作った

f:id:ShotaNukumizu_1000:20210723135818p:plain

私がプログラミングの独学を継続していく中で、自分が学んだことをどこかでアウトプットできないか一生懸命考えていました。そのとき、とあるネット記事でエンジニアやプログラマーなどのプログラミングを本業としている人たちがプログラミングやITにまつわる記事を書いているネット記事を書いていることを知りました。

ブログを始めることで、私が勉強してきたプログラミングの記事や考え方をアウトプットできる環境を作れるかもしれないと考えてブログを始めることにしました。いきなり本格的なブログを書かずに、最初は無料の範囲内でブログを書き始めました。

ブログを始めることで、プログラミングやIT業界に関する物事に興味関心がわき、Python以外のプログラミング言語やIT業界の動向に少し関心を持ちました。


④プログラミングの面白さに気づいた

f:id:ShotaNukumizu_1000:20210717144545p:plain

最後に、5ヶ月間Pythonを勉強して気づいたことは「プログラミングは面白い」ということです。

プログラミングは自分の能力を向上させるのではなく、自分で考えてサービスを開発したり、時間を短縮したりなど様々な可能性を秘めていたことに気づき、その面白さに惹き込まれてしまいました。

それだけではなく、自分の人生においてこれほど夢中になれるものを見つけることができて非常に嬉しかったです。

プログラミングは楽しいということを半年近くの独学を通して実感することができました。


まとめ:5ヶ月間のプログラミングの独学は決して無駄ではなかった。

f:id:ShotaNukumizu_1000:20210614080621p:plain

長くなりましたが、まとめに入ります。

今日は私がPythonの独学を5ヶ月継続して感じたこと・考えたことを中心に話していきました。

今日の記事で一番伝えたいことは、プログラミングの独学は決して無駄ではなかったということです。私はプログラミングの独学を通して、プログラミングの楽しさや面白さを理解することができました。

来年の夏にPythonで個人事業を立てられるよう、今は必死になってWebアプリ開発を中心にPythonの勉強により一層励んでいきます。

今日はこれで終了です。最後まで読んでくださりありがとうございました!