2020年3月1日日曜日

ソフトウェアエンジニアを採用したい企業ちょっとこい

すみません偉そうなこと言いました。

私事ですが、昨日、2月29日付でウェブリオ株式会社を退職しました。
ウェブリオの現状については、去年の元同僚の退職エントリーによくまとまっているのでこちらをご覧ください。

まだ半年しか経過していないのであまり変わったこともありませんが、有給の取り方については
朝起きて「11時に出勤します」とメールするだけ
ここまで簡単ではなくなりました。

どうでもいいですが、この同僚とは同日に入社しました。マジでどうでもいい情報ですね

3月からは、まあ適当にがんばります
1000万オーバーでスカウトしていただいた企業もあって、業務内容もとても魅力的だったのですが、私服・フレックスタイム/時差出勤といった緩さにどっぷり浸かってしまった身としてはスーツや固定時間出勤に戻れない体になってしまいましたので泣く泣くお祈りさせていただきました。

今回は、みんな大好き退職エントリー…ではありません
退職エントリーは多かれ少なかれ、特に退職理由について負の感情がつきまといますが、ブログのようなパブリックな場所ではあまりそういったマイナス面は出さないようにしようと思っています。会社にも、退職理由は綺麗なことしか話していません。
知りたい人はプライベートな場所で聞いてください。

それは置いといて。

これまで、開発の他にエンジニアの採用業務にも関わってきました。受ける側や採る側をいろいろ経験して、採用について思ったことをまとめてみました。もしかしたらエンジニア採用に関わる方には参考になるかもしれませんしならないかもしれません。

断っておきますが、これらはウェブリオでの事例とは限りません。ウェブリオ内の事例もありますが、過去にあったけど現在は改善されているものや全く関係ない他社の事例もあります。そして例はあくまで例です。いずれにしても、以下の内容がそっくりそのままウェブリオの現状というわけではないということを念頭に置いてください。

ちなみに、以下の内容は自分のことは棚に上げています。「いろいろ偉そうなこと書いてるけど、おまいは全部実践できてるの?」と言われると多分NOです。

そのへんを踏まえてお読みください。

求人票編

まずは、各種メディアやエージェントに掲載する求人票について。

求人票を出す前に、どんな人がほしいのか明確にしたほうがいいよ

そりゃあどこの会社も優秀な人がほしいですよね。
でも、一口に優秀と言ってもいろいろあるんですよ。

とにかく動くものをすばやく作れる人?

高速化とかの改良が得意な人?

フロントエンドからインフラまで一通りできる人?

複数人の開発手法に明るい人?

エンジニアをまとめられる人?

発信力がある人?

全部できる人?

そりゃ全部できる人はどこだってほしいでしょうけど、そんなスーパーマンをつなぎとめておけるだけの給料払えんの

というか、これは開発側できちんとまとめて人事部に伝えるべきことで、多分個々のエンジニアは「こういう人がほしい」というイメージを持っているんですが、問題はエンジニア間でそのイメージを共有できておらず、さらに人事部にも伝えていないこと。

そしてエンジニア側のイメージも、漠然と「この技術は知っておいてほしいなぁ」というレベルで、会社の需要に即していない場合があったりします。というかそういう場合が多いです

本来は「会社の現状に対してこういうスキルを持った人が足りないから、そのスキルを持った人を募集しよう」となるべきで、ぶっちゃけ人海戦術が必要な場面であれば、指揮系統や根本の設計がしっかりしていてちゃんとしたレビュアーがいればPHPerでさえあれば誰でもいい、コンピューターサイエンスの知識なんてどうでもいいかもしれない。
いや個人的にはそれだとまずいと思うんですが、会社によってはそれでもいいのかもしれない。

なので、現状とのギャップを認識し開発部内で意見をまとめ、それを人事部に伝えましょう。

