在宅で未経験からWeb習得からエンジニアへの学習ツール・ルートの選び方

学習方法
未経験の人がオンラインで学習できるツールやスクールをつかってエンジニアになろうとする姿を数多く見てきました。
 
最初の頃は講師として、いまはエンジニア側の目線で見ていると、そのやり方はもったいない!と感じることも多くなりました。そこでここらで一回オススメの学習ツールの選び方をまとめていこうと思いますが先に結論をいうとオススメのルートは以下のようになります。

・オススメのルート:受注→開発→販売を得るため
・Progate→ドットインストール→Railsチュートリアルで進めていく。
・無料にこだわらず1,000円前後のツールはどんどん使う

 
多く自分の経験もおおいに入っているのですがご了承ください

エンジニア像を決めて自分が何の仕事を増やしたいのか考える

最初の頃にやりがちなのはできることを増やしていけば仕事になるだろう程度の考えでオススメされるプログラミング言語や学習ツールを選んでしまうことです。ここで1番失敗しています。
 
覚えてできることが増えるのはもちろん良いのですが、覚えたこと以外のことができなくなります。案件受注などでも特にその影響を受けるでしょう。そのため、まずは自分がサービス開発で収益化したいのか、企業とタイアップしたいのか、作ったツールを販売していきたいのかで決めてからの方が無駄も少なく学習できるようになります。
 
ここでオススメしておきたいのは以下の3パターンです。おおまかにわけると受注→開発→販売のルートになります。紹介しているLaraver、Rails、Djangoはフレームワーク(あらかじめパーツができていてコードを組み込むだけでプログラミングできるもの)です。

Laravel:PHPで企業から受注

LaravelはPHPを使ったフレームワークになります。ここで重要なのは日本の企業で採用されている管理システムはPHPが圧倒的に多いです。

PHPがわかっているとコストに応じてWordPressにも振り分けることが可能になるので柔軟性の高い受注仕事ができるようになります。そして、対応しているレンタルサーバーも数多く出揃っているのでサーバーの扱い方を学ぶためのコストも減らすことができます。

未経験から学ぶのであればまずプログラミングの動き方から。PHPはデータベースのSQLとセットで覚えると実戦レベルまで早めにアップできます。

それでは次に自分でサービス開発したいときにつかえる学習方法です。

Railsをつかって自分でサービス開発

Webアプリケーションをつかった自分をサービス運営まで収益化したいというパターンにオススメしたいのはRailsチュートリアルです。

こちらのサイトではTwitterのようなWebアプリケーションと呼ばれるサービスを作るのに向いています。初期のTwitterやクックパッドなどが代表例として紹介されています。

・Gitをつかったバージョン管理
・エラーテストをして実装というプログラミング動作がわかりやすい

Gitをつかったバージョン管理

膨大なテキスト量ですが、ここで学習できることは現場での作業工程をトレースできるというのが大きいです。Gitをつかったバージョン管理などが特にそうで、慣れないうちはミスをしがちですがGitの使い方がわかっていると作業内容を巻き戻せます。

機能を追加したいけどやっぱりいらなくなった・ Git hubで紹介されているコードを導入したい。などでも使えるので覚えておくと損はないです。

エラーテスト→実装というプログラミング動作がわかりやすい

実際のテキストではテストコードを書きながら実装していく学習方法になります。慣れない1周目はチンプンカンプンだと思うので演習問題は飛ばした方がいいかもしれません。

書いてあるコードをそのまま手打ちで書き進めていくと自然と脳と手が覚えていくようになるのでRailsチュートリアルを学習するときは是非手打ちでコピペを使わずに学習するようにしてください。

Djangoでデータ利用する機械学習ツールを販売

最後にDjangoですがPythonのフレームワークになります。海外で人気のあるツールなので英語テキストが多く、これまでは学習コストが高い分野でした。
 
