がみぶろ

@jumpei_ikegami

Web系に転職したいエンジニアが「N予備校」の「Webアプリ入門」をやるべき5つの理由

しがないラジオパーソナリティのgamiです.

N予備校のプログラミングコースを始めて、 「Webアプリ入門」コースがすごく良かったので、紹介します.

N予備校ってなあに?

www.nnn.ed.nico

ドワンゴが提供するeラーニングサービスです.

主にN高等学校向けに作られているようですが、一般向けにも提供されています.

無料体験もできますが、基本的には月額1,000円を払うと全てのサービスが使えるようになります.

上記URLにアクセスすると、「ネットで志望校へ一直線!」とか出てくるので不安になりますが、高校生の親から主に収益を得ているサービスだと思うので、そこに最適化されているだけです.

N予備校のプログラミングコース

www.nnn.ed.nico

N予備校は主に高校生向けなので、英語とか社会とかの受験科目のコースも当然あります.

ただし、プログラミングコースの力の入れ方がすごいです.

2017年の9月にはてな匿名ダイアリーの記事がバズったので、知っている人も多いかもしれません.

anond.hatelabo.jp

ドワンゴがやっているので、Webアプリケーション開発の講義がメインです.

受講生の中から、普通に「未踏Jr.採択者」とかも輩出しているらしいので、実績も出てきています.

詳しくは、N高等学校 Advent Calendar 2017の1日目の記事で、担当責任者の@sifueさんが説明しています.

qiita.com

「プログラミングしたいけどそもそもつくりたいものが無い生徒に必要なのは、対話でした」など、プログラミング教育論としても非常に良い記事です.

Web系に転職したいエンジニアが「N予備校」の「Webアプリ入門」をやるべき5つの理由

前述のように、一般にはN予備校のコースは高校生向けに作られています.

ただし、実際に「プログラミング入門 Webアプリ」コースを受講してみて、これからWebエンジニアとしてのキャリアを始めようとしている人にとってもすごく良いと思いました.

その理由を5つ捻り出したので、以下に書いていきます.

なお、N予備校の授業は基本的に「動画」と「Web教材(テキスト)」のセットで提供されていますが、私はほぼ後者の「Web教材(テキスト)」しか使ってないので、その点はご了承ください.

1. 前提知識が要らない

世の中の初心者向け技術書の多くは、ある一定の前提知識を要求してきます.

これは、技術書出版業界のセオリーとして、「『入門』という言葉を付けると売上が上がる」という話があるのが1つの原因です.

一方で、N予備校の授業はPCを使ったことがないレベルまで想定して作られています.

例えば、Chromeのインストール方法や、( の入力方法から丁寧に説明されています.

2. Webの知識が網羅的に身につく

「Webエンジニアになるぞ!」となったときに、身につけるべき知識の範囲というのは、結構広いです.

ざっと考えても、以下のようなトピックについて薄っすらとでも知っておく必要があります.

  • Linuxと環境構築
  • シェルプログラミング
  • 通信とネットワーク
  • GitとGitHub
  • サーバーサイド言語1つ
  • HTML/CSS/JavaScript
  • DBとSQL
  • 認証
  • アプリケーション設計
  • Webフレームワーク
  • テスト
  • セキュリティ
  • Hostingサービス
  • CI

それぞれ別個の入門書が出ているようなトピックばかりです.

「Webアプリ入門」コースは、これらを全て網羅した内容になっています. 20冊近い本を積み上げて勉強するよりは、モチベーションが保ちやすいと思います.

3. 手を動かしながら実践的に学べる

N予備校のプログラミング授業では、ほとんど全ての章で実際に手を動かしながら学べるようになっています.

VagrantUbuntuを立てて、エディタでコードを修正して結果を見ながら、問題なければgit commitしていきます.

「概念は知っている」よりも、「実際に手を動かして実装したことがある」の方が、仕事で触るときの心理的なハードルがグッと下がります.

例えば、OAuth2.0の存在は知っていましたが、実際にnpmライブラリを使って実装してみると、もっと身近に感じられました.

4. 比較的モダンな開発環境に慣れることができる

私がSIerのF社でSEをやっていたときは、開発環境がかなりレガシーでした.

そのため、転職後にWebエンジニアになったとき、使っている言語やツールがすべてガラッと変わって、慣れるまで辛かった覚えがあります.

N予備校のプログラミングコースは、以下のような比較的モダンな環境を使うので、実作業の中でそれらに慣れることができて良いと思います.

ちなみに私の前職は、COBOL + サクラエディタ + VSS + その他F社製品でした. エディタとかは宗教戦争ありそうですが、サクラエディタよりはVSCodeの方が圧倒的にWeb開発には向いているしWebエンジニアの間での普及率も高いでしょう.

なお、これらの「モダン」な開発環境も日々廃れていきますが、コース名に「2017年」と書いてあったので、毎年教材の改訂を行なっていくみたいです.

5. GitHubアカウントの見栄えをよくできる

Web系の企業で中途採用選考を受ける場合、GitHubアカウントを見られることが多いです.

もしWeb系への転職を考えていてGitHubアカウントも持っていないような状態であれば、GitHubの見栄えを良くすることは、テクニックの一つとしてはありかなと思います.

N予備校のプログラミング入門コースでは、すべての演習のソースコードがISCライセンスで公開されています.

github.com

教材に沿ってこれらのソースコードを写経して、自分のGitHubリポジトリのmasterにpushしていけば、GitHubに学習の成果が反映されます.

もちろん最初から自分のプロダクトを作れれば一番いいですが、何もしていない人とは差別化できるでしょう.

なお、GitHubのContributionsに草を生やしたい場合、以下の記事とかを参考にするといいかと思います.

qiita.com

教材の通りにやると、多分master-2017ブランチ等にpushすることになるので、草が生えない恐れがあります.

また、ISCライセンスに従って、『「無保証」であることの明記と著作権およびライセンス条文自身の表示』が必要になるので、たぶんREADME.mdとかに書いておけば大丈夫だと思います.

(ライセンス周りは詳しくないので、問題だ!という指摘があれば教えてください)

まとめ

  • これからWebエンジニアになる、なったけど自信がない、という人は、「N予備校」の「Webアプリ入門」をやると最低限の知識と経験が身に付く
  • 特に、SIerなどの文化が違うところからの転職だと、慣れるためにも、「これやりました!」と面接で言うにも、良さそう

プログラミングに限らず、こういったサービスがたくさん出てきて、学習コストがどんどん下がっていくといいですね.