sailing days

事業開発とキャリア開発が大好きなベンチャー起業家のブログです。

社会人が今からでもプログラミングスクールに通うべき理由【実体験あり】

f:id:neopathos4:20180819153410j:plain

いま、日本ではエンジニア不足が深刻になっている。経済産業省のレポートによれば、IT人材の不足数は2020年に36.9万人、2030年に78.9万人になる見込みだそうだ。

とは言うものの、エンジニアの知識がゼロの状態から、いきなりエンジニアに転身しようとするのは、相当ハードルが高いのではないだろうか。時間という学習コストが高くついてしまうからだ。

何より、インドやベトナムを始め、東南アジアには低コストで優秀なエンジニアがものすごく大勢いるので、彼らとエンジニア人材として競争することは、もはや現実的ではない。

むしろ、いかに国内外の優秀なエンジニアと協業し、プロデューサーとしての視点で新たな付加価値を創っていけるかが、日本のビジネスパーソンにとって、今後より重要になってくるだろう。

そのためにも、日本のビジネスパーソンがエンジニアの素養を身につけることは不可欠だ。

本エントリーでは、エンジニアではない社会人が、年齢問わずエンジニアの素養を学習するべき理由と、おすすめの学習法を、実体験も交えて紹介していきたい。

エンジニア以外の人もプログラミングを学ぶべき3つの理由

f:id:neopathos4:20180819174456j:plain

1. 社内外のエンジニアと、技術的な会話ができるようになるため

実際に細部まで自分でコーディングできなくとも、web/アプリ開発の素養を身につけ、エンジニアに相談や指示出しなどの会話ができるようになることは大事だ。

基本的にエンジニアは、技術を分かっていないのに指示出しする連中(営業・ディレクター)のことを嫌う傾向にある。なぜなら、彼らはコロコロ要件を変更し、無茶振りばかりするからだ。笑

なお、サッカー日本代表の本田圭佑さんも、投資家としての立場から、エンジニアのことを理解するために、ワールドカップ後に1日10時間プログラミングを学習したと話している。

ちなみに、こちらが本田さんのアカウントと思われるgithub。

github.com

何もリポジトリ(コードを格納する場所)がないのに、フォロワーが1,900名もいる笑

エンジニアと共通言語で話せるようになることで、確実にコミュニケーションは円滑になるはずだ。

 

2. 外部委託する際、適切な要件定義やディレクションができるようになるため

webサイトやスマートフォンアプリなどの開発・制作業務を外部委託する場合があるだろう。その際、開発会社から見積もりをもらうと思うが、「会社によってこんなに価格が違うの?」という経験をした方もいるかもしれない。

必ずしも安ければ良いという訳ではないが、あまりにも吹っかけて値付けしてくる会社が存在するのも事実だ。

開発の素養があれば、適正な見積もり価格がどの程度か、ある程度は把握できるようになる。

見積もりを評価する際、エンジニアの素養があれば、「このコーディングでそんなに日数かからないでしょ?」と突っ込めるようになる。

また、こちら側で適切な要件定義およびディレクションができるようになれば、自身が思い描いた成果物を享受することができる。

 

3. 新たなサービスを立ち上げる際、プロトタイプを自分で創れるようになるため

いざ起業する際、必ずしもエンジニアとチームでサービスを創り始めることができない場合もあるだろう。

プロトタイプを創る際、1人でお金をかけずに始められるのであれば、その方が良い(ただし、外注して時間をお金で買うという選択肢は当然あり)。

近年は、「緻密な事業計画書を作る暇があったら、まずはプロトタイプを創ってユーザーの反応を確かめるべし」というリーンスタートアップ的なサービスの創り方が主流だ。

その点、プロトタイプが自身で作れる素養があるという点は、大きなメリットになる。

 

マトリクスで示す、プログラミングの学習手段

それでは、プログラミング初心者がプログラミングを学ぶ際、どのように学習していけば良いだろうか?プログラミングを学ぶ手段を、マトリクスにして整理してみよう。

f:id:neopathos4:20180819034058p:plain

マトリクスの軸は、それぞれ「通学 - 独学」「オンライン - オフライン」だ。