そこがPyQやAidemyなどのサービスがでてくると学習コストが一気に下がったことも関係して日本でも人気が出てくるようになりました。
 
ただ、中級以上向けの分野であることは変わらないかもしれません。データ解析の自動化とか求められるニーズを探すのがまだ難しいですね。
 
個人的には受注、開発まで経験している中で自分が欲しくなったツールを作るというルートで学ぶようにするのが無理なく学習できるタイミングかと思います。

個人的オススメしたい学習ツール

ここまでで用途によって学習方法を変えた方がいいという話をしてきましたが、実際にどの学習ツールを使っていけばいいのかを書いていきます。
 
初学としてはProgate一択なのですが、どういったケースで使っていけばいいのか補足していきます。

初学はProgate一択

初級:プログラムの動き方を学ぶ

Progate

一般的に使われやすいプログラミング言語やツールが揃っているのがProgateです。ここではまずプログラミングがどのように動いて結果がこうなる。というのがわかるようになるのがゴールです。

開発環境のフォローが追加されるようになりましたが、Progate受けたから開発できるようになる人は多くありません。あくまで基礎編という認識が大事です。

実際にサービス開発したいならRailsチュートリアルに引き続き進んだ方がいいでしょう。

ドットインストール

ドットインストールは3分動画で学べるプログラミング学習ツールです。
 
Progateとの差別化はコースの膨大さです。Progateのあとで学習するのであれば開発環境の部分やJavascriptを掘り下げて学習すると良いかと思います。ここはProgateでは掘り下げられない分野です。
 
もし開発まで急ぎで覚えたいという方はVue入門→React入門のJavascriptフレームワークの学習をすると良いです。
 
Vueはシンプルな構造なのでりかいしやすくTodoアプリを作る学習なので使い勝手が多い内容になっています。
 
Reactは開発会社でもよく使われていますし、就職向けにもよいかもしれません。React nativeと組み合わせるとアプリ化もできますので需要としては大きい内容になります。
 
基本を学んでいければ、それぞれの公式ドキュメントをひと通り見ていくと理解も深まります。

中級:エラー解決で自走する方法を学ぶ

基本を習得してから中級になるのですが、間違っても100%理解を目指してはいけません。50%くらい理解したら中級に進みましょう。
 
実際に使う技術はもちろん中級が多く、入れ替わりの激しい分野が中級に集まっているためで基礎がわかっているから中級もわかるというわけではないからです。

何が書いてあるか読めるくらいになったら中級へ

中級ではプログラミングの動きが読めて作れるようになるのが目的になりますが、ここをスムーズに実現するのがRailsチュートリアルです。

Railsチュートリアル

初期のTwitterやクックパッドなどに代表されるSNSを組むのが得意で、ユーザーの双方向のやりとりがシンプルなコードでかけるようになるのがRails(Ruby on Rails)の特徴になります。
 
構造としてもコードが英単語で表記されることも多く、難解な書き方ではないので手を動かしているうちに覚えていけるようになります。
 
RailsチュートリアルでできるようになることはCRUD(Create Read Update Deliteの認識でいいです)、ユーザー間のフォロー機能、ユーザーの有効化、メール認証の作り方、ユーザー登録フォームなどがあります。
 
1周した後はCoffee Cupという同じくRailsを学べる環境がありまして、応用編ではチャット機能の実装をやるので組合せると学びも深まりますし、ひと通りのサービスは作れるようになります。

中上級:実際にサービスを組み立てる

中級までくるといよいよサービスつくったり、提案してみたい案件も増えて来るかと思います。そこで次にオススメしたいことは実際のサービスを真似て作ってみる。です。

Udemy

 Udemyはベネッセの主催する動画講座のサービスです。
 
ここでは主要なプログラミング言語でサービスを作る講座が比較的多く、学習の選択肢が増えるようになります。実際に多いのはWebアプリ作る系でシンプルブログ作る、仮想通貨の自動化など人気のある分野もでています。

