宇宙開発系エンジニアが未経験からベンチャー企業の見習いデータサイエンティストに転職して1年経ちました

キャリア・転職

はじめに

こんにちわ!都内のベンチャー企業でデータ分析しているやじろべえです。
世界中でCOVID-19の感染拡大が続く中、こんな状況下でGWを迎えるなんてほんの半年前では世界中誰一人として想像していなかったと思います。
さて、そんな中で私はというと2020.5.1で現職のベンチャー企業(事業会社)に転職してちょうど一年が経ちました。
自粛期間という自分を振り返る良い機会でもあるので、私の転職までの経緯と転職してからの一年について経験したことまたは感じたことを記事にしたいと思います。
自分の経験が正直どこまで他の人の役に立てるのかはわかりませんが、誰か一人でも役に立つ、あるいは勇気を与えられる情報となれれば幸いです。

結論

少し長くなりそうなので、先にこの記事の結論をまとめます。また、長文を見るのが辛い方は、今後についてが一番伝えたいことですので、そこだけでも見ていただけると嬉しいです。
<転職するまで>
  • エンジニアからデータサイエンティストとして転職するのは決して不可能ではないし、むしろ親和性は高い
  • データサイエンスが学べるスクールに行って良かった

<転職してから>

  • ディープラーニング一択では無い。現場に応じて必要に応じてデータサイエンス技術を使い分けることが大事
  • ビジネス課題をデータサイエンスに上手く変換するところが一番難しい(けど一番やりがいがある)
  • 社内政治力がある人 >>>>> データサイエンティスト

 

自己紹介 / 経歴

  • 年齢:34歳
  • 学歴:某私立大学(物理学専攻)
  • 家族:妻、子供(3歳)
  • 受託系宇宙開発企業(7年) → 外観検査装置メーカー(2年) → ベンチャー企業(現職)
上記の通り、社会人の半分以上は宇宙開発の分野で仕事してきました。宇宙業界から離れると宇宙というフィールドが珍しいようで、今では物珍しい目でよく見られます(笑)。
また、大学時代も宇宙線物理学を学んでいた端くれで、学生時代から宇宙に興味がありました。
一社目の受託系宇宙開発企業では、主に宇宙開発をメインとしている国の研究機関からの契約(受託・請負)で仕事をしていました。
私は主に、宇宙放射線計測器の開発や解析、更にはスパコンを使った宇宙放射線のシミュレーションといったプロジェクトをメインとし、その分野の論文にも共著という形ですが結果を残すことが出来ました。その他にも、人工衛星画像の解析といった画像データを取り扱うプロジェクトにも参加することが出来、これが後のキャリアに大きく影響することになります。
二社目の外観検査装置メーカーでは、主に検査装置に実装される画像処理アルゴリズムの開発を行っていました。アルゴリズム開発だけでなく、実際に現地に行ってアルゴリズムの動作確認もすることが多かったので、この時期は国内/海外含めて出張が多かった時期でした。

宇宙業界を離れてデータサイエンティストを目指した経緯