これらの四象限について説明していこう。

 

①オンライン×通学

オンライン×通学の代表例は、Web上で受講するプログラミングスクールだ。 

そして、プログラミング初心者にとって、プログラミングスクールを受講することが、もっとも効率良いプログラミングの学習方法だと、僕は考えている。

理由は3つある。

まず、メンターが技術的な不明点と学習の悩みの相談相手になってくれる。いつでも気軽に相談できる相手がいるというのは、最大のメリットだ。

2つ目に、学習カリキュラムが体系化されていて、最短距離で開発ができるよう設計されている点だ。周辺知識をつけようと思ったら、時間はいくらあっても足りない。

3つ目に、同時期に参加する学習仲間がいるという点だ。あまり接点がないこともあるが、やはり一緒に学習する仲間がいると、自分も頑張ろう!という気になる。

 

僕がおすすめするおすすめのプログラミングスクールは、以下の3つだ。

【WebCamp】

満足度・学習継続率・生徒増加率No.1という点がポイント。プログラミングに精通したメンターが、マンツーマンでレクチャーしてくれるので、自分のペースで学習を進められる点が高く評価されている。

TechAcademy [テックアカデミー]

なんといっても、コンテンツが豊富である点、および講師が現役エンジニアである点が良い。

僕自身も受講した経験があり、また某有名web企業に勤務している友人の敏腕エンジニアは、TechAcademyの現役メンターとして活躍している。

 

【TECH::CAMP(エンジニアスクール)】

卒業生は10,000名以上、実績・知名度は業界最高峰だ。校舎が全国に8つもあり、オフラインでも通いやすい点も魅力的だ。

 

いずれのスクールも無料体験が可能であり、また一定の条件で全額無料返金保証がついている。

費用の目安としては、12〜20万円前後といった価格感だ。短期間で根詰めて頑張ってマスターすれば、その分受講料が少なくなる仕組みになっている。

受講期間は、フルタイムで勤務されている方にとっては、現実的には、2〜3ヶ月間の継続が目安となるだろう。

 

②オンライン×独学

オンライン×独学のジャンルは、主にエンジニアの講師が事前に撮影したレクチャーの動画を、PCやスマートフォンで観るという受講形態だ。

低コストで、手軽に観れるというメリットがある反面、学習の仕方は完全に自分に委ねられるので、まったくのプログラミングの初心者にとっては、ややハードルが高いと言えそうだ。

一通り基礎を理解した上で、補完的に身につけたいスキル・言語のコースを受講するという使い方が効果的ではないかと思う。

代表例は、以下の2つだ。

世界最大級のオンライン学習サイトUdemy

米国シリコンバレー発祥の、学びたい人と教えたい人をつなぐCtoCの学習マーケットプレイス。CtoCと言っても、講師は皆一流であり、プログラミングに関しては当然現役エンジニアがレクチャーしている。

2010年の設立以来、2,000万人の生徒が受講しているそうで、プログラミングだけでなく、ヨガや写真に至るまで、さまざまなコースが開講されている点がユニークだ。

なお、僕は英語の勉強も兼ねて、元Appleのエバンジェリストであるガイ・カワサキ氏の講座を受講したことがある。空き時間にスマートフォンで観れるのはとても便利だ。

価格は、多くの講座が1本1,900円(セール価格)と、お買い得な点も良い。

 

ドットインストール

「3分動画でマスターするプログラミング学習サイト」として、このオンライン×独学でプログラミングを学習するサービスの、日本の草分け的存在。

無料でも閲覧できるが、月額980円のプレミアムサービスに加入すると、ソースコードの閲覧や中級以上の動画の閲覧、動画の速度変更など、さまざまなオプションを享受できるようになる。

 

③オフライン×独学

オフライン×独学のジャンルの代表例は、書籍だ。

最近のプログラミングの書籍は、とても丁寧に解説されているし、一部webでのサポートも兼ねている本もある。

書籍はもっとも身近にあるツールだが、本のみでプログラミングを理解することは、初心者にはおすすめできない。

