プログラミングスクールで99%失敗する方法まとめ【徹底解説】

2018年5月3日

progate-efficient

こんにちは、SE Career NaviのYaemonです。

プログラミングスクールを比較するとき、また何を基準にしてどれを選んだら良いかわからないと不安に思っている人も多いと思います。

実際に管理人も、スタートアップで働く友人がサービスを開発したペアプロのプログラミングスクールを選ぶときに、ちゃんとした成果を出せるか?お金がもったいなくないか?などと考えていましたが、実際にサービスを使ってみた結果、以下のような成果を出せました。

 

そして、このページでは、

▶ プログラミングスクールの選び方で悩んでいる人

を対象に、

▶ プログラミングスクールを利用する悩みと背景

▶ プログラミングスクールでありがちな1つの失敗

について、説明をしていきます。

*失敗しないプログラミングスクールの選び方について知りたい方は次の記事を参考にしてみてください。

 

 


目次

プログラミングスクールで99%失敗する方法まとめ(結論)

まず、結論からお話すると、「プログラミングで問題が出てきた時に、聞けばすぐに答えを聞いてしまう」ということは避けた方が良いです。プログラミングの開発は常に不明なことはドンドン日々でてきます。その中で、問題をどうやって解決するかの方法を身に着けておかないと先々苦労します。プログラミングスクールでは問題解決能力をあげることを意識しましょう!

まずは、プログラミングスクールを利用する全体の背景について説明をしていきます。

 

プログラミングを独学で習得する労力について

programming-school

 

管理人がプログラミングを苦労して独学した話

管理人は経済学部でしたが、Social NetworkというFacebookができたときの映画を見てエンジニアになりたいと思っていたときに、大学の生協でプログラミングのバイトの求人をたまたま見かけて応募をしました。

そのときに、たまたまSNSサイトでその報告をしたところ、今でもはてブでホッテントリ入りする有名なエンジニアの方から、「時給1万円以上になるから絶対頑張ったほうがよい」と言われ、がんばってみることにしました。このバイトが上手く行かなかったら、エンジニアはやめようと思って不退転の決意でアルバイトに望んだのですが、正直苦しかったです。

当時を振り返ってみると、今ではTeratailやStackoverFlowといった質問するサービスやドットインストールなどのサービスが普及していますが、当時は本を読んで、ネットで検索をしてみてという方法しかできませんでした。

Twitterのようなサービスも知らなかったので誰にも聞くことができませんでした。1つ問題を解決したと思ったら、次にまた違う問題が出てきてつまずいてしまう。時間だけが過ぎて焦る焦る。ちょっと時間を置いて、寝たら問題が解決すると思いきや、また同じところではまり焦ってしまうんですよね。向いてないんじゃないかと思うことが何度もありました。

丁度、東日本大震災が来たときに、このシステム開発をしていたので、サーバーが止まったり、計画停電、余震などで集中して作業ができないときもあって、ストレスから風邪を引いてしまい熱が38.4℃あったときも絶対納品しなければいけないと思い、気合で乗り越えました。

そうして、なんとか、2ヶ月間の間で、PHPとMySQLを利用した工場の生産管理システムを納品でき、大学生の初めての仕事で38万円を頂くことができました。正直な話、エンジニア人生の中で1番キツかったです。

 

管理人の友人Aが苦労してプログラミングを独学した話

次に、スタートアップを経営していた友人の話を説明すると、彼は、大学生時代にはプログラミングで苦戦していて、たくさんの勉強会に行って、そこで現役のプログラマーの人と仲良くなって、コードの書き方を教えてもらうといった方法にたどり着いたそうです。彼は努力を人前に出さないが、それに行き着くまでにたくさんの仮説と検証を繰り返していたはずですね。

結局、この友人にしてもプログラミングの初学においては苦戦をしていたため、独学で知識を習得するのに時間をいかに抑えることができるかを常に考えていました。そのため、Codementorというサービスを知るといち早く、自分の会社でサービスを作ってしまおうと考えてローンチしました。

 

管理人の友人Bが苦労してプログラミングを独学した話

次の、管理人の友人のBだが、彼のスペックは以上に高く、某東証一部のWEB系企業にインターンとして入り、そこで能力を認められて就職して、そこから子会社の社長となり500万DLを超える大ヒットのアプリを開発してフリーランサー(会社経営)として独立をすることになりました。

彼からも、インターンをしていたプログラミングの初学においては、めちゃくちゃ苦労したという話を聞いています。自宅からの行きと帰りの電車の中で、毎日、本とノートを持って、毎日がむしゃらにインプットしていました。睡眠時間も3〜4時間ということで、かなり無理をしていました。ですが、彼は叶えたい夢があり、その夢を叶えるためにはお金が必要なため、プログラマーとしての道を志しました。

