「Pythonって習得しても無駄なの?」
「Pythonを学習するデメリットを知りたい。」
上記の疑問にお答えします。
Pythonを学習してみようと思って、検索したら「Pythonやめとけ」または「プログラミングやめとけ」と目にしたことはありませんか?
この記事は、「Pythonって習得する意味がないの?」と不安に思われている方に向けて、「Pythonやめとけ」といわれる理由を解説します。
具体的に次のことを解説します。
- Pythonのメリットとデメリット
- 「Pythonやめとけ」といわれる理由
- そもそもプログラミング学習に向いていない人
「偉そうに語るおまえは誰やねん。」と思われるので、私のことも少し紹介させてください。
たいらーのプロフィール
- 文系四大出身。ソフトウェア開発の経験はなしですが、IT業界に身を置いています。
- 開発者やユーザーとのパイプ役など、業務にプログラミングスキルを活かす。
- Pythonは独学で習得。スクレイピングや作業の自動化などに勤しんでいます。
先に結論を言うと、「Pythonやめとけ」の理由に決定的なものはありません。
強いて言えば、特定の条件に当てはまる人が勉強した場合に意味がない可能性があるといったところでしょうか。
そのあたりも解説しますので、不安を払拭してPythonの学習にチャレンジしていただければと思います。
1.Pythonのメリットとデメリット
まず、「Pythonやめとけ」の理由の前に、Pythonのメリットとデメリットを整理しておきましょう。
整理した中で挙がったデメリットが、学習をやめとけといわれる理由にあたるのかを考えたいと思います。
Pythonのメリットとデメリットについては、当サイトでまとめた記事『Pythonのメリットとデメリット【将来性についても解説】』をベースに考えます。
詳細を確認したい方は、こちらをご覧ください。
メリット
- ライブラリとフレームワークが充実している
- 文法がシンプルで可読性が高い
デメリット
- 実行速度が遅い
- インデントが必要
「実行速度が遅い」のには、いろいろ理由がありますが、動的型付け言語(変数などデータ型を宣言せず使用する言語)でコンパイル(機械が理解できるようにプログラミング言語を翻訳すること)されていないことが挙げられます。
たしかに、PythonはC言語などに比べると実行速度が遅いですが、ほかにも動的型付け言語やコンパイル不要のプログラミング言語もあります。
Pythonにだけに当てはまることではないので、「Pythonやめとけ」の理由としては弱いと考えます。
「インデントが必要」とは、Pythonの場合、for文やif文を記述するときにインデント(字下げ)が必須という文法上のルールの話です。
たしかに文法としてはクセがあるものの、他のメリットを考えれば大したことではないと考えます。
2.「Pythonやめとけ」といわれる理由
Pythonのデメリットから、「Pythonやめとけ」の理由を考えてみましたが、しっくりくるものはありませんでした。
そこで「Pythonやめとけ」で検索し、複数のサイトを調べてみました。
それでも、決定的な理由になりそうなものは見つかりません。
「Pythonやめとけ」検索結果に見られる理由(一例)
- Pythonが動的型付け言語だからやめとけ
- Pythonだけ習得しても稼げないからやめとけ
- エンジニア職に夢を見るのはやめとけ
「Pythonが動的型付け言語だからやめとけ」は、動的型付け言語だとコーディング内容や意図が分かりづらいという話です。
それは確かにそうで、大人数で構築する大規模なシステムには向いていないということは、理解できます。
それでも、開発するプロダクトや規模で言語を選択しようね。という話で、Pythonの能力全体を否定するものではありません。
実際、Pythonは多くの分野で非常に強力で有用なプログラミング言語です。YouTubeのような大規模なプラットフォームがPythonを使用している事例は、その柔軟性と強力な機能を示しています。
・Pythonだけ習得しても稼げないからやめとけ
・エンジニア職に夢を見るのはやめとけ
上記の2つについては、一般論としては正しいですが、それはPythonに限った話ではないので、理由になりません。
強いて言えば、次に当てはまる人は、Pythonの学習をしても無駄になる可能性が高くなると考えます。
- 転職や副業目的で、30代以降のプログラミング未経験者がPythonを学ぶ
次の項目で詳しく解説します。
・転職や副業目的で、30代以降のプログラミング未経験者がPythonを学ぶのをやめといたほうがいい理由
転職や副業目的で、30代以降のプログラミング未経験者がPythonを学ぶのをやめといたほうがいい理由は次の通りです。
- Python習得にはまとまった時間が必要
- テーマによっては学習ハードルが高い
- 案件のライバルはエンジニア
・Python習得にはまとまった時間が必要
Pythonに限らず、プログラミング学習には時間がかかります。
Pythonであれば、基礎レベルの習得に200~300時間が必要です。
学習時間を週15時間を確保したとしても、3~5か月かかります。
さらに、プロのエンジニアとしてやっていこうとすると、それ以上の学習時間が必要になります。
仕事との両立は、かなりハードだと考えたほうがよいでしょう。
・テーマによっては学習ハードルが高い
Pythonのスキルが活かせる分野を考えたとき、次の3つが思い浮かびます。
- AI開発
- データサイエンス
- Web開発
どれもプロレベルの知識と技術を習得するには、それなりの学習量が必要ですが、特にAI開発は膨大な学習量が必要です。
AIを作るためには、コンピューターサイエンスは必須で、大学で学び直すくらいのことをしないと習得が難しいです。
さらに、統計や数学などの知識も要求されるため、学ぶ領域も広く、他の2つと比べると学習量が圧倒的に多くなります。
よって、AI開発の習得は難易度が高いです。
もちろん、データサイエンスやWeb開発が簡単というわけではなく、これらもいろいろな分野の知識やプログラミング言語を習得する必要があります。
データサイエンスやWeb開発を学ぶだけでも、それぞれ200時間から300時間の学習は必要です。
・案件のライバルはエンジニア
Pythonで副業をする場合を考えてみます。
副業をする場合、ランサーズやクラウドワークス、ココナラといったプラットフォームを利用して案件を獲得するのが一般的です。
それぞれ「Python」をキーワードに、ご自身でも案件を見てみてください。
「現役エンジニア」や「元エンジニア」といった肩書を多く見かけませんか?
プログラミング未経験者が案件を獲得する場合、この「現役エンジニア」や「元エンジニア」たちと闘うことになります。
実績やノウハウがないスタート時期は、単価で勝負するくらいしか手立てがありません。
それが貯まるまで低単価で働き続けることになります。
お金を稼ぐという点だけで考えると、効率が良いとはいえません。
同じ時間を使うなら、現職の実績やノウハウを活かしたほうが、まだ可能性があると考えます。
どうしてもやりたいという人は、副業向けのプログラミング講座を受けるのも手ですが、本当に副業として成り立つのか、どのくらいで回収できるか、よく考えたうえで決めましょう。
プログラミング未経験者がPythonを学ぶ意味
では、プログラミング未経験者が、Pythonを学ぶ意味はないのか。
前述のとおり、30代以降の方がPythonをかじって副業&転職となるとハードルが高いですが、年齢を問わず、これからご自身や組織の業務改善などにPythonを活用するのはアリだと思います。
経験を積むことで、社内業務の中心を担う人もいるでしょう。長年やってきた業務の「ムリ・ムダ・ムラ」がよく見えるはずです。
プロのエンジニアを目指しているわけではないけれど、自分の業務や組織の業務改善にプログラミングを活用してみたいと思った方は、ぜひPythonにチャレンジしてみましょう。
その時は、こちらの『業務の効率化・自動化にPythonがおすすめの理由【社会人なら必読】』が参考になると思います。
ぜひご覧になって、業務にPythonを取り入れてみてください。
3.そもそもプログラミング学習に向いていない人
ここまで「Pythonやめとけ」といわれる理由について見てきました。
いわれる理由の背景には、「そんな簡単な話じゃないぞ。」といった、プロのエンジニア達の怨嗟の声(?)が背景にあるのだと察します。これはPythonだけに向けられたものではなく、プログラミング学習全体に向けられたものでしょう。
そこで最後に、いわれる理由の背景に見え隠れする、そもそも「プログラミング学習に向いていない人」の特徴と対策を解説して終わりたいと思います。
プログラミング学習に向いていない人
- 世間のイメージを信じがちな人
- 学習の目的がない人
- 学習が継続できない人
・世間のイメージを信じがちな人
ITエンジニアといえば、どんなイメージを持っていますが?
たぶん、このようなイメージを持たれている人は少なくないと思います。
これは、テレビやメディアの影響で作り出されたイメージです。
このようなキラキラしたイメージにつられて、プログラミング学習を始めるのは注意が必要です。
たしかに大企業や外資系企業の中には、上記に当てはまる企業もあるでしょう。
でも、そもそも大企業は全企業の0.3%しかありません。
要は、IT業界も他の業界と変わらず、収入や待遇はピンキリで、理想的な職場は椅子取りゲームが苛烈だということは認識しておきましょう。
結局のところ、ITエンジニアとしての就職や転職を考える人は、自分が志望する職種や会社の情報を収集し、吟味することが重要です。
・学習の目的がない人
学習の目的がない人は、その時々で流行のスキルを身につけようとする、資格コレクターみたいな人です。
スキルを獲得することに興味はあるけど、そのスキルをどう使うかに無頓着な人が該当します。
テキストや課題をクリアする達成感や、知識欲を満たすことに価値を置く人は注意してください。
それはそれで否定はしませんが、プログラミングはモノを作ってなんぼだと個人的には思います。
この手の人は、勿体ないので、自分の作りたいものやサービスについて、一度考えてほしいですね。
・学習が継続できない人
いわゆる三日坊主の人です。
プログラミングをはじめテクノロジーの世界は日進月歩です。
自ら学ぶ姿勢が持てない人は、特にプロとしては厳しいといわれています。
ただ、目的があっても、学習量の多さに徐々に興味を失っていくことは、プログラミング学習ではありがちな話です。
このような人が就職や転職を目的にプログラミング学習する場合、自分で学習計画を立てるか、スクールなど周りの協力を得て定期的に学習する環境に身を置く必要があります。
自分に合った学習方法と環境を用意することで、この問題は回避することはできます。
4.まとめ
以上、「Pythonやめとけ」といわれる理由について解説しました。
「Pythonやめとけ」の決定的な理由がないことが、お分かりいただけたと思います。
Pythonに限らず、プログラミング学習はいつ始めてもよいですが、転職や副業が目的になると年齢を重ねるごとに不利になるのは確かです。
とはいえ、勉強を始めるのは、早ければ早いほどいいので、「Pythonやめとけ」の言葉に惑わされることなく、今からでも学習を始めてみてください。
このブログでは、プログラミング初心者のためのPython学習法を紹介しています。
Pythonの学習の開始や具体的なプロダクト作成への挑戦に役立つ記事を用意してますので、ぜひご覧ください。
ご清聴ありがとうございました。