にたまごほうれん草ブログ

はてなダイアリーから移行したブログ。以前のはこちら→http://d.hatena.ne.jp/emergent/

「炊いたん」過去記事:機械学習を新たに学んで転職活動に生かす話

 過去記事を放流して新しい「機械学習の炊いたん4」のプロモーションに活かす試み。とはいえ、この記事はQiitaやZennに書けないような「テクニカルな内容を一切含まない」半分ネタ記事なので、自身のブログで放流しておきます。

 半分ネタ記事とはいえ、人材採用を行うにあたっての考え方は今でも大きく変わりません。人材募集をする側の企業として、自分で書いたことに気をつけるようにしてから、この記事で書いたミスマッチングも減ってきたと実感しています。2年ほど前の記事ですが、お楽しみいただければ幸いです。


Pythonを使えるサーバアプリケーションエンジニアを募集したら謎のAIエンジニア志向の応募が多くて困惑する採用担当エンジニアの苦悩(というより機械学習を新たに学んで転職活動に活かすための話)

TL;DR

 最近機械学習を学んでそれを仕事にしたい転職志望者は、これまでのキャリアと地続きのシナリオを立てられるかが大事。企業側も、ちぐはぐな面談をせずに済むよう、十分な情報を出していきましょう。転職サービス・エージェントは、うまく橋渡しできるように努力しようね。

はじめに

 先ほどは機械学習ネタと見せかけて飼い猫を見せびらかすお話を書いてしまいましたが、またしても技術書にはふさわしくない(かもしれない)コラムを書いてしまおうと思います。

 さて、先のお話にも書いたとおり、私は音声に関するWeb APIをプロダクトとする企業に勤めております。弊社で使用する要素技術には機械学習・深層学習も使っておりますが、実際にAPIを製品ととして提供するにあたっては、それだけではございません。API設計からインフラ設計、実装にテスト、リリース、運用に関わるもろもろ(監視や集計)、ドキュメント整備や顧客問い合わせへの回答など、多岐に渡ります。おそらくWebサービスを提供する企業の多くは上記を担当する方々がいらっしゃることでしょう。

 前提として、私はそれら「プロダクトとして提供するための開発運用を行うチーム」に所属し、このチームメンバーのエンジニア採用に関わっています。ただ、開発言語にPythonを用いているせいか、上記のバックグラウンドがほぼ無いにも関わらず「キャリアチェンジを目的にここ半年で機械学習スクールを受講して修了した。Pythonはそこで初めて使用した」という応募者が一定数いる、という状況に苦悩しています。

 昨今、AIというバズワードおよび「AI人材が不足」「AIエンジニアは高報酬」といったニュース記事が多々流れてきます。そのトレンドに乗り、キャリアチェンジを目論むこと自体は否定しません。機械学習・深層学習を理解し使いこなすためには数日でできるようなことではないので、日常業務のあとに新たに学習するモチベーション、やり遂げる能力・根気は素直に素晴らしいと感じます。

 しかし、一企業の開発チームで採用を担当するようになって、これらキャリアチェンジ志望者と企業のマッチングは非常に難しいと感じています。転職志望者は、自分が経験した企業以外では、どういう仕事をしているかはわからないものです。ましてやキャリア「チェンジ」となると分からないことの方が多いでしょう。一方で、エンジニア人材採用においては企業側にも原因がないとは言えません。AIをバズワードとして使うことはどちらかというと企業側の方が多いでしょう。企業のプロダクト利用者(企業または一般顧客)には「最新技術を用いて高度なことをしている」ように見えたほうが響きますし。

 転職サービス・エージェントにも課題がないわけではないと思います。近年様々な(特に「エンジニア特化」や「高収入マッチング」を謳った)転職マッチングサービスが出てきています。しかし、初手のマッチングには違いがあれど最終的には人と人との面談を経て転職は決まるものです。

 次節では、「ここ1年以内に転職活動をして、現在は採用活動をしている」私の立場から、機械学習・AIを転職に活かしたいエンジニア、(機械学習に関わらず)エンジニアを採用したい企業側の双方についてよりよいマッチングができるようになるために何が必要か、を書いてみたいと思います。

 ちなみに、以下はGAFAおよびそれらを受ける転職志望者にはおそらく当てはまりません。強者同士の転職市場に入る自信がない、入る気がない(スタートアップ志向だから、など)ような方に読んでいたけたらと思います。

