スクールでプログラミングは学べるか

2020/5/27作成

プログラミングスクールに通わず、プログラミングを学ぶ方法

「プログラマーになるのにスクールはいらない。独学で十分」は本当か

きっかけは日本初?リモート研修中にクビになった、法政大卒新入社員の末路ですかね。新卒で入社したにも関わらず早々にクビになってしまった方の記事ですが、その結びにクラウドファンディングで費用を募ってプログラミングスクールに通いますってあったことから、いろいろとネット上で話題になりました。そのテーマの一つとしてプログラミングスクールに通うことの是非があり、冒頭に紹介した記事はそのうちの一部ですね。

プログラミングを学ぶのにスクールに通うことの是非は繰り返し話題になるテーマでして、結論もゼロイチというわけではありませんので、それだけにみんな語りたくなってしまうのかもしれませんね。そして私もプログラマの端くれとしてこうして一言いいたくなってしまったというわけです。

前提として自己紹介しておくと、私自身は高校生の頃に独学でプログラミングを学びました。その後コンピュータサイエンス系の大学に進みましたが、大学の講義内容は大半が既に知っていた内容だったので、あんまり大学で学んだとは思ってません。そもそもあんまり講義聞いてなかった不真面目学生だったってのもあるんですが。卒業後、プログラマとして就職し、多少の紆余曲折はありつつもアラフィフの現在までプログラマを職業としています。トップレベルのプログラマとはとても言えませんが、さりとて新卒や3年目くらいのプログラマよりはスキルはあるかなと思う程度の、よく居る量産型の中堅プログラマといったところです。

ということで個人的な経験としては独学なんですが、だからって万人に独学を勧められるとも思ってません。人には得手不得手もありますし、得意不得意もありますし。そもそも置かれた状況もひとそれぞれでしょうからね。

冒頭の記事や、それに対するネット上の反応でも多いのは「独学で学べない奴はプロになっても通用しない」でしょうかね。まあ、これは一理はあると思います。よくある言説として「〇〇に成りたいのですがどうすれば成れますか。って質問する時点で〇〇には成れない」ってのがありますね。〇〇にはマンガ家とかが入ります。これ自体は真理だとは思うんですが、一方でそれが通用するのはクリエーター系の職業に限るとも思うんですね。「事務職につきたいのですがどうしたらいいでしょうかと質問する奴には事務職は通用しない」ってことはないと思うんです。別に事務職とマンガ家に職業としての上下があるわけではなく、職業の特性ですよね。事務職になるにはそれなりに事務職適正と能力は必要にはなりますが、それらの下地がある人なら就職して研修を受ければ事務職になれるんじゃないですかね。

マンガ家に限りませんが、声優とかアニメーターとかのクリエーター系の職業って、スクールに通ってもプロには成れないのはよく言われてますよね。それは職業の特性もあるけど、そもそもプロの市場が小さすぎるってのが根本原因だと思うんですよ。スクールの卒業生が全員プロになれるほどの市場規模ではない。これは専門学校に限った話ではなくて、音大や美大でもよく言われることで、これらの卒業生でプロの音楽家や芸術家になるのは難しい。こういった小さな市場の業界でプロになるには、よほどとんがった能力が無いとダメで、そのためにも独学でも学んでいけるくらいの情熱と才能が無いとだめってのが理由じゃないかと思うんです。

一方、プログラマってそこまで市場が小さくない。プログラミングの専門学校にまじめに通って課題をこなしてきちんと卒業すれば、一山いくらの兵隊としては就職してプロになることはできる。3年後に続けてられるかどうかはわかりませんが、ともあれプロにはなれるくらいの市場規模がある。プログラマには。

そういう意味では、プログラマってのはクリエーター系の職業というよりは、手に職系の職業かなと思うんですよ。マンガ家とか声優よりは、調理師とか美容師の方が近い。これらの職業に就きたい人も、大抵はスクールに通いますよね。資格取るのに学校通わなければいけないってのもありますが、受験資格の制限が無くてもやっぱりスクールに通うのは有力な選択肢になると思うんですよ。それは主に二つの理由から。

一つはスクールでは系統だったカリキュラムに沿って学習できること。カリキュラムというのは効率的に学べるように体系だって構成されてるわけで、これに沿って学習することは効率がいいわけですね。独学というのはカリキュラムを自分で再発明するようなものですから、苦労する分だけ学びは深くなるかもしれないけど、効率としては良くない。

もう一つはモチベーションの維持ですね。独学で、毎日自分を律して学び続けられるだけのモチベーションがあるならいいんですが、人間そんなに勤勉でもない。めんどくさいなとか今日はサボりたいなと思った時でも、学校があるなら行かなきゃ仕方ないかと学び続けることができる。カリキュラムの中には好きな科目と苦手な科目があって、好きな科目は楽しいけど、苦手な科目はあんまりやりたくない。でも学校なら苦手な科目もしぶしぶながら学ぶことができる。

ということで、個人的な結論としては、プログラマとして頂点を極めるとか、そこまでは言わなくても上位10%には入るようなハイレベルプログラマを目指すとかならば独学で学べるくらいでないと通用しないとは思います。クリエーター系の職業のプロレベルってことですね。そうではなくて食っていければそれでいい手に職レベルのプログラマならスクールに通っても十分になれると思います。

(2021/1/5追記)

というかですね、プログラミングスクール批判って、プログラミングスクール全般への批判というよりも、近年登場したオンラインスクールに対する批判だと思うんですね。そして批判のポイントはプログラミングを教えることではなく「未経験者が短期間学ぶだけで転職して高収入をゲット」とうたっていることではないかと。

正直、あり得ないですよね。元々素質があってしかも超絶勉強する人なら、未経験から転職可能なレベルまで学べるでしょうし、高収入も得られるかもしれない。でも普通の人がカリキュラムをこなしただけで誰でもプログラマとして転職できるかっていうと、ないわーですよね。駅前英会話スクールに通ってネイティブ並みの英語力が身に着きますって言われたら誰だって疑うと思うのに、プログラマならそれが可能って思われるってのは、それだけプログラマがどういう職業なのか知られてないってことなんですかねぇ。