身近な友人と管理人を例として説明させてもらいましたが、共通点としては、2人ともプログラミングを独習するときは非常に時間と労力を使ってしまうことが分かると思います。

 

 

プログラミングスクールが増えている背景

programming-school-increase

また、プログラミングスクールが増えてきている背景を説明すると、次の3つの理由があります。

プログラミングスクールを作るための周辺技術が発展したこと

技術が発達をして、インターネットができればSkypeのようなビデオチャットシステムを利用でき、githubやbitbucketといったコード共有サービスや、画面共有ツールを使えば、ペアプログラミングを簡単にできるようになりました。

そういったツールの助けもあって、プログラミングを習得するための外部環境が整ってきたため、こういった事業が展開しやすくなったという背景があります。

今までの労力が100だったとすると、今は労力が10で中級レベルに一気にいけるということですね。1つのサービスができるとそこから派生したサービスが出てきますよね。

 

オンライン学習サービスのレアジョブの台頭

オンライン学習サービスというと、英会話のレアジョブやDMM英会話が有名なものとして挙げられますが、このサービスが市場から受け入れられ、成熟していきています。そのため、ネットを利用したオンライン学習サービスの期待値を図りやすくなってきていると言えます。

 

ITエンジニアの需要が増えていること

現状、IT市場のトレンドとして、仮想通貨、VR、AR、IoT、AI(人工知能)、シェアエコノミーといった新しい市場を技術とうまく融合させていくことが企業の存続に大きく左右することになっています。通常のユーザー企業も、優秀なエンジニアを雇いたいという機運が高まっています。そのため、企業の採用活動と連動した、無料のプログラミングスクールが増えてきているんですよね。

IT業界未経験でエンジニアになりたい人と、企業側の優秀なエンジニアを一人でも多く確保したいというニーズをマッチングさせるために、プログラミングスクールがあります。

 

 

海外で有名なオンラインプログラミングスクールについて

codementor

更にプログラミングスクールについて知るために、オンラインプログラミングスクールの先駆けといえるサービスを紹介します。Codementorというサービスになるこのサービスは、シリコンバレーで出来たペアプロのサービスで2016年12月にはシードでありながら、約1.8億円の資本金をVCから調達しています。

日本のオンラインプログラミングスクールは、このサービスを日本式にアレンジして提供しているものと考えて良いです。価格は、15分30$からと割高に思えるかもしれませんが、必要としている人にとっては有用なサービスですね。

以前、私が利用したときは、残念ながら直接的な問題解決には至りませんでしたが、「Aというルートで問題を解決しようとしていたが、実は、Bという方法で問題解決をしたほうがスマートだ」という、大まかな話をしてもらったおかげで、修正する方向性についてサポートしてもらえました。

 

 

プログラミングスクールを使う理由と得られる効果について

skill-up

次に、プログラミングスクールを使う理由と、プログラミングスクールを使うことによる成果について管理人の経験から考察してみたいと思います。

 ▶ 壁にぶつかって先に進めないため回答が知りたい

 ▶ 本は読んだけど次に何をしたらいいか分からない

 ▶ エンジニアになりたいけど未経験からは不安だ

 ▶ つまずいていないが、効率的に勉強がしたい

 

壁にぶつかって先に進めないため回答が知りたい

初心者が壁につまずきやすい点として、環境設定の問題から、オブジェクト指向の概念についてなど様々な問題があります。そのため、個別の問題について答えが知りたいというものがあります。

得られる効果

プログラミングスクールを使う上でこれが一番重要なんですけど、壁にぶつかったときの答えをもらえるところともらえないところがあります。対面型であれば丁寧に説明してもらえますが、オンライン型だと隅々まで説明してもらえないです。

というのも、個別具体的な事象について細かく説明していると時間が足りなくなるので、「どう問題へアプローチすればよいか?」という点でのアドバイスになることが多いです。

 

ドットインストールや本は読んだけど次に何をしたらいいか分からない

プログラミングの学習で重要な点は、適切な課題を設定していくことです。実績を作りたいけど、どう作っていけばいいか分からないという理由でプログラミングスクールを利用する人も多いです。

得られる効果

こういった初歩の初歩をすでに学んでいる人にとっては、自分の実力よりも少し上の課題について、メンターと一緒に実績となるものを作っていくので、プログラミングスクールで実績を作りやすいです。そのため、想像していた結果を出しやすいです。特に、0から1を作るという経験を一度体験しておくと、次に別のサービスを作るのも簡単ですよね。再現性が高いというものです。

 