「より良い」転職志望者になるために

 私が社内の開発チームの採用活動に本腰を入れるようになって数か月、転職エージェントから紹介された、または応募のあった志望者の履歴書・職務経歴書に、すべて目を通すようにしています。私の所属する会社の求人には、Pythonを条件にしているからか、「AIエンジニア」「データサイエンティスト」のような職種を希望している方の割合がかなり高いと感じます。いけないことではないのですが、見たときに、つい「無いな」と思ってしまうのは「機械学習・AIとその方の過去の経歴のギャップが大きい」ケースです。

 一例を挙げると、以下のような経歴です。

  • 学生時代は文系学部
  • ホームページ制作会社に就職してHTMLコーダーとして案件をこなす
  • 働きながらAIエンジニア向けスクールに半年通って修了(ここで初めてPythonを触る)
  • AIエンジニアやデータサイエンティスト志望で転職活動

 ちょっと極端ですが、実際に何名か似た感じの経歴を見てきましたし、そうでなくてもここ数か月〜半年間、業務でお試し利用したことを理由にしたAIエンジニア志望の応募もありました。

 このような場合、少なくとも私の感覚では志望通りの転職は難しいと考えます。十分なバックグラウンドなく機械学習やAIをメインに据えて仕事をするポジションに人をアサインする判断を企業側もしづらいでしょう。

 実務で機械学習・AIを用いるには、その前段でのデータ収集の仕組み・実際の収集のフロー構築、学習後も、そのデータをどのように活用するか、機械学習用のPythonコードをいくつか覚えるだけでは対応しきれません。機械学習・AIの理論を深く追究するのであればなおさら、半年どころでは学べない数学への深い造詣が必要と考えます。

 職務経歴書を見る企業側としては、よほど「AIをかじったことのあるエンジニアを大量に欲しい」ような会社でない限り(あるのか?)、機械学習以前のキャリアと複合的に見るはずです。(私は見ます)

  • 大学で何を学んでいたか(工学への基礎的な素養はあるか)
  • これまでのキャリアが「経験豊富」なのか「専門分野に造詣が深い」なのか「どちらでもない」のか
  • チーム開発や関係部門と連携して業務ができるか

などなど。

 全く合致しなければ企業側もスルーできるのですが、悩ましいのは企業で募集している別領域の人材の要件を満たしている(例えば、サーバ/クライアントアプリケーション開発経験やインフラ構築経験が豊富)のだけど、機械学習エンジニアの志望と完全にはマッチしないというパターンです。入社してからも学習やキャリアチェンジの機会があるケースもあるため、機械学習・AIの専任のエンジニアという選択肢だけでなく、企業の求めるポイントを抑え、徐々に求めるキャリアを目指す方が(特にキャリアチェンジを目指す場合は)お互いにWin-Winだと思います。

 なので、行きたい or 気になる企業があったときは、これまでのキャリアと照らし合わせてアピールできるようにするのがよいでしょう。(してほしい)

具体的にどうするのか

 本節は、通常の職務経歴書はすでに書いてある前提で書きます。

 ポイントは、以下がきちんと繋がったシナリオを描いて伝えられるか、です。

  1. 機械学習を学ぶ以前のキャリア
  2. 機械学習・AIを用いて自分がやったこと/これからやりたいこと
  3. 企業の求人の内容

 1がITエンジニアである場合は、割と簡単ではありますが、それでも2との関連性が薄い/示せないと不当にダメな感じがでてしまいます。 3は必ずしも応募時点でわかるものばかりではないですが、エージェント経由で事前に質問するなどして聞けることを聞いておくとシナリオにリアリティが出るでしょう。

 いくつか例を挙げてみます。

1と3の業務内容に接点がある場合

これまでは、**業界で業務系サーバーアプリケーションエンジニアとして自社サービス開発を行ってきました。開発ではプログラミング言語○○やフレームワーク△△を用いてアプリケーション開発を主にやってきましたが、※※な機能を実現するために機械学習を用いる必要があり勉強して身につけました。 御社のこの求人に対して、これまでのキャリアを活かして開発を行いつつ機械学習を用いて機能改善し、事業に貢献したいと思います。

