「プログラミングに興味があり、スクールを検討しているけど、スクールがたくさんあってわからない。どこがいいのかおすすめを知りたい。」
そのような疑問に、エンジニア歴20年の筆者がお答えします。
【関連記事】
>> 【転職 第1回】仕事がつらい40代からの未経験職種への転職ロードマップ
>> 【転職 第2回】40代から未経験からエンジニアになる手順
>> 【転職 第3回】面接時に必ず聞かれる質問8選と回答例(前編)
>> 【転職 第4回】面接時に必ず聞かれる質問8選と回答例(後編)
>> 【転職 第5回】自社開発企業転職前に事前に準備しておくべきこと9選【インフラ編】
>> 【転職 番外編】未経験から社内SEになるための手順と必要なスキル
>> 【転職 番外編】社内SE:プログラミング学習のすすめ
>> 【転職 番外編】SES企業は入っちゃダメなのか?
独学と比較して、スクールを選択するメリットとデメリット
メリット
- 情報が豊富
- 挫折しにくい
- スクール終了後の見通しがたつ
詳しくご説明します。
情報が豊富
以下はある会社が調査した、有名なアプリ(ヤフオク)のアーキテクチャ・プログラミング言語・フレームワークについての詳細です。
プログラミング言語 | Swift、Kotlin、Golang、PHP、Python |
インフラ | プライベートクラウド |
Webサーバ | Apache |
APサーバ | Golang |
プロキシ | Apache Traffic Server |
サーバーOS | Linux |
DB・データ | MySQL、Memcached |
CI/CDツール | fastlane、Concourse、Screwdriver |
各種ツール | GitHub、IntelliJ IDEA、Slack、Jira、Confluence、Firebase、Tableau、Fluentd |
上記の調査からもわかるように、プログラミング言語だけでもかなり種類があり、さらにフレームワーク(アプリ開発の土台のようなもの)、インフラまで含めると、多種多様な言語やサービスが使われていることが分かります。
つまり、一言でプログラミングといっても、関連する情報だけで、かなり多いことがお分かりいただけると思います。
また、プログラミンを含めたIT関連情報のはやりすたりが激しく、個人が最新情報をアップデートし続けるのは難しいです。
筆者の場合、IT歴職歴20年で、インフラと呼ばれる、インターネットを接続するための設備や、サーバーと呼ばれる、データを入れておく設備を作ったり、メンテナンスする仕事に関わってきましたが、自分が関わらないアプリの開発などに関しては、業務のなかで意識することはなかなかありませんでした。
このように、業界にいても、学ぶ姿勢がないと、情報量が多く、流れも速いIT業界において、ついていくのは容易ではありません。戦略的にプログラミングを学習していくためには、情報が豊富なプログラミングスクールを選ぶのが、効率的でおすすめかもです。
挫折しにくい
プログラミングの学習は、かなり挫折しやすいです。理由は初学者の方が1から情報収集するには、壁がありすぎるからです。
例えばおすすめの言語。どの言語を学べばどのアプリがつくれるのか、どんな会社に就職できるのか、将来フリーランスになることは可能か、テレワークは可能か、学習中に謎のエラー多発、どーしたらいい?謎だらけだと思います。
メジャーな言語だけでも数十種あるなかで、どの言語を選んでどのように体系立てて学習して、学習コストを支払った先にどのように業務に生かせるのか?
そういった疑問を、学習中に自分で調べるよりも、聞ける環境があったほうが効率的かつスムーズに学習を進めることができ、挫折しにくいと考えます。
現在、多くのプログラミングスクールもトレーナー制を導入し、受講生のいろいろな相談に乗ってくれるため、挫折しにくい環境が整っています。
スクール終了後の見通しがたつ
プログラミングの学習は、地味でコツコツした作業である場合が多いです。そのような学習期間を過ごした先で、自分の作りたいアプリや、サービスの開発にかかわることができます。
しかし、自分がせっかく学習した先で、そのように活躍できるかが想像できない場合、よほどプログラミング自体が好きでなければ、学習モチベーションを維持するのは難しいでしょう。
その点、スクールに入校すれば、卒業生の進路情報があるため、どのような生徒さんが、どのような進路を選んだというような、モデルや学習の成功事例がたくさんあるので、学習の戦術を立てやすいです。
プログラミングスクールに通うデメリット
次に、デメリットというか、コストやリスクについてご紹介しておきます。
プログラミングスクールに通うことで発生するコスト
- 授業料
- 面談などの時間にかかる時間
いうまでもなく授業料がかかります。しかし、卒業後にスクールが提携する就職、転職サービスを活用することで、授業料が実質無料になる場合ありますので、プランをしっかり調べることをおススメします。
時間的なコスト
トレーナーやキャリアアドバイザーとの面談や、通学による時間的なコストがかかる場合があります。
しかし、面談や通学といったコストを払うかわりに、良質な学習環境が手に入るという考えかたもできますので、このあたりはご自身の方向性に沿って選ぶことをおススメします。
授業料という金銭的なコスト、通学や面談といった時間的なコストを抑えたいのであれば、どっとインストールやプロゲートなどの良質な学習ツールが月額1000円程度で利用できます。
また、YouTubeなどで、IT系の良質なコミュニティが1000円ほどで良質な動画を配信していますので、そういったもので、学習を進めることも可能といえば可能です。
リスク
せっかくスクールに入校しても、トレーナーやキャリアアドバイザーと合わない、学習カリキュラムが合わないなどということに、入校してから気づく場合があるかもしれません。
特に、カリキュラムに関しては、本来自分がやりたい言語やサービスをあまり学ぶことができないというリスクが発生してくるので、慎重に検討したほうがよいでしょう。
こういったリスクは、無料カウンセリングで解消できる場合が多いので、スクールを検討している場合は、積極的に無料カウンセリングをうけるのはアリかと思います。
エンジニア歴20年の筆者がおすすめするスクールのポイント3つとその理由
上記のメリットとデメリットを考慮し、筆者がスクールを選ぶ際に重視するポイントは3つです。
- 転職メインよりも教育メインでサポートが手厚い
- フロント/サーバーサイド/インフラを体系的に学べる
- 質問し放題の環境で、学習にフルコミット可能(好きなだけコードが書ける)
では、詳しく見ていきましょう。
スクールのコンセプトが転職メインよりも教育メインでサポートが手厚い
現在エンジニア不足なので、どのスクールも卒業後の転職サービスが受けれる場合が多いですが、筆者はあえて教育に力を入れて、サポートが手厚いスクールをおススメします。
理由は挫折しにくいと考えられるからです。
世の中には、1を聞けば10を知る的な、地頭が良く自習がすごく得意な人が一定数いらっしゃいます。こういった方は
、放っておいてもどんどん知識を吸収して、プログラミングを覚えていきますし、就職もしやすいです。
また、転職という観点で考えれば、華がある経歴、例えば「メガベンチャーでモダンなWEB開発に数年に携わったり」といった方もガンガン転職していくでしょう。
しかし、プログラミングはそのような一部の地頭が良かったり、経歴に華がある人だけが使いこなすものではありません。
しっかりと基礎を身につけ、簡単なプログラムを作ったり、簡単なアプリを作ったりしながら、エラーやバグをつぶしていく中で、誰でもある程度は使いこなせるようになる職業的なスキルです。
つまり、チャンスは平等にありますので、ある程度サポートが手厚い教育に力を入れてくれるスクールでしっかりと学習したほうが、初学者でもしっかりと教育を受けてスキルを身につき、卒業後の進路が拓けやすいと思います。
フロント/サーバーサイド/インフラを体系的に学べる
フロント/サーバーサイド/インフラとはなんでしょう?簡単にご説明します。
フロント/サーバーサイド/インフラについて
フロント | お客さまが実際に目に触れる、WEBのページやそこで動作するプログラム。HTML,CSS,JavaScripit、PHP、Ruby、Javaなどなど |
サーバーサイド | お客様のデータなどを格納したり、格納したデータをWEBページに表示したりする仕組み。SQL、Tomcat、JavaServletなど |
インフラ | フロント、サーバーサイドを動かすための土台。最近はクラウド上で提供する場合が多い(AWS,Azure,LinuxなどのOS) |
かなりざっくりですが、WEBシステムは多くの技術やプログラムで成り立っているということが、少しお分かりいただけると思います。
そのような多種多様なプログラムサービスの中から、自分に最適なプログラミング言語を選ぶとなると、初学者にとってはかなり壁が高いのではないでしょうか。
作りたいアプリなどが明確で、学びたい言語も明確なら独学でもいいでしょうが、まだ自分の方向性が明確でないなら学習の段階で、1つの言語に特化するより、ある程度網羅的に学習してから、自分が特化する言語を決めるという戦略は、かなりメリットが大きいと感じます。
現在市場で要求されている、モダンな開発環境で利用されるWEB系の言語を学びつつ、サーバー系、インフラ系も効率よくまなべれば、かなり、価値のあるエンジニアになれると思います。
筆者の経験談を少しだけお伝えします。
筆者は20年前、独学でJavaの基礎を学び、携帯(ガラケー)向けのアプリを開発してる会社の子会社に就職しました。
しかし、スキル不足&案件ガチャハズレから、Javaの案件には入れず、当時需要があったネットワーク機器の保守をする部署に配属になり、ネットワーク機器の保守員からエンジニアのキャリアをスタートしました。その後、何度か開発へのキャリアチェンジを試みるも、日々の業務に流されてしまったこともあり、開発案件に携わることはありませんでした。
その分、インフラやネットワークの大きな案件で働くこともできたので、全く後悔はしていませんが、のちのちインフラにキャリアチェンジするにしても、開発の目線があればもっとスマートに構築できたのにとか、そういった思いをすることはありました。
また、市場で需要のある言語に早い段階で気づいて、効果的にキャリアチェンジ出来ていれば、もっと効率的にエンジニアとしてキャリアアップ出来ただろうと思います。ですので、もし現在のような学習環境があったとしたら、最初にフロント/サーバーサイド/インフラを体系的に学びたかったと思います。
この経験談で筆者がお伝えしたいのは、初学者の段階でしっかり学習コストを支払い、業界を広く理解し、その中で、自分の求める開発環境に入ったほうが、筆者のように、当初思い描いたキャリアアップをできなかったり、時間を無駄にすることなく、効率的にキャリアアップができますよ、ということです。
質問し放題の環境で、学習にフルコミット可能(好きなだけコードが書ける)
プログラミングはコードと呼ばれる、コンピュータを動かすための命令文を書くことを言います。そして、コードはたくさん書かないとうまく書けるようになりません。
筆者の経験談
若手のころ、先輩が書いたConfig(コンフィグ)とよばれる通信機器の設定ファイルや、シェルスクリプトとよばれる、サーバー上で動く簡易なプログラムなどを必死で模写して書き方を覚えました。
また、うまく動かない場合は、エラーログをみて、何がエラーだったのか確認して、また修正して、コードを書いてました。
この時とても助かったのが、書きあがったコードを先輩に見てもらう、いわゆる「コードレビュー」でした。このおかげで、スマートなコードの書き方や、正規表現など、見やすいコードを書く基礎を学ぶことができました。
このように、エンジニアとして仕事をするためには、どこかでフルコミットして学習する必要があります。
一方、当時、先輩からは、「わからないことをそのまま聞くと教えて君になるので、自分なりに調べてわからなければ聞くように」指導を受けました。
ですが・・初学者の段階では、自分がどこでつまづいているのかが、分からないことが多いです。ですので、調べようがない。
エラーにしても、もはや何のエラーなのか検討がつかない場合が多々あります。環境設定が悪いのか。自分の書いたコードに問題があるのか。などなどです。
そのような初学者誰もがハマるようなエラーとか壁を解消するのに、何時間もかけるのは、若干ナンセンスで、効率が悪いです。誰もが最初にはまるようなエラーや壁は、サクッと聞いて解決して、どんどん学習を先に進めた方が効率的です。
ですので、質問し放題の環境で、学習にフルコミットできるスクールは、ご自身のエンジニアとしてのスキルを磨くのに、最適解かと思います。
エンジニア歴20年の筆者がおすすめのプログラミングスクール
ここまではプログラミングスクールに入校するメリットデメリットと筆者がおすすめするプログラミングスクールの見極めポイントを
お伝えしましたが、おすすめのスクールをご紹介しておきます。
ITエンジニア歴20年の筆者がおすすめするプログラミングスクール
おすすめする理由
- コードレビューを含めたサポートが手厚い(転職メインよりも教育メイン(専属トレーナーとキャリアアドバイザーがつく)
- カリキュラムが良い(フロント/サーバーサイド/インフラを体系的に学べる)
- 質問し放題の環境で、学習にフルコミット可能(期間中は教室とオンラインの両方で週7日、1日11時間以上、質問し放題の環境で学習をすることが可能)
まとめ
本記事では、プログラミングスクールに入校するメリットデメリットと筆者がおすすめするプログラミングスクールの見極めポイントを
お伝えしつつ、おすすめのプログラミングスクールをご紹介しました。
テックキャンプ エンジニア転職(無料カウンセリング)
本記事が、お役に立つことを願っています。