とはいっても、「社内で現状必要ないスキルは募集するだけ無駄」というわけでもありません。
新規事業を立ち上げるときは、社内にスキルを持った人がいないアイデアはそもそも提案すらされないので会社の成長の機会を損なう可能性もありますし、本当は社内に必要なスキルだったのに誰も必要性に気づいていなかったなんてこともあります。

一般的な話をすると、特定のプログラミング言語やフレームワークの経験よりもコンピューターサイエンスに関する知識を求めたほうがいいですよ。

ソフトウェアエンジニアに必要なスキルはプログラミングだけではありません。コンピューターサイエンスの知識があれば設計段階で要件に応じて適切なデータ構造やアルゴリズムを選んだり、プログラムが謎の挙動をしたときに素早く解決できたり、未経験の問題に対して適切なアプローチを取れたり、新しい技術の習得が早かったりと、幅広く活躍してくれるはずです。
技術力で有名な会社は例外なくコンピューターサイエンスの知識を重視しています。

どこにどんな求人情報を出しているのか把握しよう

当然ですが、会社をとりまく状況は刻一刻と変化します。
会社が必要としているスキルも時間が経つと変わるでしょう。

例えば…

ウェブサービスのバックエンドにPHPを使っているので、当然PHPができる人を募集

しばらくして、PHPから全面的にGoに置き換え

ある日エンジニアから応募があって、経歴書を見たら「PHPバリバリできます!でもそれ以外は経験ありません!」

そんな状況は誰も幸せになれませんよね。

一方で「だいたいの業務をカバーできるように広い範囲のスキルで募集したらよくばりセットになってしまって誰も応募してこない…」なんてこともあったりします。

面倒かもしれませんが、募集要項は都度更新しましょう
そしてどこにどんな内容で掲載しているかを把握し、募集要項が変更されたら掲載先も忘れずに更新しましょう
もちろん外部の求人媒体に掲載しているなら更新依頼を出しましょう。

あと気をつけないといけないのはWantedlyとかの企業記事ページ。
求人募集で古いページがヒットしてしまう場合もあるので、応募前に採用ページを見てもらうように一文入れておきましょう。

求める人物像にも多様性を考慮してもいいのでは?

昨今ではダイバーシティーが騒がれていますが、こと募集要項の「求める人物像」に関して言えば、どの会社もほとんど同じようなことしか書いていないように思います。

現状に満足せず、積極的に提案してくれる方!
使いやすいサービスを作っていきたい方!

もちろんそういう人は必要ですし、こんなところを「現状のままで満足して何も提案しない方!」と逆張り募集されても困るんですが、当てはまらない人を問答無用でお祈りしてしまうのはもったいないなぁと感じます。

たとえば「あまり積極性はないけど、技術力はあるし指示に対して適切に動ける(言われたことを何も考えずにやるのではなく)」という人も十分戦力になるのになぁ…と思います。

とはいっても、積極性がある人が評価されるし給料も上がりやすいですよ。>エンジニアの方

募集ポジションと実態が違う

意図的にやっているのか役割を理解していないのか不明ですが、募集しているポジションと実際の業務内容が違う場合もあります。

たとえば「CTO募集!」と書いてあっても、業務内容はプロダクトマネージメントだったり。

こういうのが多いと「この会社、本当に大丈夫かな?」と応募者側が不安になります。

その経験年数、本当に必要ですか?

正直、経験3年も5年もそんなに変わらないと思います。1ヶ月と1年なら違うけど。

ただ、10年やっても上流の設計どおりの実装しかしていない人もいれば、始めて半年や1年で独自プロダクトを作っている人もいます。

転職エージェントに「面談確約」の条件としてつけるくらいであればいいかもしれませんが(誰彼構わず確約されても困るので)、そうでなければ経験年数よりも成果を職務経歴書とか面接で確認したほうがいいと思いますよ。

課題編

書類選考から面接までの間に技術的な課題を解いてもらうこともあります。そんな課題についても思うことが少々。

課題の分量は適切ですか?

解くのに数日かかるレベルの課題が出ると、応募する側としてはよほどその会社を志望していない限り「この会社はいいや。別のところにするか」という気分になることもあると思います。

