世界最大のオンライン学習プラットフォームのUdemy。そこで今回は、情報科の学生である僕がPythonの人気コースである酒井潤先生の「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル」を受講したので、その感想と、受講する際のポイントを解説していこうと思います。
【Udemy】Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルについて

概要
Udemyの「Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルについて」は、現役のシリコンバレーエンジニアの酒井潤さんという方が講師です。
酒井さんはアメリカのシリコンバレーにあるSplunkという企業に勤めています。
あまり聞きなじみがないかと思いますが、実は社員の平均年収はGoogleやFacebookなどの大企業を上回っているのです(2017年)!
そんな最先端の企業で働いている酒井さんが提供するこちらのコースでは、
- Pythonの環境構築
- Pythonの入門・基礎レベル
- Pythonの応用トピック(株価の予想やインフラ構築自動化など)
を主に扱っています。その他の表面的な情報としては、2020年4月時点の情報で
- レッスン数 : 290
- 講義時間 : 28.5時間
と、内容としてはかなり豊富です。僕はたまにUdemyで様々なコースの情報を見たりしますが、28.5時間の講義はトップクラスに長いと思います。
では次にこのPythonコースの受講でできるようになることを例を用いて解説していきます。
どんなことが出来るようになるか
まずPythonの基礎基本が分かるのは講座名から当然言えることです。基礎編だけで8時間くらいの講座があるのでじっくり取り組むことができます。
また、日本ではどうか分かりませんが、Splunkのようなアメリカの多国籍企業では汚いコードを書くと最悪解雇対象になることもあるんだとか...
「綺麗なコードを書く」ということを意識したコースはそれほど多くないですが、将来複数人で開発をするようになったらもっておいた方が良いスキルなので、それを学べることは非常に大きなポイントです。
3点目の「Pythonの応用を一通りさらうことが出来る」の例として、下の画像のように株価を機械学習で予測すること出来るようになります。

上の画像はAppleの株価です。緑色のところが過去の実際のデータで、オレンジ色のところが予測している部分です。
もちろん株価以外にも色々予測できます。僕はこのブログのアクセス数の予測を行なったりしました。
このような株価の予測などは「データ解析」という分野になります。他にも応用編では
- ロギング
- コンフィグ
- ネットワーク
- Web
- DB
- 並列化
- テスト
- グラフィック
- インフラ自動化
- 暗号化
といった幅広いテーマを扱います。
では、ここから実際にこのコースの感想を良い点と悪い点に分けて述べていこうと思います。

UdemyのPython3入門+応用コースの率直な感想【良い点・悪い点】

良い点
良い点は
- 網羅的に入門から応用まで学べる
- 複数人での開発など、業務を視野に入れている
- 一つ一つのレッスン時間が短い(とっつきやすい)
- コードスタイルの勉強が出来る
です。それぞれ解説していきます。
入門から応用まで一通り学べる(網羅型)
入門から応用まで一通り学べるのはかなり大きな利点です。
なぜかというと、入門、基礎だけの講座だとモチベーションが上がりにくいからです。正直プログラミングの基礎は決して華やかでカッコ良いものではなく、地道な積み重ねです。
そしてそこが最も挫折しやすいポイントです。しかし、本講座は応用編の講義もあるため、それらを覗いたりコードを書いたりしてみて「へ〜、Pythonでこんなことが出来るんだ!」とモチベーションをアップさせることができます。先ほどお見せした株価の予測なんかもその例です。
2つ目の利点としては、「基礎で学んだことを応用編で復習できる」ことです。入門や基礎編を多少流しても、応用編で何回も基本的な事項を使うので、自然と覚えることができるのが良いです。
入門・基礎と応用がセットになったコースは、こういった理由から非常にお勧めできます。また、入門編が終わってわざわざ別の応用のコースをとる必要がなくなる(場合による)ので非常にスムーズに進むことができます。
ただし、応用を幅広く扱っている分、一つ一つについてどんどん深掘りするといったことはしていないです(多分時間的に無理)。
業務としてPythonを使うことを視野に入れている
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル では度々、複数人との開発業務を想定した説明が行われます。
このような解説をしてくれるコースは実際あまりなく、YouTubeとかの英語のチュートリアルとかを見ても「こんなものを作ろう!」で終わりなパターンが殆どです(無料なので仕方ないですが)。
業務を視野に入れてロギングやコンフィグ、コードスタイルについて色々説明してくれるのは就職だけでなく、将来副業やフリーランスとして案件を取りたい人にとってはかなりポイントが高いと思います。
一つ一つのレッスンの時間が短い
講義の合計時間が28.5時間に対してレッスン数が290なので、大体1レッスンあたり6分弱です。
この程度の時間だと、細切れに学習するのも可能になり、「1日10レッスンずつ進めよう」といったことがしやすいです。なぜなら10レッスンでも大体30〜50分くらいしか時間がかからないからです。
レッスンの中身も当然大事ですが、こういった表面的な部分でも講義の受けやすさに関わってきます。
コードスタイルの勉強が出来る
現役のシリコンバレーの社員さんのコードを見るのはやはり非常に勉強になります。
酒井さんのPython入門+応用コースには「コードスタイル」というセクションが設けられ、そこでシリコンバレーの企業がどのようなコードスタイルを採用しているかを詳しく学ぶことができます。
コードスタイルを確立することのメリットは初心者の方にも多くあります。ミスが見つけやすくなったり、コードを読むのが速くなったり... 学習効率を上げるのにも役立ちます。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

