良いプログラマーを採用するには

ここで言う「良い」とは、優秀なとか、プログラミングスキルに長けたという意味。プログラマーと一口に言ってもいろんなタイプがいると思うし、お仕事だったら実務をチームでこなせることが第一条件になる。私なら以下の条件を全て満たせば良いプログラマーだと思う。採用やってるわけじゃないから本当にそうかどうかは知らない。

  • リーダブルコードが書ける
  • 継続的な学習習慣が身についている
  • 客観的に理解できるドキュメントが書ける
  • 英語の読み書きができる
  • プログラミングが好き

先日、管理部が上長に新卒採用で未経験であっても、どうやったらプログラマー適性のある新人を採用できるかといった話をしていた。中途採用を待っていても採れないから新卒採用に注力するらしい。そんな中で性格に多少の問題があってもプログラミングスキルの高い人を採用すれば、あとは開発側で何とかするといったことを話したところ、管理部もそれ自体は理解しているが、会社の方針としては「まともな」人しか採用しないから無理だと答えていた。テクニカルスキルよりも管理部や経営陣が重要だと思うヒューマンスキルがない人は採用しないという方針になっているらしい。

そこはさておき、話が発散して、中途採用であってもどうやったら良いプログラマーが採用できるかみたいな話に移っていた。この前、同僚とお昼ご飯を食べていたら、私のブログを読んで入社することを決意したという同僚が2名もいて驚いた。たまに私のブログ読んで面接に来る人もいるらしい。ブログってすごい、、、いや、今日はそういう話じゃない。

会社ブログの存在を知っている人だけ面接すれば良いとか、もっと対外的に情報発信すれば良いとか、インターンシップが良いとか、いろいろ話してたけど、どれも本質じゃないだろうと聞き流していた。良い人が応募してこない、良い人が採用できないといったことを言う管理部の言葉には暗黙の条件が付いている。

  • (他社より魅力がなくても) 応募してほしい
  • (他社より待遇が悪くても) 良い人を採用したい

私が求職者なら、まず業務内容と待遇で会社を選定する。そこで興味がなかったら応募はしない。管理部が業務内容を変えるのは難しいだろうから、変えられるとしたら待遇ぐらいだろう。それ以外のことを管理部がどうがんばったところで求職者には届かない。

当たり前の話だけど、組織で最も重要なのは評価制度と人事制度の2つだ。これがダメだと組織もダメになる。評価制度がまともであれば、優秀な社員にはそれなりの待遇になる。これは社内の話だけでなく採用の話でもある。優秀な社員にそれなりの待遇を用意していないと、それと同等レベルの求職者を市場価値よりも低い待遇で採用せざるをえなくなる。当然、応募が来なくなる。もしくは、社内は無視して同待遇の社員よりも低いレベルの人を採用してみたらどうなるだろう。入社後に業績に差があるにも関わらず待遇が同じだと人事制度が破綻する。入社後に待遇を落とせば良いという考え方もあるけど、一般に待遇を落とすという行為はモチベーションの低下を招きやすいため、その社員の業績がさらに悪化するという負のスパイラルを招きやすい。そして、最も恐いのがモチベーションの低下した社員が周りの同僚に与える負の影響だ。

結論から述べると、管理部がどうやったら良いプログラマーが採用できるかといったことを開発部門に聞いても意味がない。

それっぽい話が聞けて、なにか施策を行ったとしても、残念ながら自社の魅力や待遇が悪ければ求職者は入社してこない。そんなことよりも自社を他社よりも魅力的で待遇の良い会社にするための何かに注力すれば良い。中長期的に見れば、社員の幸福度があがれば業績にも影響を与えるだろうし、業績があがれば待遇も改善されるし、待遇が改善されれば求職者も応募してくるようになる。

もちろんそれは分かっていて短期的に採用実績という結果を出さないといけないというのが実情だろう。そうすると、やることは限定的で何も知らない新卒を採用をするか、半分詐欺みたいなことを言って求職者を入社させるしかない。私の知り合いの中にも、中途採用で入社後に予め確認した業務内容と全く違う業務にあてがわれた人がいる。諦めてそのまま働いている人もいるし、すぐに辞めた人もいる。そういった中途採用のマッチングが難しいから新卒採用に注力したくなるのも分からんでもない。

でもね。新卒を採用するとして、現場の社員が思うのは教育コストを管理部に負担してもらいたい。中途なら「これやって、分からんかったら聞いて」で済む会話が、新卒ならそれで何日費やすか分からない。

過去に学生インターンや新人の教育係をした経験からいうと、真面目に教育するには3倍のコストがかかる。

  • 自分の業務
  • 教育のための準備
  • 実際の OJT 的な業務

これでざっと3倍。あえて教育にかかる業務を自分の業務に含めずに書いたのは、多くの職場が新人に教育しているからといって、その人の業務を減らすような仕組みにはなっていないしそういった施策自体もない。教育という業務の重要性を管理部が理解していない、というのは管理部が採用実績しか評価の尺度にないからだろう。そういう意味で管理部という組織そのものの制度設計も老朽化してきているのかもしれない。

意識的にしろ無意識にしろ、組織には利害関係がある。それを把握した上でのグランドデザインがあって、それを達成するための施策があって、、、といった制度設計をするには、いまの企業の在り方や社会の変化の速さには追随できていないような気がする。

どうやったら良いプログラマーが採用できるか

この質問自体が時代遅れなのかもしれない。