熱心なエンジニアは「いや、最低限これくらい解けないでどうする!」と考えるかもしれませんが、本当に課題はその分量が必要ですか?そもそも課題でないと測れないのでしょうか?そして面倒な課題を解いてでも入社したいと思わせる魅力が貴社にはありますか

問題数を減らせませんか?面接時にその場でホワイトボードを使って解いてもらうことはできませんか?もしくは面接で根掘り葉掘り質問することによって測れる能力だったりしませんか?

課題の意図は明確ですか?

課題が出たのはいいけど、意図がよくわからないといった場合があります。
コンピューターサイエンスの知識を測りたいのか、下手でもいいからとにかく形を作れるスキルを測りたいのか。

課題の作成者が退職してしまい、課題の意図が共有されていない場合にありがちな問題です。でも作成者自身もあまり深く考えずに作ってしまう場合もあります。

たとえばHTMLやRSSフィードを読み込んで特定の要素を抜き出すような課題があったとして、パーサーを作る能力を見たいのか、既存のパーサーの中から適切なものを選べる能力を見たいのかがよくわからない。

あと、パース対象のデータが仕様に沿っていない場合(たとえば<が二重にエスケープされているとか)でもなるべく「望ましい方向」に解析できるようにすべきなのか、あくまで仕様どおりに解釈すればいいのか。

Pythonなんかは標準ライブラリーが充実しているので、問題によってはライブラリー一発で解けたりして、「ライブラリーを見つける課題なのか?」となることもあるので注意してください。

採点基準は明確ですか?

何を測りたいかわからないのが応募者だけならまだいいんですよ。いやよくないけど
ただ、採点者もわかっていない場合には、採点基準が採点者によってバラバラだったりします。

ある人は効率的なアルゴリズムを使っているかを重視し、またある人はソースコードが読みやすいかを重視し、またある人は入出力が規定通りかチェックするだけ…だったら応募者にとっては採点者ガチャの状態です。

採点者の間では、課題だけではなく意図や採点基準もきちんと共有しましょう。

面接編

面接は一番合否判定に影響します。応募者側からも会社を見極める最大の機会なので、下手な応対をするとせっかくの逸材を逃してしまうことになりかねません。

応募書類には目を通しておけよ?

「今までどんな仕事をして来られたんですか?」

経歴書読めよ!

あるある。
めっちゃある。

あなた、応募者に「この人は自分に興味ないのかな?」と思われてますよ。

履歴書・職務面接に経歴書を合わせても目を通すのに30分もかからないはず。
「忙しくて読んでいる時間がなかった」と言い訳をする人は、面接前の30分程度の時間も取れないほど忙しいなら面接をやっている時間はあるのですか

いや、たまにあります。面接前に読む予定だったけど、急な障害対応で時間が削られたとか。
でも、あなた自身が対応しなければいけないような事態でもなければ、他の人に対応をお願いしたほうがいいかもしれません。せっかくいい人だったのに、書類に目を通していなかったせいで応募者からの心証が悪くなり、ライバル社に取られてしまった…なんてことがあればこれは明らかな機会損失です。

別に書類を1から10まで読む必要はなく、業務で必要な知識をどの程度経験してきたのか確認し、その上で不明な箇所や詳しく聞きたい箇所といった質問事項をメモしておく程度でも全く違います。

「経歴書を拝見させていただいたのですが、○○という経験をお持ちのようですが、これについて詳しく聞かせていただけませんか?」と言うだけでも「ちゃんと自分に興味を持ってくれているんだ」という印象を与えられます。

棒読みしてない?

質問事項をまとめておくのは大事ですが、まとめた内容を棒読みすると、ぶっきらぼうに見えて結構な圧迫感がありますよ。