惜しかった点
続いて惜しい点に関しては、
- 概念の説明が不十分なところがある
- コードの説明が不十分に思えることがある
- 演習量が少ない+高難易度
といったようなものがあります。
概念の説明が不十分なところがある
例えとして一つ数学の問題を用意しました。(1)、(2)両方解けますか?
関数g(x)がg(x)=3x^2 + 2x - 1である時、(3x^2は3xの二乗のことです)次の値は?
- g(2)
- g(g(g(-1)))
プログラミングには関数という概念があります。(1)が出来た場合は関数の概念は分かっていると思います。
(2)はどうでしょうか。数学ではg(g(x))のようなものを合成関数、プログラミングでは関数内関数などと言います。この概念は非常によく出てきます。もし分からなかったら調べてみてください。(ちなみに答えは(1)が15、(2)が0です)
言葉では「関数の中に関数がある」と簡単に表現できますが、理解するのも同様に簡単とは限りません。
この他にも、for文内for文やクロージャなど、どうしても理系有利な概念が出てくると理解につまづいてしまう人が必ず出てくるのですが、少しここら辺の説明がサラッとしすぎていたように感じました。
また、全体的に概念の説明そのものがない場合もありました。そういった時はコードを書いて実行していくと大体は分かるのですが、最初少し戸惑ってしまいます。
解決策 : ググる(ネットで調べる)
「え、ググるって...結局調べなきゃいけないの? それって講義としてどうなの?」と思う人もいるかもしれませんが、例え何十万という金額を使ってメンターが付いているプログラミングスクールに行ったとしても「ググる」ことが必要な場面は必ず出てきます。
ググることはプログラミング学習をする上で避けては通れない道なので、地道に調べて解決していきましょう。
コードの説明が不十分に思えることがある
概念の時と同様、コードに関する説明も少し不十分だったかなと思うところがありました。
新出のコードに関しても「続いてこういうコードを書いていきます」で最後まで詳しい説明がない場合もしばしば...
ただ、これに関しては概念の時とは異なり、実際にコードを書いて実行してみれば理解できる場合が多いです(とは言っても、こういうスタイルの解説に慣れていない人が多いと思うので、最初は少し戸惑うと思います)。
そういった時は、時間を掛けても良いので書いたコードと実行結果を照らし合わせて理解を深めていきましょう。
直接的にも間接的にも一切理解できないくらい解説されない、ということはむしろ殆どないのでそこは安心できます。
演習量が少ない+高難易度
これも解決は難しくないですが、少し演習量が少ないかなと感じました。Pythonの基礎的な部分を8時間解説し、応用編にいく前に1問演習があるのですが、それだけだと演習量は足りないです。
その1問で基礎的な部分をかなり上手く詰め込んでいる印象を受けたのですが、それが同時に難易度の高さにつながっていと感じました。
もう少し細かく演習を挟んだ方がアウトプットとしては良いのかなと思います...
解決法の一つとしては、酒井さんのYouTubeの動画で演習するという手があります。
下の動画のように、Pythonでいくつかプチ演習+深掘りみたいな形式で解説しているので非常に参考になるかと思います。
あるいは下のようなゲームのチュートリアル動画を見て勉強するのもありですね。
UdemyのPython3入門+応用コースを受けるときのポイント