SE(エンジニア)になりたいけど未経験からは不安だ

次に、エンジニアになりたいが、未経験からでは不安だと感じる人も多いと思います。いきなり、既卒の人が未経験からいきなり現場へ飛び込む前に、システムの勉強をしておきたいという人もいると思います。

管理人の友人だったり、Twitterにいる優秀なエンジニアであれば、いきなり現場に行ったほうが効率が良いと言うのだが、「もともと地頭がよいのと、生存バイアスがある」ので、参考程度に聞いておいた方がよいです。

得られる効果

システムの全体像や実績を詰んでから現場へ入るため、仕事に関して、そこまで負担に感じることがなく現場へ入ることができます。プログラミングスクールで研修したことを、実際の現場でアウトプットしていくことが多くなるため、負担が軽くなります。また、事前にインプットがあると、上司からの指示の背景が分かるため、怒られることも少なくなります。

 

プログラミングでつまずいていないが、効率的に勉強して技術を深めたい

プログラミングスクールを受講する人の中には、とりあえず動くアプリは作れるが、効率的な勉強方法やアプリのブラッシュアップの仕方が知りたいという人もいると思います。

得られる効果

中級者から上級者にステップアップする流れですが、中級者向けにもサービスを展開しているところもあるので、効率的に学習するためのアドバイスだったり、メモリ管理、DBの高速化、通信の高速化、マルチスレッドプログラミングといったアプリの質を高める方法を学習できます。

 

 

プログラミングスクールでありがちな失敗について

failure

 

前置きが長くなりましたが、このページの最も大事な話になるのだが、プログラミングスクールでありがちな失敗は、「壁にぶつかって先に進めないため回答が知りたい」というパターンですね。

繰り返しになりますが、お金を払っているため不明な点も教えてもらえるという学校・塾のようなスタンスで行くと、その場では良いかもしれないが、最終的には他の不明点が出てきたときに何も解決できないという問題がでてきます。

初めは、私もそういうスタンスでだったので分かりますが、そこを理解しないで利用する人は、正直いうと成長しないです。なので、プログラミングスクールは、プログラミング学習において大事な、問題解決能力を鍛える場所というスタンスをもっておいた方が良いです。

そこで、問題解決能力を鍛えておくと、次に別の問題がでてきても自力で対処できるようになります。また、管理人が技術で詰まったときに対処している方法についてまとめているので参考にしてみてください。

 

 

プログラミングスクールを効率的に使う方法について

programming-mokumokukai

 

次に、プログラミングスクールを効率的に使う方法について説明していきます。

ポイントは3つあって、

▶ モチベーション管理(トレーナー)

▶ 問題の整理

▶ 事前の準備

があります。

 

モチベーション管理(トレーナー)

プログラミング学習では、モチベーションを維持して挫折せずに開発をしていくことが必要になります。初心者が1人で開発をしているとざせつしてしまうことがよくあります。そのため、毎日の進捗を報告して、フィードバックをもらえるため毎日前に進んでいると実感することができます。

辛いこと、今悩んでいることでも悩みに乗ってもらえたり、プログラミングでありがちなつまずきやすいところも後ろからサポートしてくれるので、壁を乗り越えやすいです。

 

問題の整理

オンライン型のプログラミングスクールでは、毎日プログラミングをして、夜に寝る前にテキストで困っていることの報告を毎日していくとよいです。その報告をするというアウトプットの中で、現在、問題となっていること、さらに今後どうやって、その問題へアプローチしていくのかを報告するといいです。

例えば、

問題点:Realmのここの使い方が分からない。
解決案:ここを参照しているがどうやら上手くいかない、
    他にどこを参照したらよいかアドバイスが欲しい。

といった形で、個別、具体的なことを相談する前に、大まかなアプローチ方法を学んでいったほうが最終的には効率が良いです。

また、1週間に1回メンターと話すときは、事前に問題点や対応方法へのアプローチを1週間分整理しておくとよいです。そのため、メンターを運動トレーナーと例えるなら、1週間の反省と今後1週間の運動メニューについて話し合うと良いのかもしれない。

更に、効率よくプログラミングスクールを活用するために、もう1つ知っておいてほしいのが、メンターは技術のプロかもしれないが、教えることについては苦手なことがあるため、こちらから率先して問題を整理して問題へのアプローチ方法を聞き出すなどメンター任せにしないことが大事です。メンターは教員ではないんですよね。

 

事前の準備

効率的にプログラミングスクールを利用するためには、できるだけ簡単なところでつまずいてしまわないようにしたいです。そのため、プログラミングスクールを利用する前に習得したいプログラミング言語については、できるだけ自分で進めておくとよいです。例えば、Progateやドットインストールで一通り真似でいいから、利用してプログラミングのやり方を把握しておくと良いです。