私にとってのキャリアチェンジのキッカケは、一社目で人工衛星画像のプロジェクトをし始めたころになります。当時、宇宙放射線関連のプロジェクトをメインでやっていましたが、徐々に「この技術や分析結果が人々の役に立つのはいつになるのだろう?」と悶々とした気持ちになっていたことを覚えています。もちろんそれ以外にも社内環境の悪さといったことも諸々ありましたが。
ちょうどそのタイミングで人工衛星画像を扱うプロジェクトも兼務で行うことになり、ここで初めて基礎的な画像処理技術について知識を深めることが出来ました。また、世間ではAlphaGoが話題となり深層学習がブームとなり始めた時期でもあります。
私は画像処理や画像認識の楽しさや社会実装といった部分に惹かれて、もっとこの分野をやっていきたいと思うようになりました。しかし、人工衛星画像を扱うタスクは長期的な契約業務ではなかったため長く継続して作業をすることは出来ませんでした。
そこでプログラミングや画像処理のスキルをもっと上げるために環境を変えようと決意し、初めての転職をしました。
世間ではAIブームとなっていて、もちろん私も機械学習や深層学習をやってみたかったのですが、基礎的なプログラミングスキルや画像処理スキルを向上してからでも遅くないと思い、そういった観点で転職活動をしていました。そして運良く画像処理エンジニアとして検査装置メーカーに転職出来ました。
二社目では、主にC++を開発言語として検査装置メーカーに実装する画像処理アルゴリズムの開発がメインタスクでした。この企業では当時、深層学習といった技術ははまだ取り入れられてなくどちらかというと古典的な画像処理開発がメインでしたが、周りは優れたエンジニアがたくさんいて、彼らについていくために必死に勉強していたことを覚えています。
画像処理の知識を上げるために使った教材はこちらの記事にまとめています!
転職して1年半くらいまではがっつりと開発出来る環境だったのですが、その後徐々に私が開発したアルゴリズムが現場で不具合なく動作することを確認するための現地出張が多くなったこともあり、そろそろ機械学習や深層学習が出来る環境に移ろうと決意しました。
転職を決意はしたものの、機械学習や深層学習の経験が無いままではさすがに厳しいと感じ、仕事をしながらデータサイエンスが学べてかつ転職サポートも付いているスクールに通い始めました。それと同時に、Udemyや書籍を使って最低限の知識を身に着けていきました。
最終的には、スクールも無事に卒業しデータ分析や機械学習をメインとした仕事が出来る企業の何社からか内定を頂けました。その中で自分が最もやりがいを感じた現職に転職することが出来ました。
未経験の方がスクールに通うべきかどうか論争はよく聞こえてくるのですが、これはその人の置かれている環境によっても変わってくるので一概には言えませんが、少なくとも私にとってはスクールは良い学びの機会が得られ、納得出来る転職になったことは事実です。
転職活動では画像処理エンジニアとしての職務経験があり、更にスクールで機械学習の基礎を学んでいたのが有利に働きました。やはりエンジニアとしての経験はデータサイエンティストにキャリアチェンジする上で重要な要素の一つになりますね。
ここまでの私のスキルセットは以下のようになります。
  • プログラミング言語:Python, C++, C#
  • 画像処理:ImageJ, OpenCV
  • 統計知識:基本統計量くらい。有意水準、仮説検定→大学の講義でやったことあるような?レベル
  • 機械学習:スクールと独学での知識程度
  • データベース:SQL(スクールと独学での知識程度)
  • リポジトリ管理:SVN, Git(ちょっと)

現職に転職してからの一年を振り返る

2019年5~6月:

転職してからの一ヶ月は基本的にはスキル向上のために時間を使っても良いという会社の意向があり、徹底してcourseraのディープラーニング講座を受けました。新卒でも無いのにこういった研修期間を設けてくれた会社に感謝です。courseraについての詳しい話はこちらの記事にもまとめています。

2019年6~9月:

