IT系専門学校の薦め・大学とプログラミングスクールとの比較のお話

# はじめに

専門学校ってそんなことするんだ。と驚かれることが多いので皆さんにご紹介しようと思います。専門学校の紹介に加え、大学・専門学校・プログラミングスクールどれを選択すれば良いのかについても考察してみようと思います。

少し長い記事なので、どちらか興味ある方だけでも読んでみてください
・[専門学校の授業内容](https://qiita.com/ROPITAL/items/6e167d83051973e11d5d#%E5%B0%82%E9%96%80%E5%AD%A6%E6%A0%A1%E3%81%AE%E6%8E%88%E6%A5%AD%E5%86%85%E5%AE%B9)
・[専門学校に通う価値があるのか](https://qiita.com/ROPITAL/items/6e167d83051973e11d5d#%E5%B0%82%E9%96%80%E5%AD%A6%E6%A0%A1%E3%81%AB%E9%80%9A%E3%81%86%E4%BE%A1%E5%80%A4%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B)

まずは、僕が通っている専門学校の授業内容についてご紹介します。

# 専門学校の授業内容

まず、僕が通っている専門学校には複数のコースがあり、僕はプログラマになるための2年制コースに通っています。他には、システムエンジニアになるためのコースやネットワークエンジニアになるためのコースなども存在します。

僕が通っている学校のコースには以下のような授業があります。

- 基本情報技術者試験・応用情報技術者試験
  - ハードウェア基礎・応用
  - ソフトウェア基礎・応用
  - 情報処理演習
- 高度資格対策
- データベース実習
- ネットワーク実習
- システム開発
- プログラミング
- Webプログラミング
- OS実習

パッとみてわかる通り、全てがエンジニアリングに関係する授業です。それでは一つ一つ紹介していきます。

## 資格対策

資格対策は基本情報技術者試験と応用情報技術者試験があります。

上記の
・ハードウェア基礎・応用
・ソフトウェア基礎・応用
・情報処理演習

については全て資格試験のための授業です。ITワールドやIT戦略といった書籍をやっていき、その後に過去問演習のような形式で進んでいきます。基本情報や応用情報はセキュリティやネットワーク、外部設計・内部設計の考え方、DB設計など幅広く学ぶことができると思うので、かなりおすすめです。

## 高度資格対策

ネットワークスペシャリストやデータベーススペシャリスト、情報処理安全確保支援士(セキュリティ)などの資格対策です。以下の画像のピンク色の部分です。


> ![taikei.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/59307012-5b09-258e-235b-f02e07895a0f.png)
[IPA 試験区分一覧](https://www.jitec.ipa.go.jp/1_11seido/seido_gaiyo.html)より引用

本来は応用情報に合格したら受けられますが、応用情報が10月に実施され、次の学年まで期間があるため応用情報試験後に自己採点し、午前試験が合格していれば全体の結果が出るまで授業を受けられます。

この記事の執筆時期が応用情報試験直後のためどのような教材を使うのかわからないため、わかり次第追記します（多分忘れてます。すみません🙏）

## データベース実習

データベース実習では、1年次にSQL文の基本(MySQL)を学びます。[SQL書き方ドリル](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E7%AC%AC3%E7%89%88-%E3%81%99%E3%82%89%E3%81%99%E3%82%89%E3%81%A8%E6%89%8B%E3%81%8C%E5%8B%95%E3%81%8F%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8B-SQL%E6%9B%B8%E3%81%8D%E6%96%B9%E3%83%89%E3%83%AA%E3%83%AB-PRESS-plus/dp/4774180661/ref=pd_bxgy_img_2/355-8989083-0924614?_encoding=UTF8&pd_rd_i=4774180661&pd_rd_r=8b0eb424-dc43-4dc5-b953-a9570cd879a5&pd_rd_w=p9XSt&pd_rd_wg=UKtgn&pf_rd_p=e64b0a81-ca1b-4802-bd2c-a4b65bccc76e&pf_rd_r=YP3NTN8VDG1Q8SN606E0&psc=1&refRID=YP3NTN8VDG1Q8SN606E0)というのを使ってひたすら演習をしました。正直DBの授業に関してはほとんど独学でできるのと簡単だったので結構暇でした笑

2年次は[これからはじめる MySQL入門](https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-MySQL%E5%85%A5%E9%96%80-%E5%B0%8F%E7%AC%A0%E5%8E%9F-%E7%A8%AE%E9%AB%98-ebook/dp/B07D7LF7KG/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=MySQL+%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B&qid=1602683505&s=books&sr=1-1)と[やさしく学べるMySQL運用・管理入門](https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E5%AD%A6%E3%81%B9%E3%82%8BMySQL%E9%81%8B%E7%94%A8%E3%83%BB%E7%AE%A1%E7%90%86%E5%85%A5%E9%96%80%E3%80%905-7%E5%AF%BE%E5%BF%9C%E3%80%91-%E6%A2%B6%E5%B1%B1-%E9%9A%86%E8%BC%94-ebook/dp/B01N0R2BL2/ref=sr_1_12?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=MySQL+%E5%85%A5%E9%96%80&qid=1602683443&s=books&sr=1-12)を使用して学習を進めています。
![51WkBUnLNLL._SX260_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/ef211903-6644-ab17-b6e5-969bc744a313.jpeg)
これからはじめる 「MySQL入門は1年次と同じような感じだったのでめちゃくちゃ暇だったのでReactやGraphQLの勉強をしていました。そして最近「やさしく学べるMySQL運用・管理入門」に入りました。この書籍に関しては、とても面白そうでワクワクしてます。MySQLサーバアーキテクチャ(キャッシュやストレージエンジン)、高可用性の実現方法、パフォーマンスチューニングなどが学べるみたいです。

## ネットワーク実習

ネットワークの授業では、Ciscoのパケットトレーサーというソフトウェアを使って、ネットワーク構成などの勉強をしました。具体的にはOSI参照モデルやVLSM、CIDRの勉強や、DNSサーバ、Webサーバの構築などをしました。

教科書には[CCENT/CCNA Routing & Switching](https://www.amazon.co.jp/dp/4844381520/ref=cm_sw_r_cp_api_fab_2-6HFb80TJJPD)と[CentOS 7で作るネットワークサーバ構築ガイド ](https://www.amazon.co.jp/dp/B07KY14CB8/ref=cm_sw_r_cp_api_4h7HFbYST7MXZ)使っていました。
![ダウンロード.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/b4604fe4-397a-f413-a92d-ddf9f373fe24.jpeg)
どちらも非常に分厚いですが、勿論全てやったわけではなく、どちらも半分くらいだったと思います。

## プログラミング

プログラミングはJava言語を学習します。1年次は[やさしいJava](https://www.amazon.co.jp/dp/4815600848/ref=cm_sw_r_cp_api_fab_Jl7HFbCJECMTY)を教科書として使用していました。とはいっても時々参照するくらいであまり使わず、Paizaのスキルチェックや先生の練習問題、シューティングゲームの開発、JavaFXを使った電卓の開発などをしました。何かしら開発してたり、練習問題を解いてる時はとても楽しかった記憶があります。
![ダウンロード (1).jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/e5238950-1187-a054-c185-0d42d37b6bf0.jpeg)
2年次は、先生が作った教材を進めていきます。1年次に使ったじ「やさしいJava」はJava8少しかじったくらいまでしか載っていなくて、本当に基礎の基礎なので、Java8以降の文法をしっかりと学ぶ必要があります。

Javaは言語仕様が膨大で、コーディング時にアルゴリズムを考える必要がほとんどなくなりますが、その膨大な言語仕様を大まかに覚える必要があります。ですので、2年次にはそのための授業を進めています。

そして、この授業では途中からSE育成コースとプログラマ育成コースがチームになり、共同開発をしていきます。そして、後に紹介するシステム開発の授業もその一貫です。

## システム開発

この授業はSEのための授業ですが、プログラマも勿論必要なので必須で受けます。

大まかにいえば、ソフトウェアエンジニアリングを学ぶための授業で、具体的には、開発手法やUMLの書き方などを学びます。教科書には[ずっと受けたかったソフトウェアエンジニアリングの新人研修](https://www.amazon.co.jp/dp/4815600848/ref=cm_sw_r_cp_api_fab_Jl7HFbCJECMTY)を使用しています。

前述したとおり、この授業も共同開発の一貫になります。ソフトウェアエンジニアリングを学んだ後、共同開発が始まります。

流れとしては、要件定義→レビュー→外部設計(ER図・画面設計・DFD)→レビュー→内部設計→レビュー→コーディングという流れになります。学校にしてはかなり本格的に開発を進められると思うので、勉強になっています。

## Webプログラミング

Webプログラミングでは、JavaServletとJSPを用いた開発をします。教科書には[スッキリわかるサーブレット&JSP入門](https://www.amazon.co.jp/dp/4295005940/ref=cm_sw_r_cp_api_fab_6O7HFb43EBTAR)を使用します。
![51eHmbjUjjL._SX350_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/245d54d3-f5b5-548b-f65b-b310a9749f6a.jpeg)
この授業は、正直自分で教科書を読めばできるかなと思います。僕はWebが主に個人で学習している領域ですが、少し理解を深めることができました。

ですが基本的には知っていることばかりだったのでJSPとサーブレットのメソッドや文法を調べながら言われたものを開発する感じです。よく暇になるので応用情報の過去問や友達と物件探ししてます

## OS実習

OS実習は、1年次のネットワーク実習の続きのような感じで、nmcliを用いたネットワーク構築・DNS, DHCPサーバの構築などをしています。

Linux OSの授業ですが主に前述したようなネットワーク構築をします。その中で、時々スクリプトを書いたりもしました。教科書には[Linux教科書LPIC レベル1](https://www.amazon.co.jp/Linux%E6%95%99%E7%A7%91%E6%9B%B8-LPIC%E3%83%AC%E3%83%99%E3%83%AB1-Version5-0%E5%AF%BE%E5%BF%9C-%E4%B8%AD%E5%B3%B6-%E8%83%BD%E5%92%8C/dp/4798160490/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=lpic&qid=1602919340&sr=8-1)を用いて進めます。適切なレベルのネットワーク構築の例題を授業で出してくれるので良い勉強になると思います。


授業内容としては以上のような感じになります。

## 課題について

課題に関してはJavaの授業を除き出されたことはありません。Javaの授業でも課題が出始めたのは2年からで、少し大きめの課題がかなりスローペースで出されるのでかなり余裕があります。

1年次に基礎を身につけておけば速攻で終わるような内容ですが、この課題はチームでこなすものとなるため、育成ややる気にさせるのがものすごく大変です。

# 専門学校に通う価値があるのか

## 授業内容からの考察
最善の選択かはわかりませんが、僕的には通う価値は十分あると思います。しかし、もし専門学校に入るとIT以外のことは全くやらないのでなんとなくで入学すると痛い目を見ることになると思います。逆に言えば、IT系の仕事に就きたいと思っている方は入学するのはかなり良い選択肢の一つであると思います。

ただ、IT系の仕事と言ってもたくさんあるため注意が必要です。大まかに以下のようなものがあります。
・アプリケーション
・インフラ
・ゲーム
・データサイエンティスト
・ブロックチェーン


アプリケーションとインフラエンジニア、ゲーム（ゲーム系のコースがあれば）を目指す方は、僕が通っている系統の専門学校に通うのは選択肢にいれると良いかもしれません。ただ、その専門学校の授業内容によるので近辺の専門学校を少し詳しくみてみると良いかもしれません。

その他についても特化した専門学校のコースがあるかもしれませんが、大学・大学院という選択肢が良いのではないのかと思います（詳しくはわからないので調べてみてください）。

## 金銭面からの考察

国立大学は4年で計200万円くらい
専門学校は2年で計200万円くらい

それぞれどの選択肢を選ぶかは職業や個人の能力や性格、そして重要ななぜ働くのか・どのようなワークスタイルで働きたいかによってかなり違うと思うのでその部分について考察していきます。

### 大学
![publicdomainq-0013150bnn.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479095/eb4166ef-049f-90c5-5ca1-d548f9cb0c16.jpeg)
まず、新卒で大企業に就職したいならば大学を選択することをおすすめします。大手SIerやWeb系、特に外資系ならばレベルの高い大学、できれば東大・京大・早慶あたりへ入学するのが無難かなと思います。大手SIerはそんなにレベルの高い大学でなくても入れるイメージはありますが、実態はわかりません。

大手の場合、最近リモートワークが増えているとはいえワークスタイルとしてはオフィスで働くことが多くなるのではと思います。特にSIerでリモートワーク可のところは友達にはいませんでした。大手という選択はオフィスで働きながら無難に高収入を得たいという方に向いていると思います。そしてあたりまえですが、大学という選択は大手以外ににも他に幅広い選択肢を取ることもできます。

### 専門学校

次に、専門学校を選択する場合についての考察ですが、僕が思う専門学校に行った方が良いと思う方は大学に落ちたけどプログラマとして働きたい人(自分)、新卒でSIerで働きたい人が一番あっているのではないかと思います。もしWeb系で働きたいなら自分で行動できる人でないとほとんど不可能だと思います。だいたいSIerからしか求人が届きません（広島の場合ですが）。

言ってしまえば就職に関しては大学の下位互換です。大学生は就職できなくて専門学生は就職できるという場所はほとんどないと思います。ただ、投資の面で見ればメリットデメリットがあります。

ちなみにSIerは建築業界のように基本的に階層構造になっていて、上でSEが設計をして下でPGが開発します。もちろん上でお金は吸収されるため下は給料が下がります。

### さぁどちらを選ぶ？

ハイリターンを狙う場合大学は低リスク、専門学校は高リスクです。ハイリターンを狙う場合どちらの選択肢をとるにしても努力が必要です。できるならば大学に行って努力した方が新卒の選択肢が広がります。つまりレベルの高い大学に行き、努力するのが最強です。

SIerの階層構造の上の階層に就職したいならば、大学に行くべきでしょう。

前述した通り、大学に落ちたけどハイリターンを狙いたい場合はいわゆるFランよりも専門学校に行き、ITに特化した勉強で実力をつけ勝負するのが良いと思います。

在学期間中遊びたいと考えている人は大学に行っておくのが無難だと思います

### [おまけ]プログラミングスクールについて

おまけでプログラミングスクールについて考察してみたいと思います。プログラミングスクールは色々あるみたいですが、3ヶ月で30万円くらいみたいです。

比べてみるとプログラミングスクールはかなり安い上に期間が短いですね。多分ですが、卒業時に大学で視野に入るような外資系や大手は視野に入れることはできないと思います。

ただ、IT業界は新卒をのぞいて実力があれば学歴がほとんど関係ないとよく聞くので戦略と努力次第では選択肢は無限だと思っています。実際僕は専門学生ですが、新卒でリモートワーク可、Web領域、良待遇、多様性、良環境、プロダクトがわくわくするものという僕の理想の会社に内定いただいて、今は広島でリモートワークでインターンをしています。

プログラミングスクールが反対されたりすることは多いと思いますが、僕は良いと思っています。実際にプログラミングスクールに通ってた友人がいますが、優秀で自由な生き方ができているフロントエンドエンジニアです。別に地獄に落とすような間違ったことを教えている訳ではないと思うので、詐欺でもなく、一つの手段としてあって良いと思います。

IT業界は実力の世界で努力次第でなんとでもなると思うので、どこを選択しても楽しみながら頑張りましょう

# おわりに

殴り書きのようにズラズラと書いていたので文章が変な部分があると思います。不快になるような部分があった場合は知らせていただけると嬉しいです。