#パズルができた訳
今シンガポールのスタートアップでエンジニアをしているのだが、半年ほど前にソフトウェアエンジニア向けの求人募集ページに簡単なプログラミング系のパズルを出して、それが解けた人だけ応募できる仕組みにしよう、という話になった。
その時期は求人を拡大募集していたのだが、あまりにハズレな人が多かった。私もいくつか面談をしたのだが「CV(履歴書)には高いスキルって書いてるけど、言ってることがなんでこんなに変なの?」と感じてしまう応募者が多かった。これは私だけの意見でなく、他のエンジニア達からも不満が続出した。つまり履歴書のスクリーニングが効いてないということだ。日本よりも海外の方が履歴書を誇張する率が高い気がする。そこで考えたのが求人募集ページにエンジニア向けのパズルを出す、という発想。
#パズルのコンセプト
言ってはみたもののどんなパズルにしようかと考えると案外難しい。
パズルの条件は以下の3つ。
- 簡単なパズルにすること。あくまでダメなエンジニアだけを門前払いするのが目的だから、変に凝った問題を出していいエンジニアを取り逃す原因にしてはいけない。
- 全てのウェブ系エンジニアに適用できるパズルにすること。応募するエンジニアがフロントエンドでもバックエンドでもウェブアプリに携わるエンジニアであれば誰でも解けるパズル。プログラミング言語を問わないパズル。
- Googleで答えが検索できない問題にすること。ググったらすぐに答えがでてきたり、あまりに簡単スギて会社の品位を下げてしまわないようにすること。
これらの条件を全て満たすパズルをあれこれ考えて、自分としてはなかなかいいアイデアが浮かんだな、と思っていた。Ruby, Objective-C, Java, どんなエンジニアであっても共通するウェブ系の知識と勘が問われて、かつ基本さえできていれば解ける問題だ。ところがアイデアができた途端に中止になってしまった。いい人がたくさん見つかって人員が満たされたので求人自体が打ち切られたのだ。せっかく考えたパズルのアイデアがお蔵入りになってしまっていた。
#公開にいたる
「今から考えてもあれ結構いいパズルだったなー」と思い返すことが多かったので、自分で作って公開することにした。
パズルが解けたら名前とコメントを入れられる仕組みなので、感想いただければ幸いです。
#ダメなエンジニアにだけ解けないパズル
パズルはPlease call my APIs.(私のAPIを呼んで)のメッセージと「RESTful」とヒントがあるだけ。
render.comの無料プランにデプロイした。だいたい眠っているので最初の一発目のアクセスは目を覚ましてもらう時間が5−6秒ある。しばしお待ちください。
【下位10%のダメなエンジニアにだけ解けないパズル】
https://challenge-your-limits.onrender.com/
もうちょっとヒントとしてはターミナルからcurlコマンド使ってURLの後ろに「なんやら/なんやら」ってつけて叩けばいろいろ出る。バックエンドもフロントエンドのエンジニアもRESTfulに関わったことがあればcurlで叩いて動作を調べることがあると思う。それをそのままパズルにしたまで。
$ curl https://challenge-your-limits.onrender.com/something/something