みたいな感じで。(もうちょっと具体的な感じにしたほうがいいかもしれない)

1と3の業務内容に接点が少ない場合

 どのような業務でも共通的に使えるスキルがあれば、それをアピールした方がよいかと思います。(マネジメント、提案スキル、対人コミュニケーションなど)

これまで**業界でウェブサイト制作業務をメインに業務を行ってきてプログラム開発・実装はあまり経験はありませんがスキルアップを目指し機械学習を学びました。 機械学習以外の業務は直接リンクしませんが、制作現場ではチームマネジメントを行い、顧客への提案業務も行ってきましたので、これらの経験を活かし、エンジニアチームを率い顧客データを活用した新サービス・新機能の提案・開発を行っていきつつ、他の必要技術も学んでいきたいと思います。

 自分にないスキルは、「これから学んでいく」という姿勢が大事ですね。

そもそも1がまったく関係ない仕事だった場合

 これはさすがにダメかもしれんね。

これまでアパレル系の企業でショップ店員をやっていたのですが、高度なコミュニケーション能力が求められる割りにお客さんに合ってない商品を薦めたりしていたことに危機感を覚えてAIを学びました。 ちゃんとエンジニアとして店員さんも仕事が楽になってお客さんも満足するような、そんなシステムをいつか作れるようになりたいとの思いが芽生え、エンジニアを志望しました。

 志望先の業界にもよるけど、書いてみたらなんかいける気がしてきた。

企業側は何を伝えるべきか

 今度は逆に、採用する側の企業ができる/やるべきことについて考えてみましょう。

 企業としては機械学習・AIエンジニアがピンポイントで欲しい場合を除き、自社のプロダクトに関連する技術をカバーできるエンジニア集団が必要になるでしょう。その際、機械学習を半年学んだので採用して!と来られても困りますよね。なぜそういう人が来るかというと、求人の情報が十分ではないからです。

 コーポレートWebサイト、求人サイトや転職エージェント向けの説明には、機械学習を触るにせよ触らないにせよ、どういう業務領域の人材を求めているか、できるだけ正確に伝える必要があります。技術を売りにしている企業であれば、コーポレートWebサイトには「AIを使って」とか美辞麗句が並んでいると思いますが、必ずしもAI専任エンジニアを最優先で必要となる状況は(規模が小さい会社であればあるほど)ないはずです。

 特に、私が「これを伝えるべき」と考えているのは、自社の「業務フロー」です。

 流通業や販売業、金融業では当たり前のように「業務フロー」は整備されていたりしますが、エンジニアの「業務フロー」は明らかにされることは経験上あまり見かけません。「開発フロー」は書いてあったりもしますが、「アジャイルで〜」と書いてあるだけだったりもします。

 私が想定している「業務フロー」は、もう少し幅広く、以下のような感じです。

  1. 直接関係する部門や顧客と、それらとやりとりする内容(インプット・アウトプット先)
  2. 自部門では何を開発/整備して、何をしないのか(インプット・アウトプットの内容)
  3. どういうチーム運営がなされるか(定例の打ち合わせや報告会、社内イベント)

 特に、1と2が明確になることで、転職志望者は自身のやりたいことやレベル感、例えば機械学習を触れるか(勉強できるか)、を判断できるようになると考えています。ちなみに、私はこれらを考えるようになってから、面談まで進めた場合でも、冒頭でまず、自社の説明・応募してもらった業種の仕事内容・業務フローをできる限りきっちりと説明するようにしています。

転職サービスやエージェントに期待すること

 ここまで書いたことを転職志望者と企業が正しく意思疎通できるよう、できるだけ正確に相手に伝えて欲しいです。また、エージェントさん自身も、技術用語に踊らされるだけでなく、精度の高いマッチングを実現できるようになってもらえるとうれしいな、という願望もあります。(直接言ってたりもしますが)

おわりに

 新卒の就活とは違い、中途採用だと即戦力が求められることも多いですが、キャリアチェンジとなると実務経験がない or 少ないままに転職活動することになりますのでその辺の矛盾に悩むことも多々あると思います。そのような際にこの文章が少しでも役立てばと思い書いてみました。

 転職は企業と人の双方に納得できることが重要ですので、入ってから「想像していた内容とは違った!」ということのないようにしたいですね。