初学者からエンジニアになるには?

【初心者入門】Python勉強法を現役エンジニアが解説

現役8年以上、年収1000万の中堅エンジニア、オザックです!

今回は

「プログラミング初心者にPythonを学習するための方法を現役エンジニアとして解説」します!

この記事は

  • Pythonってどういう言語?AIを作るための言語?
  • Pythonを勉強する方法を知りたい
  • PythonでWebサービスを作りたい
  • Pythonを学ぶメリット・デメリット

これらを知りたい人にオススメです!

この記事を読むと

「Pythonについてわからない状態から、Pythonの勉強方法を理解し、Python学習に向けて一歩進める状態」

になります。

Pythonというプログラミング言語とは?

Pythonとはグイド・ヴァンロッサムという方が作った高水準のプログラミング言語です。

Pythonの特徴は空白によってコードの可読性を重視し設計されていることです。

実際にエンジニアとしてPythonを書いた身としては他の言語と比べても書きやすく、コードも読みやすいです。

また動的付け言語なので初心者にオススメの言語です。

 

Pythonで実際に作れるサービス・作られているサービスとは?

Pythonと言えばなんと言ってもAIを作れる言語として有名です。

AI(人工知能)とは機械学習と言われる、大量のデータをあるアルゴリズムで機械が学習して人間が予想もしない未来予測を打ち立てる、人間が作った知能のことです。

機械学習には色々な分野がありますがすべてPythonを使用します。

では実際に有名なAIとはどういうのがあるのか見ていきます。

 

AlphaGo

 

AlphaGo

 

ご存じの方も多いと思いますが、囲碁でAIが人間に勝利したときの初めてのAIがAlphaGoです。

2017年5月27日にイギリスのAI企業ディープマインド社が開発したAlphaGoがその当時人類最強の棋士・柯潔(カ・ケツ)に勝利しました。

元々囲碁は昔から局面での手数が将棋と比べて多く人工知能が人間に勝利するには難しいとされていましたが、その常識を破ってAlphaGoは一躍有名になりました。

Watoson

 

IBM Watosonとは?

WatosonとはIBM社が開発したビジネスに活用できるAIです。

ビジネスシーンで大量の文章から知見や洞察を見つけたり、意思決定の場で適切な情報を出すのに役立つツールです。

続いてはAIの他にPythonで開発されているWebサービスを紹介します。

Dropbox

 

Dropbox

 

Dropboxはご存じの方も多いと思いますが、クラウドに画像を保存しておけるサービスです。

今ではGooglePhotoやiCloudなど多くの画像クラウドサービスがありますがDropboxは画像クラウドサービスの先駆けです。

これはPythonで開発されています。

Discord

 

Discord

 

Discordはゲームをやる人のためのSlackのようなチャットやビデオが出来るツールです。

昨今ではコロナの影響でZoomと一緒にかなり伸びてきているサービスで、これもPythonで開発されています。

 

プログラミング言語Pythonのメリット

 

プログラミング初心者に優しい言語仕様

冒頭でも少し話しましたがPythonは動的付け言語と言われる言語で、型と言うものを意識せずにプログラムを書くことができます。

動的言語は他にPHPやRubyなどがあり、いずれも初心者には書きやすい言語となっています。

動的型付け言語というのは静的型付け言語の対になるもので、型が実行時に決まるので、コードを書いている最中は型というものを気にせずにコーディング出来ます。

まだわからない人は追々覚えていけば良いので今は気にせずに、初心者には書きやすい言語なんだとと思ってもらえれば良いです。

また短いコードでプログラムが書けるような言語仕様なので、割と初心者も理解しやすいという特徴もあります。

 

AI(人工知能)でもWeb開発でも使えるので一石二鳥

 

先程紹介したようにPythonはAI開発では必須の言語となります。またPythonは同時にWebサービスやAPIの開発でも使えるオブジェクト指向言語なので、どちらも開発できるため一石二鳥です。

また統計解析をする場合でも多くの優秀なライブラリがPythonにはあるので、データサイエンティストを目指す場合はPythonは必須の言語になります。

ただ後述しますがWeb開発とAI開発は使うライブラリや実際のプログラムは全然違うので、

PythonでWeb開発ができるようになったからと言って、AI開発が出来るという訳ではないです。

 

エンジニア単価が高い

 

言語別年収グラフ
2020年言語別年収グラフ (HRog参照)

 

このグラフから動的型付け言語のPHPやRubyと比べるとPythonは比較的エンジニア単価が高いです。

 

プログラミング言語Pythonのデメリット

 

Pythonは色々な分野で使われるが、それぞれの分野で使われるライブラリも違う

 

Pythonでは先程述べたようにWeb開発、AI開発、統計分析など様々な分野で使われていて、Pythonを覚えるとそれらの分野プログラムを読めることになります。

ただそれぞれの分野でクラス設計や使われるライブラリが違うので、

Pythonが書けるようになる≠AI開発ができる、統計分析が出来る

ということだけは覚えておきましょう!

 

Pythonは実行速度が遅い

 

動的型付け言語というのはコンパイルがない分、実行時にコードが機械語に変わり実行されます。