更に具体的にアドバイスをすると、変数、定数の宣言方法、配列、ループ処理、クラス、インスタンスの作り方といった基礎的な部分を触っておくと、プログラミングスクールへスムーズに入っていけるだと思いますね。

 

 

プログラミングスクールはライザップと似ている話

rizap*RIZAP公式HPより

プログラミングスクールを利用するうえで、何か似たサービスあるかなと考えたのだが、それはライザップに似ています。特にコンセプトが似ていて、ライザップのコンセプトは、”成果にコミットするというもの“その分、他のダイエットサービスよりも値段が高く設定されています。同じように、プログラミングスクールも”結果を出す”という点に力を入れています!

ライザップの社長が語っていましたが、”ちまたには、ダイエットに関するノウハウがあるがそれを上手く活用できていない、ライザップはそのノウハウを実践させるというノウハウがあるのが強みだ“と語っているわけです。

これは、プログラミングスクールも同じで、”巷には、技術ブログやプログラミングを勉強するための入門書などいたるところにある。だが、その情報をどう組み合わせて効率よくプログラミングを習得するかの指針がない。なので、その指針を作って、一緒に挫折しないように実績を出しましょう“という特徴も似ていますね。

プログラミングスクールの価格については、ライザップのように高く設定されていますが、独学でプログラミングを勉強してきた人からすると、このプログラミングスクールを利用することで短縮できる時間、挫折してしまうリスクを減らす利益を考えると得られるものは値段以上の価値だと思いますね。

具体的には、プログラミング初心者がつまずきやすい環境設定だったり、クラスの概念といった大事な部分を教えてもらえ、大事な技術の習得をサポートしてもらえるからです。この壁は初心者にとっては大きいと思います。

 

 

無料のプログラミングスクールのからくり

free

次に、プログラミングスクールの中のコースにある、無料で教育をして就職支援まで行うというサービスについて説明をします。この背景には、プログラミングスクールを提供する会社と、人材が不足しているWEB系だったり、SIerの企業と提携していて、就職斡旋をするとその分バックアップがもらえるという仕組みがあります。

そのため、会社としても、質の高いエンジニアとして成長させて就職斡旋をすることでバックをもらえるというメリットがあります。もし、プログラミングスクールを利用するなら、こういったエンジニアを成長させる必要がある会社を使ったほうが良いです。というのも、エンジニアに成長してもらわないとお金を稼げないため、会社側も必死になってつまずく所をサポートしたり、受講者がわかるまで教えないといけないからですね。

そういった点では、講義も無料の完全無料プログラミング研修&就活塾のProEngineer 、就職決定時に受講料が返還されるプログラミングのオンラインスクールのCodeCamp 、途中で挫折するとお金が戻ってくるWebCampPRO 成功報酬型の形態だといえます。

ちなみに、個人的なオススメでいうと、(習得できるスキル=Java ✕ 受講形態=通学型)の組み合わせが一番いいと考えています。Javaを習得するとSIerもWEB系にも行けるし、同じオブジェクト指向の言語のためRubyも習得しやすい、またAndroidアプリも作れるようになるからです

その点では、通学型のProEngineer、オンラインスクールのCodeCampでJavaを学ぶと幅が広がります。また、WebCampPROについてはサポート体制がいいように思うが、Rubyを利用しての開発なので、WEB系にしかいかないと決めているのであれば進めたいです。

こういったサービスは資本がある会社が場所代、講師の人件費、テキスト代といった教育にかかるコストを負っているため、利用者側はリスクが小さいことを理解しておいてほしいです。

 

 

プログラミングスクールを利用するか悩んでいる人に向けて

facebook-parse*Facebook日本支社で撮った写真

今プログラミングスクールを利用しようか悩んでいる人は、「価格」、「得られる成果」、「学習についていけるか」などに真剣に悩んでいると思います。でも、もし悩んでいるのだったら、挑戦するほうをオススメします。

管理人も、経済学部でエンジニアのアルバイトに応募するときは不安で一杯でした。ただ、収入面や将来性を考えると、ITの技術はきっと武器になると考えたし、別の分野に進んだとしても、学んだITの技術は、働くうえで必要になるスキルだと考えて挑戦することにしました。バイトではたくさんの壁がありましたが、どうにかして大事な一歩からたくさんのことを学ぶことができました。人間は選択肢があるなかで挑戦しなかったことを、将来後悔してしまう事が多いため、志を高くもって前に進んで行って欲しいです。

*失敗しないプログラミングスクールの選び方について知りたい方は次の記事を参考にしてみてください。

 

 

Pocket