Lean Baseball

No Engineering, No Baseball.

本気でプログラミングを覚えるならこの夏はPyQをやりきってみてはどうだろう?

Pythonista(Python使い)の中で有名かつプロフェッショナルが集まる強者集団(株)ビープラウドさん*1が満を持してリリースされたPythonのオンライン学習サービス「PyQ」を試してみました.

pyq.jp

佐藤社長のご厚意で利用アカウントをいただき,実際利用してみました.*2

簡単ではありますが,利用した時のレポートとサービスの感想,「どんな方々にオススメか?」的なレビューを簡単に書きたいと思います.

この夏,プログラミングを覚えたい(特にPython)という方は是非ご一読ください!

で,PyQどうなのよ?

  • 下手な本を読んだり勉強会参加するマンになるぐらいだったら,PyQを一ヶ月集中してやり切ったほうが絶対いい!この夏に(2,980円はお買い得).
  • 学習コンテンツの粒度・写経をベースに覚える思想・操作感が良い(一部改善して欲しいところはあるが)
  • 「実務で通用するレベルに」「90日間でプログラマーに」という価値提案どおりになるかどうかは学習するあなた次第

読んで欲しい方

どれかに当てはまる方,特にゼロからプログラミングを覚えたい方は是非!

  • これからプログラミング, 特にPythonをゼロから覚えたいみなさま(若者・ベテラン限らず)
  • プログラミングの学習(覚える)もしくは教育(教える)の観点で,オンライン学習サービスが気になっているみなさま
  • PyQどうなん?と気になっているPythonistaのみなさま

おしながき

【レビューの前に】レビュアー(私)のプログラミング・Pythonレベル

簡単ではありますが,レビュアー(私)のプログラミング・Pythonレベルを簡単に.

  • Python歴6年,プログラマー歴17年(仕事)
  • 他の言語はJava, Javascript, Ruby, PHPあたりは仕事で使えるレベルまで
  • PythonはWebアプリ,データ分析,Infra as a codeなどなど,思いつく作業ほぼ全てPythonでやってる
  • 上記に加え,勉強会やイベントで発表やアウトプット多数
  • その他,イベントや個別の依頼などでプログラミング(主にPython)を教えています

PyQが想定しているユーザー層には合致しないプロが書いている文章,と思っていただければ幸いですw

が,それなりにプロなので学習するまでのノウハウや勘所についてはそれなりにレビューできるんじゃないかと思っています.

PyQ is 何?

PyQは「本気でプログラミングを学びたいあなた」がお手持ちのPCでブラウザを立ち上げ,ポチポチコードを書きながら覚えていくオンライン学習サービスです.

