転職活動中です。

ご挨拶

初めまして。
閲覧有難うございます。
本記事はデータ分析エンジニア(AIエンジニア)の採用を検討している方を対象に、書かせていただいたものです。
転職については前向きに考えており、ブログを開設した理由も少しでも多くの方々の目に留まる事が目的です。
内容としましては、転職理由含めた簡単な業務経歴と、私のエンジニアとして持っているマインドを盛り込んだつもりです。
それではかなりの長文となっておりますが、宜しくお願い致します。

プロフィール

【年齢】28
【性別】男
【現住所】下北沢
【技術年数】3年(+独学2年)
【学歴】大学卒(情報科
【希望入社時期】2019年7月~2019年8月
【好きなもの】お酒

希望条件

  • 年収600万円以上
    • 自己研鑽の質向上や、コミュニティの幅を拡げる為の資産的基盤を築く事が転職の目的ですので、提示年収を最重要視します。
    • 現職の年収は、残業手当を除く各種手当を含み、約450万円です。
  • 勤務地が東京又は神奈川
    • 現住所は下北沢の為、新宿渋谷辺りは10分圏内です。
  • コミュニケーションが活発な現場
    • エンジニアにとって、気兼ねなく質問しあえる環境は必須と考えております。
    • データ分析においては、進め方や見解の相違は頻繁に起きえますが、相手を尊重する姿勢をもって議論を重ねていきたいです。

現職についてと、転職理由

現在在籍している会社は所謂「SES」と呼ばれる企業で、データ分析エンジニアとして客先常駐しています。
昨今は特に、SESと聞くと非常にマイナスイメージが強いと思われますが、「あくまで私の価値基準」では現職はとても良い会社だと感じています。
4000人を超える規模でありながらも社内の風通しがよく、社内SNSでは、毎日役員から新卒社員まで活発に意見交換が行われています。(業務、プライベート問わず)
取引先もこの業界の人間であれば知らない人がいないという企業ばかりですし、よく聞く多重請負も私の知る範囲ではありません。
それはつまるところ、上流工程や、レベルの高い案件にアサインできる機会が増えると同時に、派遣という立場上、即戦力として期待される状況に自らを追い込む事が出来ます。
その上で450万円という年収が多いか少ないかという話は別にありますが、
昨年からリーダ業務(数名のメンバーの育成、評価を担う役職)を担当している事もあり、貴重な経験を多く積ませていただいている実感と共に、私は今の会社に感謝しています。
その為、現職と折り合いがつかなった結果転職という決断に至った、という訳ではありません。

決断の理由は、給与の向上と、SESとして働く中で、自身の行動やアウトプットが自社の数字に直結する働き方に変えた方が、仕事に対してより真剣に向き合え、やりがいを得られると感じたからです。
基本的にデータ分析業務はチームで行う事が多いですが、自身の提案したアプローチによってモデルの精度を向上させる事が出来た時、または難易度の高い案件をメンバーで協力して乗り切った時、 嬉しい気持ちの反面、どこか冷めた自分がいる事に気付きました。
それはプロパーの方々にとってはそれが社内評価や、自社を盛り上げたという誇りになるのに対して、私は「サポート役」という感覚が拭えなかった事が原因だと感じています。
当然これについては人それぞれの価値観による部分なので、SESという業態を否定している訳ではなく、あくまで一個人の感覚として理解していただければと思います。

以上が転職の決断をした理由となります。

また、私は「社会にとって有益な効果をもたらす人間になりたい」というマインドが非常に強いです。
その為には、のしかかるプレッシャーも強く、得られる刺激も多い「新天地」に身を置く事で、自身の成長速度を上げたいと考えている背景もあります。

自己アピール

基本的には一気通貫でAI導入におけるフローは独力で行えます。
(一例)
お客様との商談
  ↓
入力データの加工
  ↓
学習・評価プログラム作成
  ↓
結果の分析
  ↓
簡単な可視化ツールの作成

現職においても、SESという立場でありながら、若手のプロパー社員様を下に就けていただき、 プロジェクトリーダとしてお客様との交渉や、チームの進捗管理を行う役目を担当する場合もありました。

SIerという観点から見たAI」の難しさは、契約時のお客様との意識のすり合わせが大部分を占めると言っても過言ではない為、リスクヘッジは行いつつ、お客様の要望を満たす落としどころを見極めて提案する事には自信があります。
挙げればキリがありませんが、中でも特に下記の項目については詳細に整理する事を心掛けています。

  • 納品物の整理
    • 学習済みモデルや報告書を納品するだけでよいのか。
      • お客様側の環境で定常的に動かせる様なツールが別途必要か。
  • 受領データの情報
    • アノテーションの正当性は担保されているか。
    • 入力データが画像の場合、どういった撮影環境で集められたものなのか。
      • カメラのフォーカスやホワイトバランスの設定はどうなっているか。
      • 撮影された場所は室内か屋外か、時刻は一律か。
    • 入力データが画像以外の場合、データはどのような形式をとっているのか。
      • 欠損値は存在するか。
      • カテゴリデータは存在するか。
  • 実際の運用フローは想定されているか。
    • 今後も新しいデータが増え続け、追加で学習が必要なのか。
      • 汎用性に重きを置いてアルゴリズムを選定や分析を行うべきか。
      • 実運用に使用するマシンスペックも考慮する必要があるか。
    • 誤判定を許容できるシステムなのか。
      • 正常データを異常と予測する分には良いが、異常データを正常と誤判定する事は許されない等のルールは存在するか。
      • 基本的な考え方として、AIは100%の精度は出せない事をご理解いただけているか。

また、転職先としてはデータ分析業務を希望しておりますが、エンジニアに転職する前には独学でECサイトJava+Struts)を作成してレンタルサーバにデプロイまで行ったり、 現在においては休日等を利用してブログ形式のWebサイト(Ruby+Rails)を作成したりと、データ分析業務のみに囚われず、様々な知識に興味があります。

