こんばんは、寒くなってきましたね。 カウモのたっきーです。 前回は「プログラミングができない学生がスタートアップのエンジニアになるための3つのメソッド」というテーマで記事を書きました。スタートアップで活躍できるように頑張ってみようと思ってくれる方が少しでもいたら幸いです。
さて、今回は未経験だけど「自分もプログラミングを学びたい」、「サービスを作ってみたい」、「エンジニアとしてインターンをしてみたい」と考えている方を対象にオススメの勉強法をご紹介したいと思います。 みなさんProgateというサービスはご存知ですか?Progateはオンライン上でプログラミングを学習することのできるWebサービスです。Progateは「まず作る」という点にフォーカスしているため、「エンジニアに向いているかわからない」、「まずは作ってみたい」、「営業の仕事をしているが、エンジニアと円滑なコミュニケーションをとりたい」というような方に特にオススメです。Progateを使った学習と、そうでない学習のメリット・デメリットについて簡単にご紹介するのでぜひ参考にしてみてください。
Progateを使うメリット・デメリット
メリット
- 無料で利用することができる(2015/11/27現在)
- 数枚のスライドでインプット→コードを書いてアウトプットという過程を繰り返すため、要点を押さえた学習とそれによるサービス作りを体感することができる。
- 全てWebブラウザ上で完結するため「プログラミングをやってみたい」という人がつまづきがちな、環境構築をせずに学習が始められる。
デメリット
- Progateだけでプログラミングの全てを学べるわけではない(より複雑なサービスや高度な実装が必要な場合は別途書籍等で知識を深める必要があると思います。)
- Webブラウザ上で完結し、環境構築が要らないが故に「オリジナルのサービスを自分で作ってみたい」という場合、環境構築が必要になりそのためのコンテンツは用意されていない。(2015/11/27現在)
書籍等を使うメリット・デメリット
メリット
- プログラミング学習コンテンツやプログラミングスクールでは触れない細かい技術や知識についても学習することができる。(これによる恩恵は様々あります)
デメリット
- 書籍が高い(一冊2000円〜4000円ほどでサービス作りに必要な技術分、書籍を揃えようと思うと数万円は確実です)
- どの書籍が最適かよくわからない
- 専門用語が多い
- 「webサービスを作ってみたい」というような人にとっては書籍の細かい知識・技術がどうwebサービス作りに関わってくるのかが想像しづらい
こう見るとProgateが圧倒的に優れてみえますね。笑
しかし、あくまでまず作ってみたいという人にとってのメリット・デメリットなので、逆にエンジニアとして仕事をしたいという人は必ず書籍を用いた学習をする必要があると考えています。ただそういう人でもProgateで作りながら書籍で細かい部分を補強するという学習は1つの方法としてアリだと思います。
カウモでも普段マーケターやメディアの編集を行っている人が何名かProgateを利用していますが、皆継続して学習を進めることができているようです。実際に今回インターン生1人に対してProgateを教材として学習を進めてもらいサービス作りにジョインしてもらったのでご紹介したいと思います。
カウモで行ったプログラミング学習フロー
対象者
大学でjavaを少し経験
コミット量
平日夕方 ~ 19:00
1week html, css, ruby, DB ( Progate 1 ~ 2周 基礎・応用 )
2week rails ( Progate 1周 初級~上級, 習熟度によって中級までを2 ~ 3周 )
3week rails ( Progate上級・ローカルで開発、gitでバージョン管理 )
4week 適当な要件に沿ったアプリケーション開発
教材としてはほぼProgateを利用しました。ただしRailsでアプリケーション開発を行うにあたって必ず使うActiveRecordについてはMySQLの知識もあった方が良いと考え、ドットインストールを利用しました。(弊社で採用しているデータストアがMySQLだったので今回はMySQLにしました。)更に、ローカルでの開発ではパーフェクトRuby on Railsを用い、第6章にある「イベント管理アプリケーション」をgitでバージョン管理をしながら作成してもらいました。
結果として、サービス作りに必要と思われる基礎は身につけられ、現在インターン生3名で社内で使用するアプリケーション開発をDB・モデル設計から取り組んでもらっています。
語弊を生むといけないので断っておきますと、たった1ヶ月で1人前のなったというわけではありません。エンジニアとして仕事をしていくとなれば前述した通り、書籍等も用いてしっかりとした知識をつける必要があると考えています。しかし、Progateを利用することでより早くサービス開発の流れを掴むことには成功したのではないかと考えています。
最後にプログラミング学習にとても有意義と考えるリンクをご紹介するのでぜひご覧になってみてください。
www.slideshare.net
www.slideshare.net
その他にもオススメしたいエントリーや、サイトはありますが数が多いので割愛させて頂きます。自分でググって必要な情報にたどり着く能力もとても大切ですよ!