トップページ(https://pyq.jp/)の記載に従うと,以下の特徴・強みがあるそうです.

※すべてトップページからの引用です(2017/6/22現在)

初心者でも1から

プログラミングを全く知らない初心者の方でもPythonを学べます。

実務で通用するレベルに

書籍などで学べる基本や文法だけでなく製品の作り方、ユニットテストの良い書き方やログの良い書き方など実践的で、中級者向けの内容も学べます。

90日間でプログラマーに

  • 実際の仕事のように、仕様書からプログラムが作れるようになります。
  • フレームワークを利用したWebアプリケーション開発に新人として参加できます。

作りながら学べるので、プログラミングを体で覚えられます

  • 知識だけでない、プログラミングをする実力が身につきます。
  • こんなプログラムを作れると自信を持って証明できます。
  • プログラミングでできることと、不向きなことを理解できます。

実務に近い学習コンテンツと模範解答で、仕事の感覚が掴めます

  • 「プログラミング」という仕事の感覚を掴めます。
  • 仕事で通用するレベルの高い品質のプログラミングを学べます。
  • 初心者向けでなく、中級者向けのより高度な内容も学べます。

PyQを使ってみて

ここからは実際使ってみた感想です.

なお,私は「Pythonはじめの一歩」という初心者向けのクエストを二つほど実施しました.

画面(実際使ってる所)

実際の画面はこちらになります.

左手に問題と解説,写経用のサンプル.

右手にエディタというシンプルな構成です.

f:id:shinyorke:20170622230631p:plain

なお,今のところPCブラウザのみでスマホには対応していません.

が,サービスの特性上キーボードは必須なのでPCとタブレットで使えればまあいいよねという感じがします.

感想(よいところ)

各クエストの始まりが「写経」で,動くものをすぐ体験できる

各クエストの始まりが,「具体的なアプリを写経してつくる」ところからはじまっており,

まずは完成品を真似して作って動かす→安心を得てから少しずつ必要なことを覚える

という流れが一貫しているところがとても良いと思いました.

どうも中級のクエストからは一部違う所もあるっぽいですが(すいませんこの辺まだ試していないです),「なんだずっと書いてばかりで動くもの(成功体験)無いじゃん!」で挫折・離脱するリスクが少ないのは学習する方・サービスを提供する側双方に幸せな作りだなと思いました.

クエスト設問の粒度

「Pythonはじめの一歩」クエストの例で言うと,

  • 完成品を写経する
  • 変数を使う
  • 数値を計算する
  • 変数に代入して使ってみる
  • 変数同士で計算する
  • 完成品を自分で作る

ぐらいの粒度で設問少しずつかつ,多すぎず少なすぎずのいい感じな量で進んでいくのでとてもやりやすいと思いました.

動作が速い・イライラしない

動作はとにかく早く,キビキビしていてストレスが全く無いです.

流石ビープラウドさんのクオリティーといった感じです.

改善して欲しいな,と思ったところ

一方,使ってみて改善して欲しいなあと思う所もいくつか.

実行例外が出たら多分ハマる

私は元から知ってるので問題ないのですが,写経にしくじったり動かすのに失敗した時の例外がまんま実行例外なので,ハマっちゃうんじゃないか?と思いました.

例えばこんな感じ.

f:id:shinyorke:20170622233915p:plain

やってる人はビビると思う&変にググったりすると,「写経で覚えよう」の所から多少外れると思うので,

  • 実行時例外が出た時の追い方
  • よくある例外(例えばSyntaxError)との付き合い方

みたいな解説があるとより優しいのかなと思いました.

まあ,例外の答えを教える必要は無いと思いますが.

もうちょっと詳しい解説が欲しい

写経して,設問とクエストをサクサク進めて…という点ではやりやすくていいなと思いつつ,

  • 設問ごとのテーマ(何を覚えて次に進むのか)
  • 設問の内容についての解説
  • 設問が終わった後に何を得るのか?

が直感的にわかりにくいのはもったいないなあと思いました.

本みたいに細かく書く必要はないと思いますが,個人的にはA Tour of Goくらいの内容があっても良いのかなと思ったり.*3

値段的にどうなん?

ライト(2,980円/月)で体験できるコンテンツは十分過ぎると思います!

大抵の技術書が3,000円前後,一人で読みながら覚えるのと同じ金額・労力でポチポチやりながらDjangoのWebアプリを作るところまで覚えら得るのは相当おいしいと思います.

なお,特定商取引法に基づく表記によると,

お支払済みの料金については、解約時点の残期間につき、日割り計算によりご返金いたします。

とのことなので,

集中して学習して早く終わらせれば更にお買い得,という事になります!*4

PyQでどこまで「プロ」になれるのか?

あくまでも個人的な感想ですが,

  • Pythonを使ったプログラミングとWebプロダクト作り「だけ」を覚えるならPyQ素晴らしい!
  • 「90日間でプログラマーに」は,PyQ以外の努力も必要
  • 本気で「実務に通用するレベル」までなりたい方はメンター(29,800円/月)以上の投資をする or PyQ以外の所で頑張るべき

というのが正直な感想です.

Pythonを使ったプログラミングとWebプロダクト作り「だけ」を覚えるならPyQ素晴らしい!

使用レポートに記載のとおり,クエストや設問の粒度・サクサク進められるプロダクトの素晴らしさも相まって,

  • プログラミングを覚える(中級レベルまで)
  • Webプロダクトを作る

といった基本部分はPyQに2,980円と学ぶ時間とやる気があれば覚えられそうです.

私自身も実際体験して「ああ,15年前くらいにあったら良かったなあ」と思ったくらい,使っていて感動した&クオリティには間違いはないと思いました.

「90日間でプログラマーに」は,PyQ以外の努力も必要

一方,「90日間でプログラマーに」という価値提案については,

ホントに90日間でプログラマーになれるかは本人の努力次第じゃね?

と思いました.

例えばDjangoでアプリの作り方を覚えたとしても,実際のサービスにする場合は,

  • AWSやらGCPやらでServerを準備する
  • ApacheやnginxでWebServerを立てる
  • そういえばデータベースってどうやって(ry
  • その他ドメインとかSSLとかetc…

と,実際のプログラマー(いや,ここまで来るとエンジニアですが)の仕事は多岐に渡るので,PyQで学べる範囲では限界がある(≒90日間じゃ足りない?)と思いました.

本気で「実務に通用するレベル」までなりたい方はメンター(29,800円/月)以上の投資をする or PyQ以外の所で頑張るべき

これは私の想像ですが,

実務で通用するプログラマーを目指すなら,メンターやプレミアムサポートでコミュニケーション取りながらなろうぜ!

というメッセージが隠れているのでは?と思っています.

上記の90日で〜,と同じ文脈ですが,単にPythonとDjangoを覚えただけでプロとは言えませんし,そもそも仕事探しどうするとか,そもそもの実戦経験は!?という話に絶対なるので,

  • PyQで頑張る.メンター(29,800円/月), プレミアム(98,000円/月)に投資してガッツリサポートをもらって成長する*5
  • PyQ以外で頑張る.PyQで得た知識をインターンやバイト,コミュニティの中で鍛えてホントの実践力を鍛える

といったことが必要なんじゃないかと思いました.*6

PyQ後に踏み込むべき世界(プロになりたければ,の話)

PyQというより,私の体験&オススメという形になります.

PyQ以外で頑張る.PyQで得た知識をインターンやバイト,コミュニティの中で鍛えてホントの実践力を鍛える

ここで頑張ろう!と思った方は以下の観点で次のアクションを考えると良いのでは?と思います.

Pythonでプロダクトを作ってるスタートアップ・ベンチャーに週末JOINする

Pythonに限らず,

実務で動くプロダクトを作ってフィードバックもらうならスタートアップが一番かと思います!

エンジニアが1〜2人しかいないベンチャーに週末もしくは夜だけJOINする.

上手く絞ればローリスクハイリターンで良い経験が積めるかと思います.*7

なお,誰でも入れる・出来るわけではないこと*8,この方法は社会人の場合お勤めの会社の副業規則などをしっかりチェックの上,プライベートや体調などに気をつけながらやりましょう.

自分でプロダクトを作ってローンチしてみる

明確なテーマ,作りたいものがある方におすすめです.

月額のサーバー費用とドメインの取得費用,時間があれば可能です.

欲張らなければかかるお金はせいぜい3,000〜5,000円/月くらいなので,十分可能性はあるかと思います.

この方法のメリットは作った暁にはポートフォリオとして残せること,デメリットは継続に必要な努力はプログラミングを覚える以上に大変ということぐらいです.

その他

勉強会やイベントで事例を発表しまくる,スタッフとして参加する…という方法もあります.

が,磨かれるスキルが限定的になること,コミュニティのスタッフ経験は厳密にはポートフォリオには載せられても評価の対象としては実戦経験に劣るので(個人の感想です),自腹を切ってプロダクトを作ったり,お金をもらいながら仕事で経験するのと並行して行うことをオススメします.

結論

色々と書きましたが,

本気でプログラミングを覚えるならこの夏はPyQをやりきってみてはどうだろう?

が一番言いたいことでした!

気になる方は是非PyQでPython覚えてみましょう!

*1:佐藤さんをはじめ,メンバーの皆さまにはホントお世話になっていますし,個人的には憧れのエンジニア集団でもあります.

*2:佐藤さんありがとうございます!

*3:個人的にはA Tour of Goがオンラインのプログラミング教育コンテンツとして最も完成度が高いと思っています.

*4:これは結構大盤振る舞いな設定だと思います.

*5:今回は試していない…というより私に試すようなニーズはないので誰か試してレポートしてほしいな

*6:すべて想像ですが大きく外していない自信だけはある

*7:時間さえ捻出できれば経験とお金,人脈が残るので良いと思うよ?

*8:人手がいないベンチャーでも選考はしっかりやるので誰でも入れるわけではないです&アッサリ入れるところはそれなりにリスクが有ることを覚悟しましょう