僕の周りにも、まったくのプログラミング未経験者だった人が、書籍を手元に、完全に独学でプログラミングをマスターし、第一線で活躍している凄腕エンジニアがいるが、それは相当な努力とセンスがなければ、現実的には難しいと言わざるを得ない。

書籍をサポートツールとして手元に置きつつ、まずは相談できる相手をつくることが、エンジニアの素養を身につける近道だと思う。

 

④オフライン×通学

オフライン×通学のジャンルは、英会話のAEONやBerlitzと同様に、実際に校舎に行って受講するタイプのプログラミングスクールだ。

このタイプのプログラミングスクールの特徴として、直接講師に会ってレクチャーを受けられる安心感はあるだろう。ただし、校舎を保有するので、その施設費や間接コスト、および毎回レクチャーを行うことによる人件費がかさむため、受講料はどうしても高くなる点が、デメリットとして挙げられる。

また、都度通わなければならないので、時間の融通がつきづらい点も、継続するハードルになってしまうだろう。

 

プログラミングスクールに行くべき理由と注意点

f:id:neopathos4:20180819171132j:plain

以上、エンジニアではない社会人にとってのプログラミングの学習方法を見てきた。

繰り返しになるが、僕のおすすめは、「①オンライン×通学」のプログラミングスクールに通うことだ。

端的に言えば、この2点が理由だと思っている。

・ゼロから気兼ねなく学べる

知人だと相手の時間をもらっているので、質問するにも気を遣ってしまうが、お金を払ったお客さんの立場であれば、質問してトコトン使い倒してやろうという意識になる

・時間の節約

プログラミングスクールは、初心者の対象にしており、カリキュラムが体系化されている。最終課題はプロトタイプ作成であることが多いので、そのために最短距離で必要十分のスキルを習得できる。

 

プログラミングスクールの注意点

ただし、「①オンライン×通学」のプログラミングスクールで、エンジニアの素養を身につけるためには、注意すべき点もある。

 それは、まとまった時間の投資が不可欠という点だ。

プログラミングが完全初心者向けといっても、多少なりとも知識があった方が、学習コストは減らせるだろう。

実際のところ、まったく知識がない(たとえば、HTMLを書いたことがない)人であれば、かなり根詰めて頑張らないと、2〜3ヶ月といった短期間での習得は難しいだろう。

各プログラミングスクールは、おおむね100時間の確保を推奨している。

スクールの期間中は、平日は仕事の前後に1〜2h/日、休日は少なくとも4〜6h/日を確保できるようにしたい。そうすれば、2ヶ月程度で基礎が身につくイメージだ。

 

僕がTechAcademyを受講した体験談

僕自身は、2016年にTechAcademy [テックアカデミー] のruby on railsを受講した。

主な目的としては、エンジニアと技術の会話、すなわち開発ディレクションができるようになるためだ。また、近い将来、起業することを検討していたので、自分でプロトタプを創れるようになりたかったという背景もある。

期間中はあらゆる場所で、カリキュラムに沿ってコードを書いていたが、途中から会社の業務が多忙になってしまったため、期限内に最終課題の提出はできなかったのが悔やまれる点だ。

それでも、HTML、CSS、ruby on rails、github、Bootstrap、twitterクローンといった基礎的なruby on railsでの開発と、web制作の基礎を身につけることができた。

もちろん、現在の仕事でもとても役立っている。何より、エンジニアに対して心理的な距離感が縮まったことが、プログラミングスクールに通う大きなメリットだと実感している。

 

まとめ

f:id:neopathos4:20180819171414j:plain

プログラミングの基礎は、どんな社会人も学ぶべきであり、それは今からでもまったく遅くはない。

そして、プログラミング未経験もしくは初心者の方が、エンジニアの素養を身につけたいのであれば、プログラミングスクールを受講することをおすすめしたい。

最近の受講形態は、一度スクールに通えば、さまざまなプログラミング言語が学び放題というのが主流なので、とてもお得だと思う(以前は、言語毎に別カリキュラム=別料金だった…とほほ)。 

上記のスクールは、いずれも無料説明会も行っているので、まずはエンジニアの世界に触れてみてはいかがだろうか。