【経験談】プログラミングスクールと職業訓練校、どっちに行くべき？

# 目次
[1.はじめに](#1-はじめに)
[2.プログラミングスクール](#2-プログラミングスクール)
[3.職業訓練校](#3-職業訓練校)
[4.結論](#4-結論)
# 1. はじめに
この記事は、**プログラミング未経験者**だった私が、並行して受講した、プログラミングスクールと職業訓練校の内容と実際の所どうだったのかを考察したものになります。当初、私が学習プランを選択する際、どちらも経験した体験談があまりに少なく困ったことから、**これからどうしようか決めかねている人**の検討材料になれば幸いです。説明のために専門用語が出てきますが、そちらは割愛しますので、ご容赦ください。

この項目【1.はじめに】では、どのようにして並行受講に至ったのかの経緯、イメージしやすいように実際の一日の流れ（平日・休日）を記載しています。

次の項目以降、プログラミングスクール・職業訓練校で手続きの流れ、学習した内容や感想、比較項目リストを挙げています。また、職業訓練校には色々なタイプがありますので、紹介しているのはあくまで**私の受講した訓練校の話**になります。ご了承ください。

### 経緯
プログラミングスキルを身に付け、エンジニアへキャリアチェンジのため、離職しました。職業訓練校は、ちょうど6カ月間の訓練期間の講座があり、人気講座だったため、選考を受けた所、合格しました。

プログラミングスクールは、30代までの転職保障が付いている**TECH CAMP**しか選択肢はなかったので、こちらの**6カ月カリキュラム**の夜間・休日コース(通学プラン)を受講しました。こちらは週1回の時間割学習日(10:00～19:00)と平日の自学自習を合わせた、**週23時間以上の学習時間**が推奨されており、私の場合は、土曜日に時間割学習日を設け、平日は職業訓練校が終わった後、渋谷の教室へ通っていました。

職業訓練校は**平日10:00～16：00**まで、土日祝日はお休みだったので、学習時間に余裕があると考えました。どちらも実施期間が**6カ月間**であること、どちらかが上手くいかなくなったリスクを考え、並行受講を決めました。

### 平日の流れ
    07:00　起床
    08:00　外出
    09:30　職業訓練校　到着
    10:00　授業開始
    16:00　授業終了
    17:00　TECH CAMP 到着(自習開始)
    20:00　自習終了
    21:00　帰宅
    24:00　就寝
### 土曜日(時間割学習日)の流れ
    08:00　起床
    08:30　外出
    09:50　TECH CAMP　到着
    10:00　カリキュラム学習開始
    19:00　カリキュラム学習終了(追加自習開始)
    21:00　自習終了
    22:00　帰宅
    24:00　就寝
※時間割学習日は基本的に土曜日固定にしていましたが、適宜休日内でやり繰りしました
※時間割学習日は基本的に通学していましたが、転職活動や開発段階の時期にはオンライン学習に切り替えていました
    
# 2. プログラミングスクール(TECH CAMP)
## ➀手続き
#### 受講を希望する人は始めに無料カウンセリングを受ける必要があります。
WEBのフォームから予約をします。オンライン相談か、渋谷校での対面相談が選べます。私は通学タイプを希望していたので、教室見学も兼ねて対面相談にしました。無料カウンセリング後、学習開始日を決め、受講料金を支払い、手続きは終了です。

## ➁費用
#### 受講料
プログラミングスクールは他のスクールに比べると、高いと言われているようです。また、TECH CAMPは比較的価格の高いプログラミングスクールになります。
費用面がネックな場合は、まず選択肢に挙がらない可能性があるので、第一に考えるべきポイントです。
また、転職保障コースは専門実践教育訓練給付制度を利用でき、**最大70%が特定の条件をクリアした場合**、訓練終了後に支給されます。

下記、各プランの内容は以下の通りです。

#### TECH CAMP　転職保障コース　プラン内容(2024年1月現在)
※括弧内の金額は、給付制度を利用した場合の金額になります。

##### ⑴オンラインプラン
ⅰ短期集中スタイル　…657,800円(197,340円)　
　学習場所：自宅
　学習期間：10週間、平日10:00～19：00

ⅱ夜間・休日スタイル…877,800円(317,800円)
　学習場所：自宅
　学習期間：半年間、週に１回、任意の曜日10:00～19:00
 
##### ⑵通学プラン
ⅰ短期集中スタイル　…712,800円(213,840円)
　学習場所：TECH CAMP　渋谷アジアビル校
　学習期間：10週間、平日10:00～19：00
 
ⅱ夜間・休日スタイル…932,800円(372,800円)
　学習場所：TECH CAMP　渋谷アジアビル校
　学習期間：半年間、週に１回、任意の曜日10:00～19:00

#### PC
TECH CAMPの教室にはPCがありません。オンラインプランは当然ですが、通学プランの場合でも開発に適したPCを自前で用意する必要があります。(MacかWindowsのどちらか)
macbook airのレンタルもありますが、高いので、用意がない場合は中古品を購入することをお勧めします。

以下、対象スペックです。(2024年1月現在)

##### Windows PC

**必須スペック**
Windows 10 以上（64bit必須）
Intel Core i3 以上 (Celeron/Pentium/Atom/Core 2 Duoは不可）
メモリ4GB以上
デバイス空容量50GB以上
購入年数3年以内

**推奨スペック**
Intel Core i7 以上
メモリ 8GB以上
SSD搭載機種

##### Mac PC

Macbook Air13インチ / メモリ8GB / フラッシュストレージ256GB / 2018年以降モデル

## ➂学習言語、学習環境システム等
#### 言語学習だけでなく、環境構築からリリースまで一気通貫で学習できます
|項目|  名称  |
| :----- | :--------- |
|開発環境・ツール| Visual Studio Code|
|プログラミング言語| Ruby、JavaScript|
|フロントエンド技術| HTML、CSS|
|バックエンド技術| Ruby on Rails|
|データベース| MySQL、DBeaver|
|OS|Windows、Ubuntu|
|バージョン管理|Git、GitHub　　|
|コミュニケーションツール|Slack|
|その他|ChatGPT|

## ➃学習スタイル
#### 完全自習スタイルです。
WEB教材が用意されているので、カリキュラムに沿って学習を進めていく形です。教材は、メインがテキストで、サブで動画説明があるイメージです。教室別室にメンター(講師)が複数人いて、分からないことがあれば都度質問できます。オンラインの場合は、zoom(現在はteams)とリモートコントロールを使用して、メンターとのやり取りになります。

カリキュラム過程で、いくつかのアプリケーションを作成し、後半のカリキュラムでは実際に作成したアプリケーションをデプロイし、クラウドサーバーを経由し、ネット上で**実際に利用できるようにする段階**まで経験できます。私の受講スタイルではなかったのですが、短期通学プランの場合だと、同期の受講生同志で**チームによるアプリ開発**(5名程度)も経験でき、教室内でチームの活発なやり取りも散見されました。大まかカリキュラムの分類は以下の通りです。

##### 基礎
環境構築、HTML・CSS、Ruby(基礎文法)、Ruby on Rails(概要)、アプリ制作➀
##### 応用
アプリ制作➁、Git・GitHub、Rspec(単体・複合テストコード)、アプリ制作➂、
##### 発展
Ruby on Rails(概論)、JavaScript(概要)、アプリ制作➃(JavaScript使用)、デプロイ、アプリ制作➄(課題)
##### 最終課題
アプリ制作➅(課題)

※メインのカリキュラムが終了した後、自立学習にはなりますが、JAVAやPython、Reactといった違う言語やライブラリの他、それに伴ったSpring(フレームワーク)の学習教材もあります
※学習教材はカリキュラム終了後、1年間閲覧可です
## ➃学習者層
#### ヤング:ミドル=7:3
教室を利用しての**完全な私見**ですが…、**20代～30代前半**が多いです。教室では学習期間が10週間の短期コースの受講生が多く、大学生が長期の休みを利用して受講している人もいたり、2、3年社会経験がある人もいました。
もちろん若者だけではなく、私の知っている方では40代の人も通われていました。業界未経験者がほとんどの印象でした。
## ➄転職サポート
転職に向けた充実したカリキュラムと専属のキャリアコンサルティングが付きます。TECH CAMPの場合、親会社が株式会社divということもあり、**人材サービス、ITに精通したキャリアコンサルティング**なので、業界に関する聞きたいことがしっかり聞け、安心感があります。エンジニア転職向けの資料作成方法や転職活動をする上で、企業から評価される活動の指導もあります。

# 3. 職業訓練校
## ➀手続き
#### 窓口はハローワーク、その後については施設側とのやり取り
まずは、ハローワークに行って、職員の人に「職業訓練について」聞いてください。資料一式をもらえるはずです。私の受講した職業訓練は、「離職者等再就職訓練」という、民間のスクールに委託するタイプのものでした。こちらの講座の案内自体は7月3日開始のもので、ハローワークへの願書提出が5月16日締め切りと、**授業開始より1か月半以上前**に応募するものでした。知るタイミングがずれると何カ月も先になる場合もあるので、以下のことを強く勧めます。

##### ➀ハローワークへ行く
##### ➁担当者に話を聞く
##### ➂資料をもらう

私の場合は、離職したのがゴールデンウィーク前ということもあり、各種手続きが伸びてしまい、5月に資料をもらい、応募・面接をし、6月中旬に合格通知をいただき、7月より受講開始という流れでした。人によっては、離職票が前の会社から中々届かず、社会保険資格喪失証明書で仮登録をした人もいたようです。**何事も前倒しで進めることが肝要ですね。**

## ➁費用
#### テキスト代…5,700円(2冊)
PCは、職業訓練校の備え付けのデスクトップを利用しました。
ただし、自宅でも環境構築して、予習・復習したい場合は自宅用PCの用意がいります。

## ➂学習言語、学習環境システム等
#### 
|項目|  名称  |
| :----- | :--------- |
|開発環境・ツール| Eclipse(Pleiades)、TaraPad、ffftp|
|プログラミング言語| Java|
|フロントエンド技術| HTML、CSS|
|バックエンド技術| Java、Apache Tomcat|
|データベース| MySQL|
|ウェブ開発関連| WEBサーバ|
|OS|Windows|

## ➃学習スタイル
#### 講義＋実習＋発表の３段階
カリキュラムは、**学科96時間・実技513時間・就職支援27時間**という形で形成されていました。いわゆる**学校の授業**です。授業は**45分区切り・10分休憩**を挟んで、午前3コマ・午後3コマという感じでした。

ちなみにコロナ禍で授業時間が短縮されてしまったようで、本来ですと、1コマ50分あったそうです。それに合わせて授業内容も削られたとか、残念。公式な内容は以下の通りです。

#### 学科
|科目名|  内容  |
| :----- | :--------- |
キャリアデザイン|Web活用の現状とWeb業界で必要とされる資質
Webシステム概論|安全衛生・インターネット概要・HTML概要
ソフトウェア開発概論|Java言語概要
アルゴリズム|アルゴリズム(フローチャート)の理解
データベース基礎|データベースの基本操作・設計
Webサイトセキュリティ概論|Webサイトに対する攻撃と、それに対する防御方法
#### 実技
|科目名|  内容  |
| :----- | :--------- |
Webページ作成実習|HTML・CSSによるWebページの作成
Javaプログラミング基礎Ⅰ|基本文法・基本構造
Javaプログラミング基礎Ⅱ|オブジェクト指向プログラミング
Webサーバ構築実習|Webサーバインストール、環境確認
JSPプログラミング|JSPを利用したプログラミング
Servletプログラミング|Servletを利用したプログラミング
Webサイトセキュリティ実装|悪意のある利用者に対する防御策を実装したWebサイトの構築
データベース応用|データベースを利用したプログラミング
動的Webサイト制作|要件に沿ったWebサイトの制作と、それに伴う各種定義書の作成
動的Webサイト設計実習|要件に沿ったWebサイトの設計
動的Webサイト構築実習|設計書に沿ったWebサイトの構築、プレゼンテーション
#### 就職支援
|科目名|  内容  |
| :----- | :--------- |
ジョブカードの作成|ジョブカードの作成、ジョブカードを活用したキャリアコンサルティング、能力評価
就職計画|訓練期間中の就職活動の計画を立案
書類作成|自己分析を元に、差別化した履歴書・職務経歴書を作成
面接対策|面接のポイント、ロールプレイ等
企業説明会|企業を招き、企業説明会を実施

#### 学習の流れ
基本的に購入したテキストに沿って進めます。

HTML・CSSはオリジナルテキスト、JAVAは「すっきりわかるJAVA入門(第3版)」、Servlet・JSPに関しては、プリントとPDFデータの配布でした。その他の学習に関してもプリント、もしくは板書で補足していく形でした。
例えば、アルゴリズムは「if・for・while」を組み合わせたバージョンのフローチャートを実際に手で書き、講師に提出し、出来るまで添削してもらうようなこともしました。

HTML・CSSに関しては、テキストの読み上げ、サンプルのコーディング、最後に「自己紹介ページ」をローカル環境で作成し、成果物を受講者で共有し合いました。

JAVA、Servlet・JSPに関しては、テキストの読み上げ、サンプルのコーディング、応用テストの繰り返しでした。

一通りの学習が済むと、講師側の提示する要件定義に沿って、約1カ月半で動的なWebサイトの構築をチーム開発(6名程度)で行い、成果物の発表をしました。

#### チーム開発についての詳細
実際の現場を想定して、事前に用意されたサンプルの要件定義に対して、講師がクライアント役になり、受講者が開発者役にロールプレイし、ウォーターフォールモデルで開発を進めました。

・交渉
・タスクマネジメント
・要件定義
・設計(ワイヤーフレーム・DB設計・デザインカンプ・コーディング)
・テスト
・発表資料作成

※実際のチーム開発では、各チーム学習範囲外のツールも利用していました。
※私たちのチームは、スプレッドシートでタスク管理やスケジュール調整を行い、デザインカンプに関してはfigmaを使用しました。

## ➃学習者層
#### ヤング:ミドル=5:5
若くて第二新卒の人から40代の人もいましたが、20代から30代までが万遍にいる印象でした。社会人経験も多種多様で、前職がIT業界にいた人、元SEの人など経験者もいらっしゃいました。

## ➄転職サポート
#### ランチ交流会や放課後企業説明会を実施
講師の方々の伝手があり、**3カ月に一度のランチ交流会**が開催されていました。内容としては、授業日の昼食時間を転職活動にあてがい、施設内に企業ブースを設け、受講者は自由に訪問する形式です。その後、選考に進むか、企業側と連絡を取り合う感じです。いわゆる転職フェアと同じイメージです。

また、放課後の時間に合わせて、**企業が説明会を不定期で実施**していました。こちらは特に指定日がある訳ではなく、この日にどこそこの企業説明会があるので、参加したい人は連絡くださいという感じです。こちらも説明会参加後に選考に進むか選択する形です。

どちらも職業訓練校は場を提供している立場で、それより先は受講者側にゆだねられています。参加、不参加は自由でした。ただし、全ての職業訓練校が同じように実施している訳ではなく、この職業訓練校はかなり転職サポートに力を入れているようでしたので**特殊な例かも知れません**。この転職サポートで実際に転職を成功させている受講生はいましたので、実施しているかは要チェックです。

#### 国家資格を持った担当コンサルタントがキャリア相談
4名のコンサルタントが各受講者の担当として、相談窓口になっていました。また、カリキュラム内にキャリア相談が組まれており、必ず面談をする必要がありました。**元々IT関連の経験者**が資格を取得し、キャリア相談や書類添削等のアドバイスをされていました。

ただし、エンジニア転職向けというよりは**確実な転職をさせる方向**にベクトルが向いていました。最新の業界の動きにキャッチアップしているように感じることができず、私の場合はあまり役立つ事柄がありませんでした。

# 4. 結論
**（覚悟さえあれば）どちらでも良い・・・**　

極論を言えばそうなんですが、散々書いておいてこれはあんまりなので、どちらも経験した私の立場からいくつかのポイントに絞ってみました。

#### ➀費用
**圧倒的に職業訓練校**でしょう。テキスト代のみですから。また、これは失業給付を受けている人限定になりますが、**学びながら生活費がもらえる**点は、物質的にも、精神的にも助かります。

#### ➁技術習得スピード
**プログラミングスクールに軍配が上がります**。自習式のプログラミングスクールでは、**個人の裁量**に任せられています。進捗が早い人だと、6カ月カリキュラムを3カ月で終了して、残りはオリジナルアプリ制作に充てている人もいました。分からないことがあれば、**すぐメンターに聞ける**のも便利です。一方、職業訓練校の授業形式だと、**習得度の遅い人に合わせがち**になりますし、講師も一人で受講生全員に対応しなくてはいけないので、時間がかかりますよね。

#### ➂習得技術質・量
質に関して言えば、**教材制作専門のスタッフがいるプログラミングスクール**の教材は常にアップグレードしています。一方、職業訓練校は、自前のテキストやプリントに関して言うと、**使いまわし感が否めません**。講師次第でありますが、訂正しなくてはいけない所も抜けている場合もあります。

量に関しても、プログラミングスクールは**課題図書**という形で補足資料があったり、学習が終了した後も**他言語の学習資料**があったりと優位にあります。また、**使用ツールの豊富さも圧倒的**です。チーム開発に必須といってもいいGitHubや便利なフレームワークの使用も特徴的です。

一方、職業訓練校は最低限のシステムとツールの使用で、コードはガシガシ書かせるスタイルでした。プログラミングスクールは**バックエンドの動きの習得に重き**を置いていたので、フロントサイドの用意がされていましたが、職業訓練校の場合はフロントサイドもしっかり書かせるスタイルでした。
そのため、最後のチーム開発では、フレームワークやデザインカンプの作成も行い、**本当の意味で開発の一連の流れを経験した**とも言えます。これはこれで大切なことだと思います。

#### ➃「チーム」開発の経験
**実は、これが一番重要だと思ってます**。プログラミングスキルの獲得からは遠い所にあるのですが、実際、就業後に生きてくるのはこれでしょう。

転職活動を進めていく中で、エンジニアの話を聞くと、職業訓練校やプログラミングスクールで得られるスキル的経験は初歩の初歩で、実務経験に比べると密度が全然違うとのことです。程度で言うと半分弱とのことです。つまり6カ月の学習は現場の3ヵ月未満の経験値ということです。

今、開発現場で足りてないことは**コミュニケーション力**だそうです。特に社会経験の少ない若い人ほど顕著で、実際、私も職業訓練校で若い人ともチームを組みましたが、確かにそう感じました。(その分知識の吸収はめちゃくちゃ早いし、覚えも良いです)まあでも、**あくまで傾向としてそう感じただけ**で、若くてもコミュニケーション能力もあるし、プログラミング能力も半端ない人はいます。その逆も然りです。

話を戻しますが、このチーム開発経験をもって、自分のエンジニア適性を計ることができるのはないでしょうか。もし、今回の職業訓練校の開発経験が積めないカリキュラムだったら、**プログラミングスクール一択**だったかもしれません。

:::note warn
職業訓練校にも色々なスタイルがあります。例えば、学習期間が２か月間しかない場合は講義中心で、開発経験は積めないケースもありますので、注意してください。
:::

#### ➄転職サポート
今回に限ってはどちらもありです。なぜなら、職業訓練校のサポートも良かったからです。ランチ交流会や企業説明会の経験は中々得られません。さらに言うならば、単に企業のことを知るだけでなく、同じ受講生同士の情報交換の場でもあります。皆さん、自分とは違った目線で企業を見ていることを知ることができたのは、とても勉強になりました。

プログラミングスクールは**体系的で洗練されています**。また、条件はありますが、**プログラミングスクール(TECH CAMP)限定の求人**も存在します。スケジュールを立てたり、企業別にアドバイスを受けるなどのきめ細やかなサービスを希望する人にはうってつけと言えます。

### ↓以上を踏まえた上で、場合分けをしてみました。

**a.費用面で余裕があり、かつ平日通学できる場合**

プログラミングスクール一択です。なぜなら、全てが揃っているから。平日で通学スタイルだとチーム開発経験も積めるし、よりよいサービスを受けられます。

**b.年齢が20代、かつ失業給付が受けられる場合**

そもそも20代で覚悟があるのであれば、どちらも行かないで即転職活動してもいいかも知れません。さっさと転職して、実務経験で学んだ方が絶対に良いです。

ただし、条件付きで職業訓練校。学習期間が長期(6カ月～2年)で、開発経験が得られるのであれば、良い社会経験にもなり、給付金ももらえるのでありだと思います。

**c.費用面が厳しい、かつ平日通学ができる場合**

職業訓練校です。学習環境で優位性があるのはプログラミングスクールですが、良い職業訓練校を探せばいい所はあるはずです。あとはタイミングですね。グッドラック。

**d.30代で不安、もしくは時間がない場合**

プログラミングスクールです。効率良く、最短で学習し、転職に繋げるには形振り構ってはいられません。職業訓練校は受講できるタイミングもありますし、受講料分割サービスもあります。

### 以上を持って結論とします。
最後に私の場合はどうだったのかというと、どちらが良かったではなく、**どちらか一方に絞れば良かった**です。プログラミングスクールで得られた知識は、職業訓練校では絶対に得られることはなかった確信がありますし、職業訓練校で出会った人や経験から得られる知識もまた、黙々と自習していたプログラミングスクールでは得ることはできませんでした。なにより違う言語を同時期に学ぶと、頭の中が混乱します。ただし、どちらも受講することで見えてくる事柄もありましたし、こうやって語ることができるので無駄ではなかったと思いたいです。

おわり