本記事は採用担当向けです。
業務未経験者のコーディング試験は10分間のFizzBuzzもどきで十分だと思っています。全く同じテストを数百人にテストしていますが、割とはっきり結果が出ます。学習経路に依存せず「知ってる・知ってない」レベルでもないからです。
例えば、プログラミングスクールでRailsアプリを作っていても、FizzBuzzができない人はいます。コマンド叩くだけでアプリケーションが作れてしまうので、Railsの完成度に感動してしまいます。
最近はオンラインでの面接ができるようになってきたので、画面共有をしてもらってコーディング作業そのものを見せてもらっています。
以下チェックポイントです。
- 自分のPCが使えるか
- 今どきの求人サイトはスマホで履歴書まで作れちゃうのでPCが触れなくても書類選考までは通ってしまいます
- PCでメールが使えるか
- スマホのメールしか使えないと厳しい
- docomo.ne.jpとかicloudが履歴書に記載されているメールアドレスの時点でPCベースでのIT接点が薄いことは分かる
- PCメールの添付PDFを開けるか(ダウンロードフォルダをみたり、PDF何かしらのアプリで開けるということが必要)
- PCでググってるか(スマホでないと検索できない人もいる)
- よく知らないスパイウェアを入れすぎてPCが激重になってる人は会社にとってリスク要因
- カレントディレクトリの概念があるか
- 作ったつもりのファイルの場所を探すのに時間がかかっちゃう人は、「やってない」です。Railsの前に一旦HelloWorldができるようになってください、というケースはあります。
- 最悪ファイルをコピーすることができず「ソースのコピペでもいいですか?」「画面をスマホで撮影して提出でもいいですか?」というケースはある。スマホネイティブで育ってPCそのものに慣れていないと、ファイルが置かれてる場所を意識することがありません。
- 恐ろしいことに手元でファイルを実行することもなく「競技プログラミングしてるけどブラウザ上でしか実行したことがない」という人もいます。しかしながらブラウザのテキストエリアにプログラムを書くだけの仕事はないんです。
- 小さく実行しているか
- 全部書き終わってから、コンパイルや実行をしてどこで構文エラーが起きたかわかんなくなっちゃう人は慣れてない人です(本当に賢い人は一発で通るけど)
- 不慣れな関数をどうやって試しているか
- irbなどの別の環境で関数の挙動を確認するなどせずに、いきなり初経験の関数を本物プログラムに組み込んじゃう人ははまります。
- 駄目なサイトをググってないか
- 私のコーディング試験はググるのはありにしていますが、会話形式の無意味なコンテンツを見てる時点で「調べることに慣れてない」です
- 公式ドキュメント見慣れてるか
- 公式ドキュメントは一見とっつきにくいですが「文字ばっかりの資料」を読む耐性があるかどうかは大事です。「動画なら理解できます」という人もいますが、残念ながら2021年時点でリファレンスは文字ベースです
- エディタの使い方
- Wordでプログラムを書いちゃう人はテキストファイルの概念からやりなおし
- メモ帳で書いて一発でコンパイルが通ればそれは天才だけど、普通の人はコンパイルさえとおらないプログラムができて終わり
- エディタが早く起動できるかということも大事(道具を大事にしているかどうかが分かる)
- Macの仮想デスクトップで迷子になってないか
- Macの仮想デスクトップでめちゃくちゃ迷子になってる人がいます。エンジニアリング以前の問題ですが、「こりゃぁ効率が悪いな」と思えるかどうかは仕事をする上で大事です
クラウドベースで開発できる環境も整っては来てはいるものの、2021年時点ではITエンジニアは基本は「ファイル作るマシーン」という点はまだ変わっていません。「良いプログラムを書く」以前に、適切なディレクトリに適切なファイル名で保存し徐々にファイルを育てるというのは、仕事の基本です。これはプログラマーも漫画家も変わりません。