ただでさえ応募者は緊張しています。
棒読みすると、面接官本人にはそのつもりがなくても、圧迫面接とまではいかなくても「なんか冷たいな」と思われます。
別に声で演技しろとまでは言わないので、普段の会話を少し丁寧にするイメージで話したり、アイスブレイクとしてちょっとした雑談をしたりと、お互いの緊張を和らげましょう。

志望理由?たまたま目に留まったから!

「あなたが会社を選ぶときの基準はなんですか?」

これはわかる。給料・職場環境・技術レベル・自社サービス等々、どこを重要視しているのかを聞くのは大事だと思います。

「その基準ならウチじゃなくてもいいよね?」

はい。べつに貴社じゃなくてもいいんです。

自分なりの基準を持って、その基準に合致する企業を探した結果、貴社の名前がありましたので受けさせていただきました。

それで十分ではないでしょうか。

「いや、ウチじゃないといけない理由を知りたいんだ」
「ウチを選ぶ理由がないと、すぐに転職してしまうかもしれない」

おまいはメンヘラか。

せいぜい「なんか社名を聞いたことがあるから」「サービスを使ったことがあるから」くらいで、貴社じゃないといけない理由というのは特にありません。

逆に聞きますが、貴社には他社にはないオンリーワンの魅力があるのですか?
業界ぶっちぎりのシェアを持っているとか、誰もが憧れるブランド価値があるとか。
というかアナタが貴社を選んだときにはオンリーワンの魅力を感じたのですか?

このあたりのことは「カジュアル面談なのに"面接"をしているおまいに一言もの申ぅーす!。」にも面白く書いてあるのですが、
そんなの顔だよ!かーお!
これに尽きる。

優秀なエンジニアは引っ張りだこの売り手業界なんですから、放っておいても応募者入れ食い状態の魅力ある企業でもない限り、自社の魅力を伝えて「ここいいな、入りたいな」と思ってもらえるような努力も必要です。

スペシャリストとしての道

スペシャリスト志向の応募者から「スペシャリストとしてやっていけるキャリアパスはありますか?」みたいに聞かれることがあります。

それ注意してくださいね。

応募者が知りたいのは「スペシャリストがマネージャーと同等以上の待遇(立場や給与)を与えられているか?」ということであって、単に「御社にスペシャリストはいますか?」って意味じゃないですよ。

応募者から見たら「いや当たり前の話だろ、何いってんだよ」って思うかも知れないけど、よくあるんですよ。
わかってて言葉遊びしているのか本気でわかっていないのか、「はい、ありますよ!(技術力があっても平社員で給料も並レベルだけどね!)」なんて答える会社が。

応募者側も、「スペシャリストのキャリアパスを具体的に教えていただけますか?」「どういったスキルを持った人がどれくらいの給与レンジにいるのか、具体例を2つか3つほど教えていただけますか?」のように社内の現状をもっと具体的に聞いてみましょう。

何回か面接するなら、ちゃんと質問事項を共有しといてね?

一次面接でされた質問と同じような質問を二次面接でもされた、という人も多いのではないでしょうか。

警察の取り調べじゃないんだから。

そんな対応をされたら応募者は「この会社、業務内容をちゃんと共有・連携できてないんじゃないか?」と不安になります。そんなことで?と思うかもしれませんが、一時が万事という言葉もあります。

どんな質問をして、それに対してどんな回答があったのかを簡単にでもいいので共有しておきましょう。
面倒かもしれませんが、逆にこのあたりをきちんとできていると応募者から高印象だったりします。

最後に

いつになく長文になってしまいました。

かのスティーブ・ジョブズが「一流は一流を雇い、二流は三流を雇う」と言ったとか言わなかったとか。

採用を妥協することは組織の弱体化に直結します。「安い給料で雇えそうな人」ではなく、「自分の立場を脅かすかもしれないほど優秀な人」を雇いましょう。

もちろんそういう人は並の待遇では納得しないでしょうが、しっかりと利益をもたらしてくれるのであればその人のために給与テーブルを変更するくらいの気持ちで臨んではいかがでしょうか。

0 件のコメント:

コメントを投稿