データ分析との関連性は薄い、触れた事のある言語(ツール)は以下になります。

基本的に技術やツールに好き嫌いはしない性格の為、今後も継続してデータ分析以外の分野の知見も深めていきたいと考えています。


業務経歴

現在までに担当した案件を簡単にご説明します。
公に出来ない内容が多い為、詳細なアプローチや対象物はぼやかしているものもあります。

  • 複数の脆弱性診断ツールを一括操作可能なコントローラ開発案件
    • 使用した技術、ツール群
    • 概要
      制御APIが用意されている複数の脆弱性診断ツールを、一括管理、操作を行うWebアプリ開発案件。
      メンバーは自分含め3人。
      PLは立てずに、設計は全てチーム3人で議論しながら行い、開発部分の担当を分ける形で進めた。
      自分:Bottleのコントローラ(index.py)とviewの実装。
      メンバーA:脆弱性診断ツールのAPIコントローラ実装
      メンバーB:データベースの構築、DBコントローラ実装

      使用用途はエンジニアが使用する社内ツールの為、軽量フレームワークのBottleを採用。
      また、デザイン性の考慮は必要なかった為、CSSは各ページのオブジェクトの配置や、脆弱性診断結果可視化ページのレイアウト修正のみに適用。

  • 物体Xの不良品判定AIモジュール開発案件
    • 使用した技術、ツール群
    • 概要
      作業員による目視で行っている物体Xの不良品チェックを、定点カメラによって撮影された画像を使って自動化できないかという案件。
      メンバーは自分含め5人。
      基本的には自身が、契約の交渉、データ加工、モデル構築、結果の分析の流れを全て担当し、チームメンバーには学習のマクロ化や、チーム内の議論に必要な予測結果の可視化を依頼した。
      作業の進め方としては、お客様より、ある程度のAIのイメージが知りたいとの要望があった為、まずはkerasに実装されているVGGモデルを利用した転移学習を実施。
      必ずしもそうとは言えないが、まずはその結果を最低ラインとして伝え、お客様の信頼を得た上で本格的な作業にあたる事とした。
      その後、画像の性質からopencv-pythonにてグレースケール化や、エッジ強調といった加工を施した上で、kerasにてモデルの構築を実施。
      過学習や局所解といった分析項目に留意しつつ、適宜kerasのジェネレータ等も利用して精度向上に努めた。
      結果としてお客様の求めるラインをわずかに上回るモデルを生成する事に成功し、案件を終了とした。

  • 定型業務の自動化を目的とした、機器Xの自動制御案件
    • 使用した技術、ツール群
    • 概要
      化学プラント内で24時間稼働している機器Xの操作、制御を自動化できないかという案件。
      メンバーは自分含め5人。
      基本的に自身が所属するチームはAIエンジンの開発を専門としているが、本案件においてはそのI/Oを管理するシステム開発の要素も含まれていた。
      (普段はAIエンジンの開発を自チーム、システム開発周りを別部署チームという住み分けをしている)
      そこでメンバーにシステム開発経験が豊富なメンバーいなかった点から、自身はモデル予測の検討、考察ミーティングにのみ参加し、
      JavaFXを使用したシステム開発周りを担当した。
      現場でのみ使用する社内ツールという位置付けであった為、デザイン性は重視されていなかった事もあり、Pythonとの連結部分に注力し、実装を完了。

  • 採用の効率化を目的とした、採用面談の自動化案件
    • 使用した技術、ツール群
    • 概要
      採用基準の統一化や、採用にかかるコスト削減を目的に据え、企業の採用面談の自動化が行えないかというPoC検証案件。
      メンバーは自分含め7人。
      前提として、本案件は研究案件であり、システム化を考慮していない。
      流れとしては、実際にアルバイトの学生を集めて面接風景を撮影し、その動画データから抽出した特徴量を入力データとし、面接官の評価を正解値としたモデルを生成し、精度の検証を行った。
      自身のタスクは、撮影した映像や音声データから、面接の評価に繋がりそうな特徴量の模索と、その取得作業であった。
      行ったアプローチの一例として、動画から抜き出した音声データ対し、フーリエ変換等の処理をかませた上で、声の抑揚や、発話スピード、安定性といった特徴量の取得を試みた。
      同様に、映像データからは視線の動きや、笑顔でいる比率といった特徴量を検討し、取得を試みた。
      特徴量のあたり付けは過去に行われてきた研究や論文を参考にして検討し、実際の取得については自身で様々なツールとPythonを組み合わせて実装した。
      その後、取得した各々の特徴量を予測モデル検討チームに提供する事には成功したが、それを用いた検証の結果としては、
      そもそもの正解データにブレがあった事や、マルチモーダルを意識した特徴量でなければ人間の感性を表現するのは難しいという見解に落ち着いた。
      (面接官によって評価にバラつきがあった事による正解値の曖昧さや、視線が逸れた時に何を話していたかといった具合に、複合的な特徴量を作る必要があるという内容)
      しかしながら、今回取得に成功した特徴量それぞれに即した題材(採用面接ではない用途)に適用する事で可能性が開けるとされ、研究は継続された。

  • 点検作業軽減を目的とした、物体Xの経年劣化予測案件
    • 使用した技術、ツール群
    • 概要
      作業員によって長年蓄積された点検データを基に、点検対象物の経年劣化を予測するAIエンジン開発案件。
      メンバーは自分含め12人。
      本案件においては、受領したデータが非常に膨大で且つ、ノイズが多数含まれていた為、自身は予測モデルの検討は担当せず、入力データの検討、加工のみに注力した。
      その上で、実施したタスクの中でも、検討の大部分を占めたのが受領データ内における欠損値の補完方法であった。
      データには量的変数と、アイテム数の多いカテゴリ変数が混在しており、データ量や前処理にかかる計算時間の観点から、ダミー変数化は難しいとした。
      そこで近似データを計算して代入する「hot-deck imputation」の考え方を踏襲し、カテゴリ変数と量的変数を同時に扱うアルゴリズムを自身で実装し、欠損値の補完に対応した。
      (hot-deck imputationは、欠損値以外の説明変数の類似度で補完値を算出するアルゴリズムである事から、カテゴリ変数はアイテムの一致を確認し、量的変数はパラメータとして与えた閾値の範囲内を一致と定義する事で補完値を算出した)
      結果的に欠損値補完等の処理を施した入力データを使用した事と、予測モデル検討チームの考案したアルゴリズムによって、お客様の要件を満たすモデルを納品する事に成功した。

今後の自己研鑽

技術的に自分に足りないものはまだまだたくさんありますが、個人的に一番注力したいのは、「英語力」です。
別段、日本を出てグローバルに活躍したいと考えている訳ではありませんが、英語が読めない話せない今の状態は、仕事やプライベート問わず非常に大きな機会損失をしていると感じています。
その為、成し遂げたい目標を先に見据えるのではなく、チャンスが訪れた時に飛び込める手段を確立させておきたいという意味で、コスパの良い(習得する事で得られるリターンが大きい)英語を、今後身に付けたいスキルとして挙げました。
とはいえ、結局のところ私はこの仕事が大好きなので、並行してエンジニアとしての新しい技術や知見も身に付けていきたいと考えています。

最後に

ここまで長文駄文にお付き合いいただき、本当にありがとうございました。
これでもまだ情報として不足している部分もあるかとは思いますので、質問は随時受け付けております。

ご興味を持ってくださった方、ご連絡お待ちしております。