そのためコンパイル言語と比べると基本的に速度は遅くなります。

ただ初心者にとっては実行速度が遅いというのは割とどうでも良いことなので気にしなくても良いでしょう。

 

Web開発での需要は少ない

 

PythonはAIやデータサイエンスなどあらゆる分野でよく使われる言語のため覚えておいて損はない言語です。

ただWebアプリケーションの開発においては、あまり選ばれにくい言語となっています。

こちらのグラフを見てもらうと分かる通り、動的型付け言語PHPと比べると明らかに少ないですし、実際に僕も8年以上エンジニアをしていますがPythonでWeb開発をしている会社は少ないです。

またそれらの会社がPythonを選んでいる理由は多くは機械学習系のサービスを展開している会社がどちらもPythonに統一することを狙いとしています。

 

ではPythonがWeb開発で使われない理由はなぜか?

 

  • PythonよりもWeb開発に特化した動的型付け言語RubyやPHPがあるため
  • RubyやPHPの方がエンジニアを採用する単価がやすいため
  • コンパイル言語と比べると実行速度が遅いため

これらの理由が挙げられます。

 

プログラミング言語Pythonを勉強する方法とは?

 

ではどのようにPythonを学習していくのかを説明します。

基本的には他の言語でも同様です。

 

独学でPythonのWeb開発を学ぶためには?

 

独学で勉強する場合はProgateドットインストールがオススメです。

僕の友人もProgateで勉強していました。

ただ初心者にはなかなか難しいというのが現実です。

というのもわからない時に聞く人がいないからです。

プログラミングというのはエラーの連続で、そのエラーを1つ1つ潰しながら進んでいく必要があります。

その時に初心者だと全く何を言っているかわからないケースは多く、また基本殆ど世界共通言語の英語で書いてあるので英語ができない人には更に辛くて過酷な道かもしれないです。

挫折経験にならないようにするにはどうすれば良いか、それはプログラミングスクールが良いです。

 

独学でWeb開発を学べない人のために

 

昨今話題のプログラミングスクールに通うことをオススメします。

その中でもPythonを勉強できて良質なスクールはこちらのPythonコースをおすすめします!

特徴としては

  • オンラインで完結
  • 現役のプロのエンジニアがメンターとしてついてくれるので、挫折なく安心して進められる
  • 個人の裁量で進められる
  • オリジナルアプリやサービスの開発までサポートしてくれるので、転職したい人におすすめ
  • 学割がある
  • 転職保証付き
  • 実務レベルで教えてもらえる
  • 無理のないカリキュラム(1週間で10時間でOK)で社会人でなくても勉強できる

となっていて、プログラミングが全くわからない初心者や過去に挫折経験のある方に特にオススメです!

 

 

ただいきなりでは不安という方も多いと思うので、

まずは無料で話も聞くことが出来るので聞いて見て、合うかどうかを確かめてみるのも良いです。

 

 

AIやデータサイエンスを学ぶためには?

 

AIを学びたい人には?

 

これは独学だとまず無理なので、プログラミングスクール一択になります。

こちらのはじめてのAIコースがオススメです。

Pythonコースと同じ会社になりますので、特徴は同じで、

AIの現役エンジニアに学べるのでとてもお得で、非エンジニアの方向けです!

 

 

既に何かしらの言語が書ける場合はAIコースをおすすめします!

最終的にはオリジナルのAIが作れます!

 

 

データサイエンスになりたい人には?

 

昨今需要がかなり上がっているデータサイエンスを目指すにはAI同様独学というのはかなり難しいです。

理由はデータサイエンスというのはそもそもデータが有ってそれを要件に合わせて分析する仕事です。

データがそもそも無いのと、どういう要件かというのを自分で作ってと、、、なかなか技術を身につけるまで長く、それを作るまでに挫折しかねないです。

なのでデータサイエンスを目指したい方はデータサイエンスコースを受けるのをオススメします。

特徴はこちらも同様に現役のデータサイエンスティストにメンターとしてついてもらって、マンツーマンで実践的な勉強ができます。

統計の基礎やPythonで実際にデータ解析するといった実践的な内容のコースになっています。

 

 

まだプログラミングをやるか悩んでいる人へ

 

まだプログラミングをやりたくても踏み出せないという方も多いと思います。

そういうときは実際にプログラミングスクールに体験してみるのが良いです!

自分でも挫折せずに出来るのかを確かめてみましょう!

 

 

まとめ

 

今回は現役エンジニアの視点でPythonを勉強するメリット・デメリットを説明して、

勉強する方法を説明しました。

エンジニアやAIやデータサイエンスは今度もっと急激に需要が伸びていきます。

もしかしたら最低限1言語くらいは出来ないといけないという世界になるかもしれないです。

そうなる前にちゃんと今のうちに教養レベルでも身につけておくと良いです。

最後にエンジニアを生業としたい人向けにツイートしているのでもしよろしければフォローしてくれると嬉しいです。

 

 

 

-初学者からエンジニアになるには?

© 2021 エンジニア副業道場 Powered by AFFINGER5