これまでざっとメリットデメリットを解説していきましたが、次はこのコースを取る際に気をつけた方が良いポイントを解説していきます。
Mac/Windowsなどのコマンドは使えるようになっておく
Pythonを実行する際、Macのターミナル(Windowsでいうコマンドプロンプト)を使う時があります。
そう言ったときにPythonのプログラムを実行する際は
- 自分が今PC上のどこにいるか
- 実行したいプログラムのファイルがPC上のどこにあるか
の2つを把握しておく必要があります。そうでないと、画面と同じ風にコマンドを打っても「ファイルがありません」と表示されます。
例えば、デスクトップにある"python_lesson"の中にある"program.py"を実行したい時は、
- cd
- cd Desktop/python_lesson (ファイルがある場所まで移動)
- python program.py (プログラムを実行)
の順にターミナル(コマンドプロンプト)に打ち込んでみてください。
他にもlsやdirなど、3つ4つコマンドを覚えておくとつっかかる確率は低くなると思います。
新出事項はまとめる
Udemyではセクションという大まかな区切りの中にレッスンという名前で講義が入っています。
演習や自分でプログラムを作る際、「あれ、キーボードで入力する関数ってなんだっけ?」や、「with openってどういう風に使うんだっけ...」といったことは必ず起こると思います。
その時に該当箇所がどのレッスンか分からないと復習に時間がかかってしまい、やる気がだだ下がりしてしまいます。
そこで、講義を受ける際は、必ず新出事項とその役割をまとめましょう。ただ、まとめるといっても、以下のようにざっくりとした感じで大丈夫です。
- (例) レッスン番号〇〇. input : 入力に関する関数
逆にあまり書きすぎると面倒になってしまってやる気が下がるのでお勧めしません。
応用編は全部受ける必要はない
最初に言いましたが、このPythonコースは合計で28.5時間と、かなり長めです。
流石に全部受けていると疲れてしまうので、応用編は自分の目標や興味に合わせて取るのがベストです。
お金を稼ぐのが目標なら、フリーランス案件や就職につながりやすい
- コンフィグ、ロギング
- WEB
- ライブラリ
- データ解析
などの章を取ることをお勧めします。取捨選択をすれば息切れすることなくスキルを習得できます。

UdemyのPython3入門+応用コースを受けた後はどうする?

選択肢1. 酒井先生の他の講座を取る
僕は酒井先生の現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門 も取っています。やはり同じ感じで講義してくれる方が頭に入りやすいですし、解説のクセなども分かってきます。講義の最初に「このコースを取る利点」なども詳しく解説してくれるのが非常に助かります。
また、実行環境も変える必要がないので初心者の方には敷居が低くなると思います。実行環境(IDE、エディタ)によって全く実行方法が異なったりすると中にはつまづく人も出てくると思いますが、その心配はありません。
選択肢2. 用途別に他の方のPython講座を取る
もちろん他の方のPython講座を取るのも一つの手です。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル で学んだ基礎があれば、いきなり他の応用的な講義を取っても問題ないと思います。
選択肢3. フリーランスの案件をとりにいく
中にはこのUdemyの講座を取った後に副業案件を実際に取った人もいるそうです。
もちろん案件をとりにいくのには自分の成果物を作って評価してもらう必要があるので少々時間はかかりますが、業務の自動化、Webスクレイピングなどに注力すれば十分稼ぎにつながると思います。
まとめ : 酒井先生のPython講座はお勧めできる
もちろん、「初心者には向いていない」という声もあり、それらを無視することはできません。
しかし、最初のうちはググりながら検索力をつけ、それを繰り返していくうちに慣れてきます。
他の講座ではなかなか話題にならないコードスタイルのことや、応用編があったりと、コストパフォーマンスはかなり高いと思います。
どうしても慣れなかった場合でも、Udemyでは30日間の返金保証が付いているので安心できますね。
