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

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

オザック

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

今回は

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

 

この記事でわかることは?

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

 

この記事を読むと

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

 

目次

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

Pythonとは?

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

 

おすすめポイント

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

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

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

 

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

 

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

 

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

 

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

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

 

Pythonで作られているもの: AlphaGo

 

AlphaGo

 

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

 

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

 

元々囲碁は昔から局面での手数が将棋と比べて多く人工知能が人間に勝利するには難しいとされていましたが、

 

その常識を破ってAlphaGoは一躍有名になりました。

 

Pythonで作られているもの: Watoson

 

IBM Watosonとは?

 

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

 

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

 

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

 

Pythonで作られているもの: Dropbox

 

Dropbox

 

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

 

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

 

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

 

Pythonで作られているもの: Discord

 

Discord

 

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

 

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

 

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

 

Pythonを勉強するメリット: プログラミング初心者に優しい言語仕様

 

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

 

参考

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

 

動的型付け言語って?

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

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

 

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

 

Pythonを勉強するメリット: AI(人工知能)でもWeb開発でも使えるので一石二鳥

 

ポイント

先程紹介したようにPythonはAI開発では必須の言語ですが、

Pythonは同時にWebサービスやAPIの開発でも使えるオブジェクト指向言語なので、

AIもWebサービスも開発できるため勉強すると一石二鳥です。

 

また統計解析をする場合でも多くの優秀なライブラリがPythonにはあるので、

 

データサイエンティストを目指す場合もPythonは必須の言語になります。

 

注意ポイント

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

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

 

 

Pythonを勉強するメリット: エンジニア単価が高い

 

言語別年収グラフ

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

 

 

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

 

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

 

Pythonを勉強するデメリット: Pythonは色々な分野で使われるが、それぞれの分野で使われるライブラリも違う

 

Pythonでは先程述べたようにWeb開発、AI開発、統計分析など様々な分野で使われていて、

 

Pythonを覚えるとそれらの分野プログラムを読めることになります。

 

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

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

 

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

 

Pythonを勉強するデメリット: Pythonは実行速度が遅い

 

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

 

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

 

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

 

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つ潰しながら進んでいく必要があります。

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

 

オザック

一度プログラミングで挫折経験のある方や、あまり独学で勧めていくのに自信がないという方は難しいのであまりおすすめできません!

 

 

独学でPythonを勉強出来ない人のために

 

あまり評判の良くないプログラミングスクールもあるため必ずこの記事を読んでからスクールに申し込みしたほうが良いです!

 

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

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

 

 

特徴としては?

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

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

 

Pythonコースに申し込む

 

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

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

 

 

またキャリアに悩んでいる方はこちらの無料でキャリアカウンセリングを受けて見るもの良いです!

 

 

AIやデータサイエンスのためのPythonを勉強するには?

 

Pythonを勉強しAIを学びたい人には?

 

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

 

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

 

オザック
AIの現役エンジニアに学べるのはなかなかないのでお得です!

 

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

 

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

 

 

Pythonを勉強しデータサイエンスになりたい人には?

 

オザック

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

データがそもそも無いのと、どういう要件かというのを自分で作っていかなければならず、そもそも独学は不可能に近いです

 

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

 

オザック
なのでデータサイエンスを目指したい方はテックアカデミーのデータサイエンスを受けるのをオススメします

 

 

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

 

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

 

 

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

 

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

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

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

 

 

まとめ

 

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

 

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

 

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

 

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

 

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

 

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

 

 

 

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

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