Webエンジニアになるためのプログラミング勉強方法比較。メリットとデメリット
よし、今日から
「Webエンジニアになる!!」 「プログラミングを勉強する!!」
となった場合に、まず最初にやることってなんですかね??
まずAmazonで本を買って勉強を始めるというのも良いと思うのですが、だいたいの人は
「どうやって勉強をしようか?」ということを調べ始めると思います。
そんな方のために、文系学生→SIer→Webエンジニアという経歴をもつ私がプログラミングの勉強方法について書いて行こうと思います。
プログラミングができるとは?
一口にプログラミングができるようになると言っても、プログラミングには多くの要素があるのでどこを目指せば良いのか目標が不明瞭になりがちです。
そこで、私は初心者から最初に目指すべきレベルとして以下が良いと考えています。
一人でWebアプリケーションを構築できる。
転職活動の場で例え未経験であってもこれができれば、実戦経験は少ないけどWebシステム開発の基礎的な知識は身についていると証明できるので、未経験の方はいち早くこのレベルを目指すべきです。
一人でWebアプリケーションを構築するというのは、Webサーバなどのインフラからサーバ、フロント、HTML/CSSなど網羅的な知識が必要とされるので、そこさえできれば未経験から現場に入るための最低限の知識を身につけることができます。
未経験の方や、エンジニアですがこれまであまりコーディングをしてこなかった方は
プログラミングができる = 一人でWebアプリケーションを構築できる
ということを意識して学習して行きましょう。
プログラミングの勉強方法
前の項では、プログラミングができる = 一人でWebアプリケーションを構築できる。としましたが、この記事ではここにより効率よく至るための選択肢を紹介します。
プログラミングの勉強方法は様々ありますが、大きく分けるとこの三つの方法になるのではないでしょうか
- プログラミングスクールで学ぶ
- オンライン動画学習サービスで独学で学ぶ
- 本やネットを使って独学で学ぶ
この中でどの勉強方法が優れているということはそれぞれ勉強に割ける時間やお金などのリソースが違うので、自分にあったものを選ぶということが大切になってきます。
ここでは、勉強方法のメリットとデメリットを表にまとめましてみました
メリット | デメリット | |
---|---|---|
プログラミングスクール |
|
|
動画学習サービス |
|
|
本やネット |
|
|
表では、それぞれの勉強方法のメリット・デメリットをリストアップしていきましたが以降でそれぞれの学習方法についてコメントしていきます。
プログラミングスクールに通う
こんな人にオススメ
- プログラミングの経験がほとんどない社会人・学生の方。
- サクッと集中して効率的にプログラミングを勉強したい人
まず第一の方法がプログラミングスクールに通う方法です。 個人的にはこれからプログラミングを学ぶのであればこちらの方法が一番オススメです。
通うと言っても実際に教室に通うというよりはビデオチャットで現役のエンジニアの方から教わることできる教室が多いので、未経験の方にはぜひこちらの勉強方法をオススメしたいです。
やはり最初に勉強を始める時というのは、右も左もわからずわからないことがわからない状態だったりするので、ちょっとしたことで挫折してしまいがちです。
今後Webエンジニアとしてやっていくのであればネットでの検索や書籍を読んで自分で解決する手段を身につける必要もあります。が、スタートの段階では方向性がずれてしまうと後々気づいてみると自分の望む方と全然違う方向に進んでいたということにもなりかねないので、しっかりと専門家に話を聞いてもらいながら学習の方向性についてサポートをしてもらうということが大切です。
私自身特段誰かに教わる形でプログラミングを学んだことはありませんでしたが、今思うと最初の段階で学習方法や学ぶべき分野というものを教えてもらってそれについて自分の時間を使って理解を深めていくというやり方が一番効率的だったのではと思っています。
練習は嘘つかないって言葉があるけど…頭使って練習しないと普通に嘘つくよ - ダルビッシュ
勢いでダルビッシュの名言を引用してしまいましたが、やり方をまちがえた努力というのは、平気で期待を裏切ります。初心者や経験の浅い段階で正しい方法や習慣を身につけるということはとても大切です。
プログラミングスクールは他の勉強方法に比べて初期投資がでかいというイメージがありますが、中には転職や独立をサポートとしてくれるサービスやスクール経由で転職が決まると授業料が返ってくるサービスもあるので、それを踏まえてセットで割安というように考えてみてはいかがでしょうか?
↓↓↓以下、プログラミングスクールでの学習を選んだ人にオススメのサービスです。
Code Camp | オンライン完結型プログラミング学習サービス
CodeCampはオンライン完結型のプログラミング学習サービスです。
※当サイトのこの記事でも詳細に説明しています。
Code Campの経験豊富な現役エンジニアの講師の方からビデオチャットで直接指導をして頂けるサービスとなっています。
コースとしては、WebマスターコースとというPHPのコースとRubyマスターコースというものがあるようで、それぞれのコースでWebサイトのレイアウトや装飾を作り込みHTML/CSSや動的なWebページを作成するためのJavascript/JQuery、Webサービスに必須のデーターベースであるMysqlなども同時に学べ、Webエンジニアとしての基礎の部分はかなり効率的で確実に網羅できそうです。
また、本腰を入れて望みたい方には2ヶ月集中でエンジニア就職・転職を実現するコースとして、 CodeCamp Gate というサービスも提供していて自分の温度にあったコース選択が可能です。
Tech Academy
TechAcademyもオンラインで完結できるプログラミングスクールになります。
コースに申し込むと週二回のメンターと呼ばれる現役のエンジニアとのカウンセリングを行うことができ、勉強している中で浮かんだ疑問やカリキュラムに関する質問などは、毎日15時〜23時の時間帯でチャットで質問を送ることができます。質問の時間帯にはメンターが回答できるように待機しているので、質問すればすぐに返信してもらえます。
現在提供中のコースも目的別に複数あり、自分の目的にあったコースを受講できます。
- Webアプリケーションコース(Ruby on Rails)
- PHP/Laravelコース
- フロントエンドコース
- WordPressコース
- iPhoneアプリコース
- Androidアプリコース
- Unityコース
- はじめてのプログラミングコース
- Webデザインコース
- UI/UXデザインコース
- Webディレクションコース
- Webマーケティングコース
どうせ転職活動を念頭に勉強を始めるのであれば勉強中に転職活動もできると良いですよね。
オンライン動画学習サービスで学ぶ
こんな人にオススメ
- これまである程度独学や仕事でプログラミングを触ってきた方
- SIer出身でこれまで仕事でPHPやRubyのコードをあまり書いたことのない方
- プログラミング学習塾のレッスン費が高い。。という方
たとえ自宅で学習できてもプログラミングスクールの学費高いし、いきなりはちょっとという方はこちらがオススメです。
こちらの方は本やネットも併用して学習を進めるという形になると思うのですが、オンラインの動画学習サービスはカリキュラムがあり、そのカリキュラムを終えた後に身につく力が明確なので、効率よく勉強が進められれます。
特に動画での学習の場合映像と音声でインプットができて刺激が強いので、本に比べて情報の吸収効率が良いです。動画は再生のスピードが一定なので、本などに比べられて時間あたりの情報量は少なくなりがちですが、ここでオススメするようなサービスでは、動画の再生速度を倍速にして視聴時間を調整できるので情報吸収の効率を保った状態で時間あたりの情報量を増やすことができます。
また、動画ではインストラクターの方の画面が見えて実際の操作や使われているツールが見えるので他の方がどのように開発を進めているのかということが動画からわかります。
この動画学習サービスを利用した学習方法はすでにある程度プログラミングの知識のある方にオススメで、
「これまでJavaやC#のコードは書いてきたけどPHPやRubyなどはちょっと・・」
「SIerにいたけどプログラミングは新人研修の時くらいで、仕事ではほとんどエクセルを触っている。」
という方は、動画でカバーできない細い初歩的な部分は自分の力で超えているけることが多いので動画で効率よくインプットができるでしょう。
↓↓↓以下、動画での学習を選んだ人にオススメのサービスです。
無料オンライン動画学習サービスドットインストール
ドットインストール - 3分動画でマスターする初心者向けプログラミング学習サイトドットインストールは、無料のプログラミング動画学習サービスです。
プログラミング初学者のためのサイトということで多くのサイトで紹介されていたり、私自身もプログラミングを始める時にはこのサイトを紹介されました。
ドットインストールには、無料会員とプレミアム会員というプランがあり、基本的な文法など初級者向けの内容については無料で動画を視聴できます。 そして、その先の中級・上級者向けのページについてはプレミアム会員のみ視聴可能というようなシステムになっています。
プレミアム会員は月々980円で利用できますので、最初の無料の動画を視聴してみて気に入れば申し込んでみても良いと思います。 動画での学習スピードを加速する倍速再生は有料だそうです。
オンライン動画学習サービス Udemy
こちらはシリコンバレー発の動画学習プラットフォームです。
ビジネスやIT技能やスキルを持った個人がコースを開講して、かれらの専門知識を動画で学ぶことができるというサイトになっています。。
世界中で17,000万人ものユーザーがいて、講師の数も20000人以上、コース数も55,000以上の世界規模のサービスです。最近学習サービス大手のベネッセと組んで日本でもサービスを開始し英語のコンテンツもありますが、日本語のコンテンツも充実してきています。
UdemyではWebデザインやプログラミングに関する講座が多く開講されていて、
【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版)
このように1万円以下で、充実したコンテンツも用いて学習できるようになっています。
Udemyでは、一度動画を購入してしまえば、視聴の期間が制限されることなく無制限に購入したコースを視聴できるので何度でも復習が可能です。 もちろん動画の視聴速度も変更できるので、最初は全体のボリュームを確認するために1周目は倍速でみて、2周目から本格的に学習をしていくということも可能です。
購入したコンテンツに不満があれば、返金保証などのサポートなどもあるので安心して受講することができます。
どのようなコースがあるか気になる方は、こちらからご確認できます。
本やネットを使って独学で学ぶ
こんな人にオススメ
- 自分のペースで勉強したい方
- これまである程度独学や仕事でプログラミングを触ってきた方
- お金はないが、時間はあるという方
- 独学力の高い方
これは今回紹介した中では気軽に取り組みやすいですが、一番難易度の高い方法になります。初心者の頃というのはそもそも何が正解で何が間違った方法なのかというのがわからないために初心者なので、独学というのはなかなか大変な選択肢になります。
とりあえずAmazonのレビューの評価の高いものを選んでみるという方法論もありますが、Amazonのレビューはレビュワーの評価なのでその本が自分にあっているかどうかというのを示した指標ではありません。
とりあえず〜入門という本を買ってみたけど意外とレベルが高くて何を言っているのかわからない、情報量に圧倒されて積ん読化などのリスクは大いにあります。
Webエンジニアには自習のスキルが不可欠なので、自習に慣れるという意味では良い方法なのですが最初のうちはすでにエンジニアとして働いている人にどの本を読むべきかアドバイスをもらったりしながら進めていくのがベストです。
全くの未経験にはあまりオススメできる方法ではないですが、すでにSIerでエンジニアとして働いていて全くの未経験ではないという方はこのやり方もありです。
そういう方は本で基礎的な内容を勉強しつつ、実際に自分でアプリを考えてみて開発してみる。開発中にわからないことがあったら都度調べるというような方法を取っていくことで確実にWebアプリケーションを開発していく知識が身についていきます。
つまずいた時は、エンジニアの知人などに聴きながら進めるというのが一番ですが、そういった知り合いのいない方は以下で紹介する質問サービスなどに登録して質問してみると良いと思います。
↓↓↓以下本やネットでの独学に役立つサービスです。
エンジニアのためのQ&Aサイト teratail
本やネットを使って自習していく方にはこちらのteratailで質問をして知識を深めるというのがオススメです。
本やネットの情報というのは万人のために作られていますので、どうしてもそれぞれ困っている部分の問題を解決をするというのには不向きです。ネットでいくら探しても情報が出てこないという時は、このtreratailで質問してみると良いです。
回答率90%越えなので、質問したらほとんどの確率で返答が返ってきます。
未経験者の方ですと、 「わかりづらい質問をしてしまったらどうしよう」 や 「的の外れたよくわからないに質問をしてしまったらどうしようというような不安があるかもしれませんが」
teratailではそんな未経験の方でも意図のわかりやすい質問ができるように質問のテンプレートが用意されていたり、質問する際に初心者マークをつけて回答者に初心者であることを伝えられるなど未経験の方でも安心しして利用できる仕組みが整っています。
まとめ
ここまで3種類の勉強方法を紹介しましたが、いかがでしたでしょうか。
個人的な意見としては未経験であれば有無を言わさずプログラミングスクールに行きましょうというところなのですが、仕事以外の時間を使って勉強するなどそれなりの覚悟が必要ですよね。
自身の経験からわかるのですが、どのような勉強方法を選んでも一番スキルが伸びるのは実際に仕事として現場でプログラムを書いているときです。エンジニアとして一人前になっていくにはなるべく早くここを経験する必要があります。
なので、ここから逆算して現状ではプログラミングスクールに通ってサクッと基礎力を身につけるという戦略を取るのがもっとも賢いでしょう。最近は様々なプログラミングスクールも出てきているので自分のニーズにあったプログラミングスクールに通えれば、必ず将来役に立つスキルが身につくはずです。