AidemyでAIと機械学習に特化

 AIや機械学習がここ数年で人気になってきましたが、個人的には中上級以上が対象かなと考えています。使うシーンがないからです。

あったら便利でつくるのであればいいですが、事業としてしっかりやるのであればニーズが自分で考えられるようになってからで良いです。

そのうえで学習したいとなったらオススメしたいのはいまのところAidemy一択です。理由はシンプルにわかりやすいからですね。

Aidemy

Python言語の学習ができるサービスになります。
 
主要な部分は有料になっているので、分野入門を学ぶ程度なら無料で良いと思います。実際に作りたいサービスが出てきたらチケットで学ぶようになるのかなと。
 
ただ、画像認識ツールがつくりたいならUdemyに Aidemyとして講座がヒュッピンされているのでオススメです。その上で専門的に掘り下げたいならAidemyの本コースを進めれば良いかなと。
 
ブロックチェーンもあるのですが、入門編しか見ていないので実際に作れるようになるかはコース受講して見て判断ですね。入門編だけでも業界のことは理解できますのでみておいて損はないです。
 
個人的にはECサイトなどの販売分野でブロックチェーン技術が導入されるようになると流通経路が革命起こすような気がしています。興味深い分野なので先行投資するには1番です。

初学でWordPressをオススメしない理由

ここまででWordPressの話を出していないのは理由があります。具体的にはこれから書いていくのですが、初見キラーというようにメイン事業にする目的で初学で始めるにはハードルが高いのです。

ベテランが低単価でも仕事ができる

WordPressはCMSとしてシステムの提供がされているので、エンジニアとして制作に携わるのは中身の一部(テーマやカスタマイズ)です。ここは良くも悪くも範囲が狭いので、問題解決の方法はある程度決まってきます。

そこで経験が積んでくると時間単価2万円の仕事などもできるようになるので、それならと単価も下がりやすい傾向にあります。普通にサイト制作をして20万かかる内容が10万円になったりなどです。

これがクラウドソーシングやスキル販売サイトなどで起こっている状況ですので初学者が挑むにはあまりにもハードルが高いのです。

phpの基礎が頭に入りづらい

WordPressはカスタマイズのときにまず、ループ処理やカスタム投稿タイプなどのWordPress独自のコードの書き方を覚えていきます。

その中でWordPress特有のタグでまとまった処理を行なってしまえるので、もともとプログラミング上でどういった動作が起こっているのかが見えづらくなっています。

一般的なcssの改変程度なら良いのですが、本格的なphp改変ができないと案件でもつまづきやすいと悲しい事実もあるのでやはり基礎から固めていったほうが良いです。

コピペ職人になりやすい

WordPressはネット検索すれば、ほとんどの問題が解決できるくらい充実しています。実際にそのまま使えるコードが添付されていることが多いのも裏付けとしてあります。

それをコピペで運用し続けていると、プログラミングは全く理解できません。クライアントによるとすでに実装してしまってたパターンもあるのです。

仕事としてWordPress運用をしたいならコピペ運用は最初からやらないと割り切りましょう。

まとめ:無料の壁を超えていくのが最速

ここまで仕事の内容で入り口を決めたり、学習ツールの使い方について書いてきました。

Progate→ドットインストール→Railsチュートリアルで進めることでエンジニアとしての基礎はしっかり固まります。内容はこれでいいのですが、大事なのは無料ツールでなんとかしようと思わないことです。

情報としては確かに無料でも揃います。しかし、実際に成果をあげるとなると無料提供されている情報の向こう側に答えがあるのです。初級者はヒントだけで答えがわかるなんてまずないので、自分自身もある程度のリスクはおったほうが後悔しない時間の使い方になります。

そこで1,000円前後の投資は全力でやっていくと、確かな前進を感じていけるはずです。

目的が決まってなくてとりあえず覚えてから考えよう、という失敗をする人が一人でも減りますように。