研修期間も終了し、転職後の初タスクがビジネスサイド(新規事業)が検討中のプロダクトに搭載する画像認識エンジンの開発でした。
ビジネスサイドから上がってくる要件はとてもフワっとしていて、要件をどうモデルに落とし込むかが大変でした。
結果的に、物体検出や分類器を複数用意し目的に合致するモデルを提案しました。
会社としてまだこの企画について正式なGoサインが出ていないため日の目を見ていませんが、正式なGoサインが出る時までいったんお預けとなっている状況です。
2019年10~12月:
次のプロジェクトでは初めてテーブルデータを使ったタスクとなりました。
現職は既にいくつかのサービスを展開しており、これまでは画像認識の分野では深層学習を使ったプロダクトをリリースしていましたが、他のサービスにも機械学習が使えないか社内的に話が上がっていました。
そして私自身、画像データだけでなく他のデータもチャンスがあれば是非チャレンジしたいという意向もあり、私に白羽の矢が立ちました。
具体的なプロジェクトの内容は書けませんが、ヘルスケア系の分類モデルの開発でした。
特徴量エンジニアリングとTreeベースのアルゴリズムを使ってモデルの開発を行いましたが、残念ながら目標としていた精度までは届かず。
色々な原因はあるのですが、このプロジェクトの一番の学びはそもそもの問題設定とデータの量だけでなく質も伴っているかをプロジェクト開始する前にしっかりと吟味することの大事さを痛感しました。
2020年1月~:
現在は割とアドホックな分析を担当していて、具体的にはあるマーケティング施策とその効果検証も含めて実験のデザインを行っています。
現時点では機械学習よりもどちらかというと、実験のデザインや正しく効果を測定する難しさを日々感じています。
また、これも詳細は書けないのですがサイドプロジェクトとして現職のサービスで得られるデータを使ってCOVID-19に関係する分析にも携わっています。
長くなりましたが、転職してからの1年間をざっと振り返ってみました。
こうして見てみるとこの一年の間だけでも多種多様なデータに触れることが出来、その都度挫折を味わいながらも出来る分析の幅を少しずつ増やしていってる気がします。
もちろんこのレベルではまだまだプロとは言えないとわかっていますが、焦らず一歩一歩進んでいきたいと思います。
ということで、転職して1年経過した私のスキルセットは以下のような感じです。
  • プログラミング言語:Python, R(ちょこっと), C++, C#
  • 画像処理:ImageJ, OpenCV
  • 統計知識:おそらく統計検定2級くらい。コロナが終息したら受験したいと思います。
  • 統計的因果推論:絶賛勉強中。効果検証入門や統計的因果探索といった書籍を熟読中。
  • 機械学習:基本的な機械学習(scikit-learnなど)や深層学習(tensorflow, keras)モデリング
  • AWS : データのダウンロードくらいにしかまだ使っていない
  • AutoML : 画像やテーブルデータで使用経験有り
  • データベース:SQL(中級くらい)
  • リポジトリ管理:SVN, Git
  • ビジネス力:ビジネスサイドからの要望に対してその課題をデータサイエンスに置き換える能力(初級くらい)
  • モデルの運用:まだ未経験

今後について

工学的なデータサイエンス活用はそれはそれで楽しいのですが、もう少し意思決定のためのデータサイエンスもやっていきたいと今は思っています。
理由は、どんなに良いモデルを開発してもそれが現場で使われなければ何の意味も無いことを感じたからです。
AIブームが叫ばれる一方、AIプロジェクトの多くが”PoC死”を迎えているという現実もあります。
これはビジネス課題をデータサイエンスに上手くマッピング出来ていないことも原因の一つであると個人的には感じています
経営者の全員が必ずしもデータサイエンスに精通しているわけでなく、一方でエンジニア(または分析者)が経営に精通している人も稀なわけです。
この状況下でデータサイエンスを上手くビジネス活用するためには、最新技術を使った高度なモデル作ることが大事なのではなくて、まずはビジネス課題に直結するような結果を淡々と出していき社内の信頼を獲得していく事が大事です。結局は色々な人が言われているように、モデルや分析というのはあくまでツールで、ビジネス課題を解決することが目的なわけです。
さて、ここまで理想的な事を書きましたが、正直ことを言うと日々の業務の中で「やってられない」と感じることも多々あります
例えば、ビジネスサイドの企画変更に振り回され、苦労して開発したモデルや分析結果がまったく使われなかったときや、社内政治力のある人の一言で分析結果が意思決定に使われなかったときは自分の存在価値とは一体何なのか自問自答することもあります。
こういったモチベーションが下がる場面は確かにあるのですが、総じて言うと自分はデータの分析をしている時が楽しいし、まだ誰も気付かなかったことがデータによって明らかになっていく過程が刺激的なわけです。
ということで、今後の自分のキャリアがどうなっていくかはまだ明確な解があるわけではありませんが、この界隈で少しでも貢献できるよう努力していくことだけを考えて日々精進してきたいと思います。

まとめ

宇宙開発業界をメインとしてきたエンジニアがベンチャー企業の見習いデータサイエンティストに転職するまでの経緯と転職してからの1年間を振り返りました。
データ分析と一言で言っても本当に学ぶことが多く、データ分析のプロとしてビジネスに貢献するのは本当にハードルが高いと日々感じていますが、おかげさまで刺激的で楽しい毎日を過ごせています。

最後に

子供がまだ小さく育児で大変な時期にも関わらず、仕事終わりにスクールに通うことを認めてくれたり、休日も自分のスキル向上のための勉強時間をくれた妻には本当に感謝です。
今後はもっと上手に家族と仕事を両立しながら、早く恩返し(金銭的にも時間的にも…)が出来るように頑張ります。

コメント

タイトルとURLをコピーしました