プログラミング学校を卒業して思うこと その4

フルスタックエンジニアって?

 卒業した学校は、10週間(600時間)でフルスタックエンジニアを養成すると謳っている。

 フルスタックエンジニアというのは、業界で使っている漠然とした用語だが、要するにWebアプリケーションを一人で作れる力量のある技術者ということらしい。

 Webアプリケーションを作りあげるには、まずサーバサイドと言われるビジネスロジック(関連するデータを取り扱う、つまりデータを生成・加工し、これをデータベースに書き込んだりすること)を構築でき、フロントサイドと言われるクライアント側のプログラミング(ユーザー側のブラウザにどう表示させるかという「見た目」の部分)ができ、加えてデータベース・サーバーが管理できるという能力が最低限必要であるが、これがすべてできるのがフルスタックエンジニアというわけ。

本当にフルスタックエンジニアなの?

 学校側の説明によれば、エンジニアになるには通常1000時間が必要なところ、これを600時間に圧縮したということらしいが、卒業して上に書いたようなことが満足にできるだけの実力が付いたかといえば、はっきりいって付いていないというのが卒業生の一致した認識だと思う。

 学校で習ったことといえば、いくつかのお仕着せのWebアプリを誘導に沿ってなんとか作り上げ、某著名サイトのコピーサイトを何人かで手分けして作っただけであり(加えて一応個人アプリを開発するよう言われるが、実際にできた人は少数だし、できなくても問題はない)、世間に通用するアプリケーションを一人で作れるだけの能力を持っているかと言われると、卒業生の誰一人として持っているとは言わないだろう。

何が足りないのか

 何よりもまず、知識と実践。

 既に書いたように、Webアプリを作る上で最も重要な、RubyRailsJavaScript、HTML/CSSのいずれを取っても、ほぼ初心者レベル。

 経験者が確認のためにドキュメントを参照するのとは違って、何から何までネット情報を調べまくって書かれている通りにやってみて、うまくいくまで試行錯誤するという体であるから、クライアントの前ではとても見せられない姿となる。

 もとより、時間に制限があるので、知識が足りなくなるのは仕方ない部分がないとはいえないが、私に取って気がかりなのは、基礎力がまるでついていないことである。

 十分な基礎力があれば、自力で伸びていけもするが、教え方として体系的教育をしないので、応用力を身に付けにくい。学校としては、わからなくても自分で調べて実装(業界用語でプログラムを書くという程度の意味)するのが「自走力」で、それを養成しているということのようだが、「自走」するにも最低限の「装備」がなければ話にならない。

プログラミングスクールの限界

 今日のプログラミングスクールの隆盛は、旧来の「教室で先生が授業する」といったスタイルを捨て、ネット教材で「自習」させ、ネットでメンターが疑問に答えるなどして補充するといったスタイルが可能になったことにあると思う。

 しかし、このことは「学校らしさ」をいくらでも脱ぎすてることを可能にしてしまった。この学校には図書室・書籍もなければ学校が作成したレファレンス資料(紙でもデジタルでも良いが)すらないという、状況である(一応、教材を「検索」することができるが、とても使えたものではない)。

 確かに、ネットを探せば断片的な知識・情報は落ちているが、基礎から体系的に書かれているものはまずなく(英語のサイトには割としっかりしたものがあるが日本はお寒い状況)、学生がきちんと学習したいと思えば、(無理して高額の月謝を払った上で)なお書籍を別途購入するしかない。

 事実、何人かが「ものすごく初心者向けの本」まで購入して補っている。

もう少し節度があっても良いのでは

 プログラミングは、独習が難しいと言われる。大半の人が途中で諦めるとさえ言われる。

 この学校には「短期集中」と呼ばれる昼間コース(私のいたコース)と夜間休日コースがあるが、私の期でも2割は脱落していたし、夜間休日は半数は脱落している模様である。入学した半数が脱落する学校とは、果たしてまともな学校なのか?

 それだけではなく、就職率ほぼ100%といった文句も売り物にしているが、現実は、到底エンジニアとはいえない安月給の職をあてがっているのが実情で、それを「上場企業に就職した」という(おそらく)例外をことさらに増幅して消費者を煽りまくっているだけとしか結論できない。

 まだまだ書くべき問題があるが、長くなったので別の機会としたい。