導入
ITスクール、もしくは情報系の専門学校に入学を検討している方へ向けての記事です。
未経験に近い状態から3年間、ITスクールに通った経験を基に振り返りたいと思います。
私の主観であり、必ずしもすべてのスクールや専門学校に当てはまる訳ではありません。
参考程度にご覧ください。
筆者のざっくりプロフィール & どんなITスクールに通っていた?
まずは筆者のプロフィールから。
プログラミング自体は未経験に近い状態でした。
パソコン自体は好きで触っていましたが、プログラミング自体は経験なしに近い状態でした。
かろうじて、HTMLやCSSを触っていましたがプログラミングとは言えません。
進路に迷った結果、興味が持てそうなIT業界に進もうと思い、入学しました。
通っていたITスクールのざっくり概要。
オンラインではなく、3年間通学する形でした。
その年年によりますが、自分の興味があるコースを選択できます。
最初の1年や2年は皆共通のコースを受けますが、それから先は自分で自由に選ぶことができます。
私はAWSやオンプレに関するコースを受けていました。
そのほかに、JavaやSwiftを学べるコースがありました。
ちなみに、現役で勉強しているのはPythonとTypeScriptです。
最初に触ったのはPythonです。
Javaも触りましたが、自分には合いませんでした。
結論 「行く価値はある」
結論としては、十分行く価値があったと感じています。
不満な点(後述)もたくさんありましたが、それでも有意義に過ごせたなと感じています。
要点だけさらっとお伝えしておくと、あくまでも学校は道具にすぎません。
学校に入ったからと言って、できるようになる訳ではありません。
やる気と努力が必要です。
もっと掘り下げてみます。
メリット編 「3年間通ってよかったと感じたこと」
1. 学習習慣
やはり独学の場合、挫折しがちで誰にも相談できない状態が続きます。
そうすると、どんどんやる気がなくなり、やらなくなります。
スクールに通えば、やらざる得ない環境を作り出すことができます。
また、paizaなどの教材や技術書が使い放題、学校の施設も空いていれば使い放題です。
2. 仲間の存在
同じ目標に向かって勉強している友達がたくさんいます。
友達がやっていれば、自分もやらなければいけません。
仲間内で一緒に開発するのもよし、他の人の考え方も参考になります。
自分以上にできる人も多数います。
いい刺激になりますし、分からないことも聞けます。
仲間がいることはモチベーション的にも、学習をする上でも非常に重要です。
3. インターンや産学連携プロジェクト
学校には企業とのコネ(繋がり)があります。
採用サイトなどでインターンを募集しているケースももちろんあります。
学校側がインターンの話を紹介してくれるため、そうした点ではかなり楽かもしれません。
そのままその会社が気に入れば、学校経由で就職することもできます。
なかなか入れない企業でも学校との信用があることによって、意外とチャンスが巡ってきます。
同じ学校を出た先輩の評価が高く、信頼があるので今年も採用したというケースも多いです。
自分がどれだけ動けるか次第で、幅は広がります。
産学連携プロジェクトも同様です。
実際に企業と課題を解決するためにプロダクトを作り、フィードバックをもらいます。
こうした経験を積めるチャンスがたくさんあります。
就活で使えるエピソードにもなります。
4. TA制度
大学でもある制度ですが、ティーチングアシスタント制度があります。
誰かに教えることによって、得られるメリットは非常に大きいです。
「復習になる」
実は分かっていると思っていても、認識が違ったり、これってどうだっけってなることがたくさんあります。
改めてアウトプットすることで、理解がさらに深まります。
「コミュニケーション力、説明力が鍛えられる」
初対面の人でも話かけて、相手のレベルに合わせた会話をする必要があります。
初学者にいきなり、難しいことを話しても伝わりません。
何かに例えたり、何かと関連付けて説明することで理解してもらいやすくなります。
こうした練習ができるのも魅力の一つです。
自分自身、理解力が良いとは言えません。
人の数倍は確実に時間がかかります。
理解力が低いからこそ、分からないポイントを掴みやすく理解できるレベルに落とし込んで説明できます。
「安心感を与えられる」
理解ができず、どう勉強していいか分からない生徒もたくさんいます。
同じ目線でサポートすることによって、安心感を与えることができます。
「報酬が出る」
報酬や謝礼が出ることもあります。
自分の得意なことでお金を得られる、やりがいもあるのはコスパが良いです。
一般的なアルバイトに比べると、高めの時給なのも魅力の一つです。
デメリット編 「3年間通って良くないと感じたこと」
1. カリキュラム
「情報学科が出来てから間もない & スクール自体が出来てから間もない」
このような学校には注意が必要です。
特に私が通っていた学校は、カリキュラムが確立できておらず、勉強する内容に正直一貫性がないように感じました。
入学前に資料請求をして、見学すると思います。
実際に書いてあること、説明されることが100%保証されないことに注意が必要です。
実体験ですが、最初に書いてあったこと、説明されたことに沿っていませんでした。
もちろん、すべての学校がそうだとは限りません。
本題のカリキュラムの内容の話です。
冒頭でも書きましたが、3年制のコースに所属していました。
ざっくり年次ごとに何やったのか、振り返ってみます。
1年次
・パソコンの操作に慣れていないような、未経験の生徒がたくさんいる状態です。
・プログラミング基礎を一通りPythonで学びました。
Djangoを使ってwebアプリの開発も行いました。
2年次
・Pythonの応用的な内容を学びました。
(Djangoも引き続き)
・ネットワーク基礎、ソース管理なども一通り。
・Javaも半年程度学びましたが、あまり理解できず…
・学校が募集していたインターンに応募、受かりました。
数か月間、参加しました。
ゴリゴリに開発に参加できていたわけではありませんが、働くということの空気感は伝わりました。
3年次
・AWSやLinuxなどに興味があったので、インフラ・セキュリティーコースを選択しました。
KubernetesやDockerも触りました。
・引き続き、Python / Django を使って個人開発に打ち込んでいました。
・本ブログシステムもこの期間に開発し、実際に運用しています。
・卒業制作で展示会の入退場管理システムをチーム開発しました。
ほとんどフルスタックです。
・教えてもらう立場から、教える立場へ。TAの仕事も始めました。
2. 学費の問題
やはりどこの学校でもそれなり掛かってしまいます。
学費が掛かるからこそ、慎重に検討する必要があります。
国立の大学に入って情報を勉強する、高専に入る、これも十分ありです。
実際、学費が高すぎて中退してしまう人も大勢います。
結果的に何も得られずに数年間無駄にすることになります。
3. 講師の当たりはずれ
非常に実力があり、有名企業に現役で属している講師が多かったです。
趣味ではなく、完全に実務よりの考え方やアドバイスをくれます。
このような先生ばかりではなく、はずれと言われるような講師もいることは確かです。
一貫していえるのは、教えることに向いていないと思えることです。
いくら優秀でも、人に教えるということが向いているとは限りません。
(偉そうなことは言えませんが)
身についたこと
1. web開発の基本は一通り経験できた
大規模トラフィックをさばくスケール設計や本番レベルのセキュリティー設計は出来るとは言えません。
まだまだ甘いと思いますが、今後も続けて深堀りするつもりでいます。
言語: Python, JavaScript, TypeScript, SQL
フレームワーク: Flask, Django, DjangoRestFramework, React
ツール?: Node.js, npm, Vite
マークアップ&スタイル: HTML, CSS, Bootstrap
DB: Postgres, MySQL, Redis
環境&インフラ?:
Linux, Docker, DockerCompose, Kubernetes, Git/Github, Nginx, Gunicorn, AWS(ECS/Fargate, ECR, S3, RDS, CloudFront, ElastiCache)その他: SEO
2. 自走とモチベーション
最初の難関をクリアしてしまえば、意外と簡単に理解できるようになります。
比喩して理解してみたり、関連付けて理解してみると面白くなってきます。
最初のうちは嫌々取り組むかもしれませんが、だんだん面白くなってきます。
技術に対して興味があって、面白いと思えれば大丈夫です。
幸い、面白さに気づけたため、自走できるようになりました。
面白いと思えるので当然モチベーションも続きます。
3. 説明力・コミュニケーション力
少し前にお話ししましたが、私は理解力が人の2,3倍遅く、飲み込みが遅いです。
遅れを取りやすく、割と苦しみました。
分からない人の気持ちはよくわかります。
何かに例えてみたり、何かと似ているなと思ってみたり、工夫してきました。
その経験を活かして、つまづいているポイントを整理して噛み砕いて説明することが得意になりました。
コミュニケーション力についても、入学前は人前で喋ることができないタイプでした。
きっかけはTAの仕事ではありませんが、接客業のアルバイトを通して克服できました。
交流したことない人でも気軽に声をかけたり、積極的に交流できるようになりました。
エンジニアはコミュ障でも出来ると思われがちですが、コミュニケーション力が一番必要です。
足りなかったこと
1. "できる"言語とフレームワークがまだ少ない
実はPython/Djangoだけしかまともにやってきませんでした。
(厳密に言えば、DjangoRestFrameworkも経験がありますが…)
TypeScript/Reactも開発に必要なため勉強しています。
あれやこれやと手を付けて、広く浅い知識を身に着けるのもどうかと思いますが…
それでもPython/Djangoしかまともにできないというのは弱みです。
Djangoは正直、メジャーではありません。
Youtubeで使われていたという話もありますが、おそらく太古の昔です。
基本的なCRUDの思想やwebアプリケーションの仕組みを学ぶのにはうってつけだと思います。
現場で使われる、Ruby on Rails や Spring Boot も学習したほうが良かったと後悔しています。
これからも継続して勉強します。
2. 就活・キャリア設計が甘かった
1~2年次の頃は「何とかなるだろう」という精神のもと、時間がすぎていきました。
3年間はあっという間です。
興味を持って手を動かさなければ、技術は身に付きません。
2年次からインターンに参加しましたが、正直なところ向いていないことが分かりました。
「趣味で好き」なのと「仕事にする」は大きく違うことがわかりました。
就活の際に本当にやりたい仕事だとは思えなくなってしまいました。
専攻している分野の業界に必ずしも働くわけではないことも頭に入れておいた方がよさそうです。
自分には向いていないかもしれませんし、途中でやりたいことが見つかるかもしれません。
興味を持ってひたすら手を動かすことに集中することが大事です。
技術力という貯金は消えることはなく、必ず就活やどこかで役に立ちます。
3. チーム開発での立ち回りが不十分
卒業年次の3年次では、卒業制作に取り組みました。
(実は現在進行形。)
チーム開発は個人開発とは大きく異なります。
仕事を割り振り、全体を俯瞰しながらスケジューリングする必要があります。
仕事内容的にはProjectManagerに近いです。
チームメンバーの個々のスキルをくみ取って、仕事を振るというのができず課題です。
ITスクールが「向いている人」「向いていない人」
やる気がなく、自走ができない人は向いていません。
学費を払うだけ払って、何もスキルは得られません。
反対に向いている人は、技術に興味があり自走できる人です。
端的に言ってしまうと、これだけです。
間違いなく、興味を持って継続できる人は向いています。
在学中有意義に過ごすために(まとめ)
長くなってしまいましたが、まとめます。
あくまでも学校は道具にすぎません。
利用するもしないも、自分自身にかかっています。
授業を受けていても、技術力は身に付きません。
実際に手を動かしてみて、取り組まないといけません。
周りの友人、教材…etc
使えるものは何でも使った方がいいです。
インターンやイベントにも参加すると何かしら収穫があると思います。