世の中のシステム開発企業においては、「プログラミングスクールの卒業生は使えない」というような声もあるようです。プログラミングスクールで学ぶ人には就職・転職が目標という人も多いだけに、ちょっと気になる話題です。
実際のところスクールで実践的な技術を得られるのは確かな事ですが、なぜスクール卒業生がこのような偏見を持たれてしまうのでしょうか。その理由と「使える」と思われる人材になるには、またそうアピールするには何に気をつければいいのか、という点を今回はまとめてみました。
本当に「スクール卒は使えない」「スクールは無意味」なのか?
結論から言えばそんなことはありません。プログラミングスクールで得たスキルは、開発の現場で確かに役に立つ技術です。しかし企業で開発エンジニアとして働く場合には、ただコードを作る技術のみが求められる訳ではありません。
ただ漫然と与えられる授業や課題を受けているだけでは、それを現場で活かすための技術身に付きません。
では企業はどのような点がスクール卒業生には足らないと思われてしまうのか、ポイントを3つに整理してみました。
企業の不安1. 設計の意図を読み取って開発できるか?
まず1つめのポイントは、同じ成果物を作る事ができたとしても、本当にその設計の意図まで理解した開発が行えているのか? という懸念です。企業が注目するのはただ「動くコード」だけではありません。そのコードがどのような設計に基づき、どのような目的で作られているかを理解する能力も求められます。そうでなければいざ問題が起きた時どこを修正すべきかや、仕様変更がおきた時の柔軟な対応のやりかたなどがわからなくなってしまうからです。
新人は自ら設計を作る事は少ないものの、渡された設計を正しく読み取って開発を行う技術は必要です。
課題やサンプルをただ模倣するだけでは、設計意図を理解していないと判断され、「見てくれだけでちゃんとしたものを作れないのでは?」と不安視されることがあります。
対策:設計の理解を曖昧なままにせず、なぜそうなっているかを考えて作る
この対策はシンプルに設計をしっかりと読み取る力を育てる事です。スクール受講中に与えられる課題なども、「〇〇を××する関数」と書いてあった時にただそういうものが必要だからつくる、のではなく、何故必要なのかということを考えます。アプリケーションというのは使用目的があるものなので、当然コードもその大目的を実現するための小目的の積み重ねで出来ています。そのような背景を想像する事が肝要です。
一番良いのは簡単なものでいいので自分で設計を書き、開発を行ってみることです。必要な機能を関数などに自分で落とし込んでいく過程を経験する事で、逆に読み取る力も身に付きます。
何よりこうして作ったものをポートフォリオとして公開すれば、採用において強いアピール力になります。
企業の不安2. 主体性をもって開発に取り組む能力があるか?
2つめのポイントは、学校で勉強しただけでは主体的に取り組む姿勢が培われているかが不安というものです。スクールの学習の中においては、与えられた課題を設問者の意図通りに回答すればいいのですが、実際の開発の現場はそうはいきません。
不安1のセクションで「設計を読むときにただ文字通りでなく、意図なども考えながら読めないといけない」というような話をしましたが、この項目も少し類似した問題です。
課題を受け身でこなすばかりで自分で考えて問題を解決したり、自ら動く力が培われていないと「指示待ちで主体性がないのでは?」という懸念を持たれてしまいます。
特に未経験から学んだ人材に対しては、能動的に動けるかどうかに不安を持たれやすいようです。
対策:答えの引き写しでなく、自分で考えて問題を解決する習慣をつける
この場合には自分の頭で考え、工夫をする練習を普段からしておくことが対策になります。開発においてエラーが発生した際、ただ「答えを検索して、見つかった回答をそのまま写す」のではなく、複数の方法を調べ、メリット/デメリットなどを考慮しながら反映する、といったことを心がけましょう。
自分なりの工夫を盛り込んで改善してみる、ということが出来るとより望ましいです。
自主性というのは転職活動などでアピールするのは難しいですが、ポートフォリオ公開の際にこうした工夫の過程なども一緒に記載しておくことで、採用者に考える力をアピールする事ができます。
企業の不安3.チーム開発で連携が取れるのか?
3つめのポイントはチーム開発作業についてです。実務の開発は個人作業ではなく、チームで進めるのが基本です。 一人でコードを書くだけでは足りず、チームの中で円滑に作業を進める能力も求められます。
スクールで個人開発の演習が中心だった人は、この点で経験不足におちいるケースが多く、チーム開発のスキルに疑問を持たれがちです。
特にレビューやコミュニケーションを軽視してしまうようでは、円滑にチーム開発を行う力がないと受け止められてしまいます。
対策:チーム開発を行う/質問や課題レビューなどを能動的に行う
一番の対策としてはチーム開発実習のあるスクールを選択することですが、すべてのスクールが行っているわけではありません。そうした場合はメンターや質問担当者とのコミュニケーションを意識し、積極的にかかわっていくことが対策になるでしょう。
実際のチーム開発において、コードを書く段階から複数人で連携するというような場面はそう多くありません。連携が必要になってくるのは、設計などの情報の円滑な連携や疑問点の解消、コーディング後のレビューによるフィードバックの受け入れといった場面です。
そういったことを意識しながら、レビューにおいてどのようなことを心がけたらよりレビュアーの意図が組めるのか、
質問はどのように内容をまとめて行うと的確な回答が貰えるか、と言ったことを意識しながら、メンターやレビュアーとのやりとりを通じてコミュニケーション力を磨きましょう。
採用の場においては、このような経験から得た学びや、心がけるべきことなどを具体的に話すことで、自分の理解を示す事ができます。
まとめ
「スクール卒は使えない」という言葉は、受講生そのものを否定するものではなく、スクール受講生がおちいりやすい問題への懸念です。重要なのは、その問題点を正しく理解し、自分の学習姿勢でどう解消していくかを考えることです。
ただ漫然と受講するのでなく、その中で得られる学びは何かを考え、更に自分なりの考察や工夫を行うこと。それがあなたが信頼のおける人材となるための大切な一歩になります。
