あなたが用意した書類を右から左に渡してもらっても、転職の成功率は上がらない。
この文章では、実現したいことを達成するために転職する際のアドバイスを記載する。(例は、画像認識・機械学習の分野に偏っている。あなたの分野に置換えて適宜解釈してほしい。)
転職は、やりたいことに応募するチャンス
- 高望みの転職であっても応募して傷つくことはない。
- せっかくだから、高望みかもしれない会社・職種をも考えてみよう。
(「も」であることが大事) - 今の時代の変化の中で、会社も変わってきている。
- 成長している分野は、人が足りていないことが多い。
1. 自分の強みを見つけ出そう
-
自分の強みを強くすることを考えよう。
- 強い部分が強いことが、アピールポイントとなる。
- 新しいことを成し遂げるには、強い部分が強いことが大切である。
- 例:「Yoloを使ってみました」では強みにはなれない。
でも「監視カメラ映像解析の中でYoloを使っていました。」だと強みが生まれてくる。その中で得られる知見があるからだ。
-
技術の組合せも強みを作れる
- 一つの技術だけで突出した技術では、他にもっと優れた人がいるだろう。
- 組み合わせると同時に満たす人は少なくなる。
- 作曲できることとプログラミングを同じ人ができることは珍しい。
- 組み合せた内容が価値を持ち、求人があれば、強みに変わる。
-
既に自分の持っている技術を、別の視点から捉え直す。いま、自分が持っている技術は、広く捉え直せば、別の価値を持つことに気づくこと。
- 例:スポーツの分野での経験があるとしよう。そしたら、動画からの姿勢推定技術は、そうでない人よりも活用できる可能性がたかい。
ある競技の中で、自分の動作が、いい動作になっているのかどうかを、分析することができる。競技の種類ごとの着目すべきポイントが何であるのかは、その競技をした経験のある人がよく知っている。動画解析の専門家は、競技の着目するポイントを知らない。だから、スポーツと動画解析とを組み合わせると新しい強みになる。
- 例:スポーツの分野での経験があるとしよう。そしたら、動画からの姿勢推定技術は、そうでない人よりも活用できる可能性がたかい。
-
その問題を解ける人を知ってるのも才能
独力で解ける範囲なんてたかがしれている。
実際に結果を出していくためには、その問題の解き方を知っている人と知り合いになることだ。その問題を解ける人たちとコミュニティを作り上げるのも才能だ。問題の解決方法を探してきて、それに従って解決すればいい。
誰に頼めば解決してもらえるのかわかっていれば、そこに発注して答を出すのも才能だ。
会社で仕事をしていれば、期日までに必用な結果を出せることが大事だ。 -
地頭(じあたま)の良さが伝わるように職務経歴を書こう。(嫌味にならないように)
2. 自分の関心を発信しよう。
あなたが関心を持っている分野について、情報を整理して発信していきましょう。
こういうのがほしいと思ったら、口に出すことです。
あなたが、有益な情報を発信し続けていれば、関心を持ってくれる人がでてきます。
私は、たくさんの人に育てられて今があります。
ですから、その中で学んだことを、伝えたいと思っています。
- 「こういうモノが欲しい。」
- 「こう作れば、ライブラリとして使いやすいはず。」
関心のある分野の情報が集まりやすい状況を作ろう
例:Twitterで、あなたが関心のある分野について情報を発信している人をフォローする。
そうすると、同じ関心を持っている人の視点を学ぶことができます。
その分野で、開発に熱心な企業の情報も見つけやすくなっていくだろう。
展示会や勉強会や学会で、ネット上の知り合いと実際に出くわすことも増えていくはずだ。同じ分野に関心を持つ人のコミュニティなんて意外と狭いものだ。
意味のある行動を積み重ねられるのは才能だ。
有用な情報の発信を続けていくことは、あなたの習慣になっていく。
それは、仕事の中にも現れてくる。
しっかりしたドキュメントを書く。
ちゃんと技術動向をおさえている。
開発した技術に対して、どんな人が関心をもってくれるのかを知っている。
そういったものは、将来あなたと一緒に仕事をしたいという人を作り出していく。
自分が勝てそうな場所で情報発信をしよう。
- 背が低い人がバスケットボールやバレーボールで勝とうとするのは得策じゃない。
- バスケットボールをすることで背が高くなるなんてことはない。
- それと同じように、転職においても自分が勝てる可能性が高い場所を勝負に選ぶべきだろう。
関心を持っている内容が重要とされる技術分野・産業分野を調査してみよう。
例:3D計測と画像認識
いろんな分野で、ロボットによる自動化が期待されている状況では、3D計測と画像認識の組合せは必要になる。
例:イチゴの収穫の自動化
例:収穫したみかんを運搬する自律搬送ロボット
そういったぐあいに調べていけば、3D計測と画像認識が必要とされる分野は多い。
自分自身の力をつけてそういった会社に転職するのもあるし、そういった会社への支援をしている会社に転職するのもあるだろう。
3. 自分を見定める。
その組織の中で自分がやりたいことを実現できるか。
自分には無理なこと、そこは自分の頑張りどころじゃないってのもあるだろう。
内定が出ればなんでもいいってわけじゃないはずだ。
例:機械学習のエンジニアとして自分を売る場合、どういう機械学習のエンジニアとして、あなた自身を売りますか。
少なくとも、以下の3つのタイプがあると思う。それぞれによって、自分の強みの設定が違ってくるし、売り込み方も変わってくる。
自分の応募がどのタイプなのかを見極める。
それに応じて、自分の準備をする。
突出型の場合:
- 突出したエンジニア(あるいは研究者)であることがわかる、外部発表を積み重ねていこう。
- 学会だけではなく、勉強会で積極的に発表を積み重ねていこう。
- どの分野のどういう企業がそれを必要としているかを知っていこう。
- 「大規模言語モデルの推論をするためのFPGA実装」などという突出した技術を業務としてさせてくれる会社は多くない。
- そういった業務を必要としている会社について、自分から探りにいく。
- そして自分を売り込んでいく。相手先企業に、「あなたなら任して大丈夫だ」という信頼を築いていって、それに応えていく。
バランス型の場合
- 技術が1つの分野だけで利用できることは少なく、周辺技術と組み合せて製品なり、サービスが出来上がる。
- ある技術のプロの度合いを知ってもらうには、該当技術と周辺技術のインタフェースの部分を高めるとよい。
- 技術の依頼を受ける、依頼された結果を受け渡す。そのときに相手の事情がわかるのがよい。
- 検収の際の受け入れテストができるとなおよい。
オペレーション型の場合:
「機械学習のエンジニアを募集中」という案件でも、機械学習の推論結果を利用するコードを書けるエンジニアを求めている場合もあるし、自分たちのデータセットで学習し運用するエンジニアを求めている場合もあります。
機械学習という広大すぎる領域は、分業化が進んできています。
例:MLOpsの場合
学習評価データの追加・学習の更新・評価結果の管理・結果のdeployなどの組織としての遂行がそれだけで重要な作業としてMLOps(継続的な機械学習を行うための手法)として成立しています。
MLOpsの推進を行う上では、DevOpsと共通の手法が重要になります。そこでは、学習アルゴリズムの改良の部分は2次的な話になります。学習アルゴリズムの改良の話は、別の担当者の作業と分離されることになりやすいと思います。
例:機械学習を利用する実装の開発
機械学習自体を実装するエンジニアよりは、機械学習結果を利用するエンジニアの方が圧倒的に多いはずです。
顔照合のアルゴリズムの開発・実装を行うエンジニアの数よりも、顔照合ライブラリを活用してシステムを組むエンジニアの方が圧倒的に多いはずです。
ですから、既存の実装を使ううえでのノウハウを知っていることが役立つことは多い。
ある技術分野の中で、「◯◯の範囲だったらできるよ」というのはとても重要です。
どの範囲だったら任せられるのかを知っておくことは、採用者側の不安を減らします。
オペレーション型の採用をする際には、あるていどバランス型のエンジニアがいることが前提になります。
採用側の企業の中で、その分野にどの程度バランス型のエンジニアがいるのかを採用面接時に聞いておくのはいいかもしれません。
自分が困ったときに、助けを求められるのかどうかは重要です。
(だって、一人で、自動搬送ロボットを作り上げられる人って、たぶんいないですよね。)
仕事の中で困ったことは必ず発生するものです、だから、上手に助けを求められて、一緒に解決にたどり着くのも才能です。
エンジニアのほとんどは、「この範囲は自分でできる」を積み重ねていった結果です。
突出した結果を出せる人も、バランスを持ってその分野のほとんどに対処できる人も、「この範囲は自分でできる」を積み重ねっていった結果です。
4.自分の価値を高める
自分がどの種類の応募をしようとしているのかによって、自分の価値の高め方は違ってくる。
突出型:
突出型にふさわしい成果を上げることに全力を尽くそう。
(私は、そのタイプではないので、詳しいアドバイスができない。)
バランス型:
その分野の技術を、利用者に送り届けるために必用なことについての関心をもって、自分自身を高めることを続けよう。
依頼者が求めるものを理解して、次の工程の利用者が安心して使えることを重視しよう。
言語やライブラリの使い方についての調査も怠らないようにしよう。
他のエンジニアが楽ができるように、その分野を活用するためのノウハウを共有していこう。
そういった実績を積み上げていけば、その人に任せれば安心という信頼を引き出せるようになる。
オペレーション型:
「この範囲だったらまかせなさい」という領域を少しづつ広げていこう。
例:pythonプログラマの場合
場合2:バランス型 を意識したときの習得しておいたほうがよさそうなのを以下の記事にまとめた。
Python プログラマのスキル標準化のための項目
スキルの棚だしをしてみよう
python が使えるでも、モジュールを作れるでもレベルの違いがある。
- moduleを作れる。
- pip でインストールできるようにリポジトリで管理できる。
- whl を作成してpypiや PackageCloudに登録できる。
ただ、単にpythonが使えるでは、使いこなしているレベルの違いがあるのだから、それがわかるように使えたい。
公開できる情報があれば公開する。
- 論文、特許などがあれば示す。
- github にアカウントがあって、有用な情報を公開していれば、それを示す。
- 現職の会社がオープンソース化に積極的であれば、その会社のリポジトリでの自分の寄与を示します。
- linkedin などでは、自分の書いたリポジトリを公開するのがあります。
5. 応募先を探す、理解する
応募先が、何を求めているのかを理解しよう。
そして、自分がどのように貢献できる部分があるのかを想像しよう。
そして、その貢献仮説を十分に膨らませよう。
企業様に提案するのは、十分に整ってからにしよう。
急いで応募しても、その企業様にとって魅力がある人物のようには見えないからだ。
応募先の探し方
- 自分の得意とする分野の近くの分野を探してみよう。
- 自分の得意としている分野で参入してくるエンジニアの数が増えてきていれば、競争が厳しくなる。
- 近くの分野であれば、まだ目をつけていない人もいる。
展示会を活用しよう
展示会は、その技術分野・事業分野での出会いの場所である。
それらの展示を見た中に、これをやってみたいというのがあるだろうか
もしあれば、その会社の中で何ができそうかを考えてみる。
その会社のwebページで、中途採用の情報を見てみよう。
あなたの得意とする分野のエンジニア枠がないか探してみよう
学会は懇親会こそ人脈を広げる場所
- 転職は、結局のところ人と人の出会いがもたらすものだ。
- この人たちと一緒に仕事をしたいと思えるチーム、そして、そこに私がいて何をオファーできるのかを夢想してみる。
- 意気投合する何かを得られるだろうか。
X(=旧twitter) で興味ある分野を見てみよう
- 技術を開発しているのは人だから、特定の人がツィート、リツィートしている内容を追っかけているだけでも役に立つ。
- そこに、求人に応募しませんかというのある。
古巣企業の状況を調べてみよう
会社によっては、退職者を再度受け入れている。
まったく知らない人を雇うよりは、既に会社の仕事の進め方もわかっている人なので、すぐに活躍してもらえる。
そういう理由で採用してくれる場合もある。
「出戻り転職」、「アルムナイ採用」というキーワードで、検索してみてください。
転職希望先で欲しがっているのは何かを理解する
- 必要になったら、使うための情報源だけ見つけておく。
- その分野については誰が詳しくてX(=旧twitter)で情報発信をしているなど。
- どの学会誌、業界誌、どの展示会で詳しい情報がえられるかなど。
- 挑戦する新規分野にあたりをつけて、その分野について少し調査してから、エージェントを通して応募する。
- エージェントの方に、その会社のその案件では、どのような素質・どのような能力が求められているのかを聞き出すのもあるだろう。求職のページには書かれていないことで、実は求められていることが、webページには記載してなかったりするものです。
- たとえば、次の記事は、画像認識屋・機械学習屋が次のチャレンジをする際の自らのスキルアップのヒントになるだろうか。
画像認識技術の領域は拡大している ー新しい分野へのチャレンジー
転職応募先にいる将来の同僚の状況を見極めよう
- 仕事でいい結果に恵まれたときには、たいがい優秀な同僚がいる。
- 優秀な同僚のおかげで、最新の流儀を学び取れてきたことも多いし、
さまざまなトラブルを一緒に超えてきている。 - 一緒に成長できるエンジニアが応募先と、自力で解決する必要のある環境では違ってくる。
- 自分自身がどういうタイプのエンジニアなのかと、応募先の将来の同僚の状況で、未来は変わってくる。
その企業の弱点はどこにあるか
弱点のない企業はないでしょう。それでも、どのような弱点がありそうかを予測し、わかる部分はわかるようにしておくことです。
-
活動内容
世の中の役に立っているか、立ちそうか。 -
開発スタイル
間違えた開発スタイルをとっている企業が、開発に成功することはありません。いまその分野で成功するためには、どのような顧客に、どのような価値を、どのような設計方針で、どのように作り上げて、どう提供する提供するのか。
その会社がどのような特許を出願しているかどうかは、会社がどう運営されているのかを結果の一つとして参考になります。
どんなにすばらしい企業理念をwebページに書いてあっても、それは運営された結果ではありません。出願への取り組み度合い、他社に事業を奪われないための取り組みの度合いが、見えているのです。
特許情報プラットフォーム -
財務状況
決算公告がwebで検索可能です。
それによって、財務状況を事前に知っておくことができます。
官報決算データベース -
口コミ情報サイト
例:openwork- 部署による違いが大きいことを予想しながら、読むここと。
- 残業時間が軒並みに大きいときには、組織的な課題を抱えているかもしれない。
今回の転職の次の転職をできる力量を保てそうか
年金生活に入れるようになるまでの日々は長い。
企業の中で安定した仕事が続くことは珍しくなっている。
だから、今回の転職後に次回の転職がある可能性は無視できない。
そのため、それぞれの職場で結果を出していくことが大事だ。
その企業では技術ブログの発信やgithub でのライブラリの公開をしているか
- 今の時代は、「よってたかって技術を良くする」時代である。
- 変化が激しいので、組織の枠を超えて協力することで技術が成り立っている時代である。
- 技術ブログを発信していることで、その会社のその開発チームの文化が伝わる。
- github でコードを公開していることで、OSSのコミュニティとの関わり方が見えてくる。
その会社に自分が入ることで何が貢献できるのかを深堀しよう
- 「面接フェーズで大事にしているのは「貢献仮説を持っているか」という点です。当社の事業戦略・開発タイムライン・現状の体制・自身の経験やスキルセットを鑑みた時に、どんな貢献ができるか、それはなぜかを仮説ベースに言語化できているかを見ています。」(一部改変)
- 転職活動の際には、それぞれの応募先に応じてこれを準備します。
7. 応募書類・面接
採用者が判断するのは、採用者にとって見えている情報から作り上げた「あなたについての理解」です。
ですから、採用者の判断基準を考慮した応募書類・面接への準備が必要になります。
わかりやすさを重視しよう
- 今伝えなくてもいいことは、省く。
- 単純化しよう。
- 詳しいすぎる話は、「要領を得ない人」というラベリング働く。
- すぐには理解できない話をする人に、無意識の嫌悪感をもつかもしれない。
詳しすぎるは不安を呼び寄せてしまう
技術に詳しい人がやらかしてしまう失敗。
人は、Goと判断するときには、不安がないことが大事。
余分な情報は、判断を鈍らせる。
特に、その場では理解できない内容を含めてしまうと、とたんに不安を招き寄せてしまう。
だから、詳しすぎないようにしよう。
エージェントを通す利点
- 採用者の判断基準に対して働きかける可能性がでてくる。
- 書類選考に通りやすい職務経歴書への書き換え
- エージェントに採用者視点でのレビューを入れてもらう。
- 書類選考の書類を出した時点で、応募者には弁明のチャンスはない。
- その人の強みがはっきりしていれば、エージェントもあなたを売り込みやすくなります。
どういう企業だったら、どういう才能の組合せを持っている人が求められているのかという部分を非公開求人を含めて知っています。
すすめないこと
- 適性や本人の希望も関係なしに企業を進めてくる紹介会社への登録
いらない紹介のメールだけが増えてくるばかりで、本来のメールが埋もれてしまう。 - スケジュール管理が困難になるほど、エージェントや案件を増やしすぎる。
一つひとつへの準備がおろそかになってしまいます。
それぞれの面接では、それぞれの職務に従った考え方をするように事前に自分の頭を訓練しておきます。
そうすることで、想定される質問に対して事前の準備をしておきます。
だから、エージェントや案件を増やしすぎないようにします。
採用者側の視点で読み返そう
-
応募者を雇わない選択をする理由を考えてみる。
-
その理由がありすぎるときは、採用されない。
-
転職にいたった理由と応募する理由との整合性
-
全ての会社でOKがでることはない。
- 自分が働ける会社は1社だけ。
-
一緒に仕事をしたいと感じさせる人になろう。
- 笑顔でいよう
- 共通の目標を実現しようとしている仲間だ。
- 正論を言うより、相手の状況を理解しよう
たいがいの状況では、正論であることがわかっているけど、なんかしらの理由で実現できていなくて、本人が苦しんでいる。 - あなたの知見を伝えよう。だけど押し売りにはなるな。
解決したい事業上の課題に対して、一緒に取り組むための仲間という意識を応募者であるあなたと採用側の担当者の両方で共有することがのぞましいと思います。
- 笑顔でいよう
引き継ぎ
- それぞれの会社で引き継ぎをしっかりやっておこう。
- その方が、責任をもって仕事を任せられると思ってもらえる。
8.自分を変えていこう
新しい組織の中で、新しい職務を担っていく。そのためには、自分自身が変わっていく。
今までだって変わってきたし、それはこれからも同じだ。
昔と同じ失敗は繰り返したくない。
成功したプロジェクトの多くは、チームとしての仕事がうまくいっていたからだ。
多くの人たちに支えられてきたように、困っているメンバーの相談になれるようにありたい。
面接官は、気にしている。「あなたは、自分の会社に溶け込んで、うまく他のメンバーと仕事をしてくれるだろうか。
あなたは、次の職務の中で、自分に足らないものに気づいて、それを補って仕事を成功に導いてくれるだろうか。」
あなた自身の話しぶりや、過去の実績や、いままさに、採用後に取り組む職務に対して、どう取り組もうとしているのか、
見通しはどうなのか。そういったものを伝えられるようにしたい。
9 オープンソースに寄与して自分の市場価値を高めよう
ある程度のスキルをもってるのに転職活動中になってしまった人へのアドバイス
オープンソースに寄与して、自分の市場価値を高めよう。
ある程度の水準に達しているエンジニアがより高みを目指すのは簡単になってきている。
- X(=旧Twitter)で、関心が同じ人をフォーローすれば、論文は見つけられる。
- arXivで論文はダウンロードできる。
- Abstractの部分を日本語に翻訳するのは、無料版のサービスでもなんとかなる。
「私はその分野に興味を持っている」を示すには、その分野の技術ブログが有効。
- 所属している会社が個人の技術ブログをいかなる形でも禁止している場合には、従うしかない。
- また、会社が開発している内容に関しては、会社の方針にしたがう。
- それ以外の場合だったら、世の中にあるオープンソースの解説や、論文の調査を個人で行うのは大丈夫だろう。
「私がその分野の開発ができる」を示すには、その分野の開発済みのコードを示すのが有効。githubならもっとよし。
口頭で「できます。」と言っても、それだけで任せていいかどうか判断がつくものではない。
ほんとうにコードを書けるのか、採用する側は口約束を信頼するわけにはいかない。
あからさまにコードを書けない人は、コードチェックのwebサービスで排除することはできる。
しかし、任せたい分野のライブラリやアルゴリズムを知っていて、実際に実装できる人かどうかは、コードチェックのwebサービスで知ることはできない。
そういう状況の中で、どういう分野に関心をもっていて、どういうコードが書けるのかを実例で示すことは、
その人の能力を測りやすくする。どれくらいのことを任せられるのかが見えてくる。
そのことによって、採用側の不安が減る。
githubで移植したコードを示すことは、その人の能力の証拠となる。
いろんなツールを使って書き上げたっていいじゃない。それらのツールを使えることだって才能のうち。
書き換えるためのヒントをChatGPTを使って探したっていいじゃない。そのヒントが有効であることを確かめて実装したのはあなたなのだから。
最新実装を移植できるのだって才能だ。
- 最近の進んだアルゴリズムに何があって、何が使えそうかを知っていていれば、あなたの使えるマシンで動作させてみよう。
- CUDAのあるPCでの実装をNVIDIA Jetsonに移植することだって十分に価値がある。
移植にトラブルは付きもの
- そのトラブルを解決できることも能力の一つ。
- ターゲットデバイス向けにdeploy できるのも才能の一つ。
移植の成果をドキュメントに書くのも才能の一つ
- 移植した結果をどうやって、わかりやすくまとめるのかも才能の一つ。