データサイエンス プログラミング学習方法

30代未経験からデータサイエンティストとして転職する【体験談】



本記事では30代未経験からデータサイエンティストとして転職した私自身の経験をまとめます。

本記事の目的はプログラミングスクールや転職エージェントに斡旋するなどの目的ではなく、私自身の経験を共有することでデータサイエンティストとして社会人から新しくキャリアを踏みたいと思っている方の参考になる情報を発信することです。

したがって事実を曲げて理想論を述べるようなことはりませんのでご安心ください。

また、20代ではなく30代からのデータサイエンティスト転職に関して記載するため、生え抜きのデータサイエンティストを目指す方よりも社会人としてデータサイエンスを全く経験していなかった人が新たにデータサイエンティストとして転職を目指す際に参考になる記事かと思いますのでその点も読む前に理解いただければと思います。

こんな方におすすめの記事

  • これからデータサイエンスを学びたいと思っている社会人の方
  • データサイエンティストとしてのキャリアを踏みたい方
  • 参考としてデータサイエンティスト転職の経験談を知りたい方


著者の経歴

  • 機械系の大学院を修了
  • エンジニアリング会社で設計業務に従事
  • 未経験からデータサイエンティストとして社内転身
  • 32歳でデータサイエンティストとして転職


それでは始めましょう!

なぜデータサイエンティストを目指したのか


まず本題に入る前に私自身がなぜデータサイエンティストを目指したのか簡単にご紹介します。

もともとエンジニアリング会社で設計業務に従事していたため、データサイエンスの「デ」の字もない仕事をメインに行なっていました。


その中で常に感じていたのが「作業が力技すぎる」です。

創造的な仕事であるのでなかなか自動化は難しい業界でしたが、作業量的に単調な仕事 >>> 創造的な仕事」のバランスが多く、なんとか効率的にできないものかとモヤモヤしていた際に出会ったのが以下の著書です。


最近ニュースでよく聞くようになった人工知能とはなにか、どんなことができるのか大枠を理解した上で、近い未来ではなく今現実に機械学習を用いた様々な高度な予測が実現していること、その技術の進歩はシンギュラリティが話題になるほど劇的な速度で発展していることを知り、心の底からワクワクしたのを覚えています。

Pythonを学べば様々な業務を自動化できる上、将来的には機械学習にも転用できるなんて一石二鳥じゃん!とそそくさとデータサイエンティストという職種自体定義を理解しないまま、手探りで書籍を読み漁り勉強をはじめました。

勉強をはじめるとこんなことまで自動化できるのか!Pythonでのプログラミングってこんなに思い通りに簡単にできるんだ!と学ぶことの楽しさが爆発していました。



この「何か現在の状況を変えたい」と思った際に機械学習/深層学習などの分野を知り、興味を見てたこと。また嬉しいことにそれらの勉強が自分の性格にマッチしたこと。

この2点が私自身にデータサイエンスという職種の扉を開くきっかけをくれました。


脳みそ男

人生常に新しいことに挑戦していれば、自分の適性や楽しさを感じることに出会えるんだね!



30代未経験からのデータサイエンティストはどうあるべきか



30代からのデータサイエンティストはどうあるべきか、現在未経験から勉強し、データサイエンティストとしての肩書を持った私自身が思うところは

「個々人のキャリアにおける専門性 x データサイエンス」


を極めるのがベストだと思っています。


例えば営業に所属してキャリアを積んできている方であれば「マーケティング x データサイエンス」、生産技術でキャリアを積んできている方であれば「生産技術ノウハウ x データサイエンス」を極めるべきということです。

それはなぜか、データサイエンティストという職種は何たるかを理解すればするほど学ぶべきことの多さに驚愕することになるからです。



データサイエンティスト協会の定義するスキルチェックリスト

参照 ) DataScientist協会



Pythonのコーディングができるだけではなく、それらをもとにビジネスを前に進める力や、サーバーなどのインフラ周りの知識まで理解をする必要があり、かつ最新の論文などの情報も常にキャッチアップする必要があります。

昨日の今日まで何も知らなかった人物が働きながらの限られた時間で生粋のデータサイエンティストを極めることは難しいのではと心が折れそうになったこともありました。

では逆に社会人としてキャリアを踏んできた30代が出せる強みは何でしょうか?それは汗を流しながら習得してきた自分の社会人としての専門性(ドメイン知識)です。

そのドメイン知識を活かしながらPythonなどの新しい技術を習得すれば、100%胸を張ってデータサイエンティストです!といえずとも新たな業務への取り組み方やビジネス開拓の新しい切り口の提案など自身の会社や世の中を変えていける武器を手に入れることができると思っています。

それは最強無敵のデータサイエンティストがいたとしても、ひとりでは実現できない領域になり、そこで強みを出していけるのではないでしょうか。

私自身もエンジニアリング業界でドメイン知識を深め専門性とデータサイエンスの一部を習得したことによって社内での独自のポジションを確立し、様々な挑戦をさせてもらいました。

またその経験が生きてデータサイエンティストに必要な知見が100%出ない状況であってもデータサイエンティストとして転職することができたと思っています。

自身の周りを見渡してみてください。同じ部署内でPythonなどを利活用して業務に新しい取り組み方をしている方を見たことがあるでしょうか?私の経験からの想像ですが、まずまずいないはずです。

自分をブランディングするための手法として、現在のキャリアの専門性にプラスしてデータサイエンスを少しでも身につけることこそ、30代が新たなキャリアを踏み出すきっかけになると思います。




自分では当たり前と思っていてもそれは他の人にとってかなり専門性の高いスキルセットかも!

脳筋太郎



データサイエンティストになるための踏んだステップ



それでは本記事でのメインでもある私が駆け出しデータサイエンティストになるために踏んできたステップを紹介します。

このプロセスが正解とは思いませんが、個人的に振り返っても比較的遠回りをせずに様々な知識を習得できたと思っています。

まず詳細に入る前に大前提として学習のプロセスとして理論武装からのコーディング勉強はおすすめしません。よっぽどの精神がないと心折れます。

もっとも重要なのは「データサイエンスを楽しめるかどうか」だと思っています。楽しみながら学習をしていったほうが気づいたら多くの知識を得ているはずです。

いかに楽しみながら技術を習得していくのか色々工夫してみてください。

おすすめする学習ステップ

  1. Python等のコードを動かして楽しさを理解する
  2. 理論や統計、数学など足りない周辺知識を埋める


おすすめしない学習ステップ

  • 機械学習の理論や統計、数学の知識を習得
  • Python等のコードの実装方法を習得


G検定を取得してまず全体像を理解する



まず自分が学びたいことが何なのかどの分野を深堀りしていくのか方向性を理解する上でG検定を受験しました。

G検定はコーディングの設問自体は問われず、AIとは何かを理解するために全般の知識を問う資格になります。

G検定を取得した事によって最新の人工知能技術でどのようなことが実現可能なのか知見を深めたことが学習の手順としては良かったかと思っています。




Pythonのコーディング基礎を学ぶ


次に実際にPythonのコーディング勉強をはじめました。

このときに機械学習や深層学習の本からではなく、Pythonでできることの概要を理解して業務に応用できそうな内容を勉強したのが良かったかと思っています。

具体的にはExcelの自動化やフォルダ操作など以下の図書で勉強しました。



今はなきAidemyの学習プラットフォームでコーディングの勉強もしていました。今思えば以下のDataCampで早めに勉強を始めていればもっと効率的だったと思っています。


Pythonで形になるものを作ってみる


なんとなく検索すれば自分でPythonをコーディングできるようになってきたので、はじめはかなり時間がかかりましたが自分で業務に使える自動化アプリケーションを作成しました。

仕事柄大量の設計図書を扱う必要があったため、頻繁にフォルダのファイルの名称を変換したり、設計ソフトウェアの情報を取りまとめて図面におこしたりと頭を使わない仕事も多くあったためそれらを自動化する簡単なアプリケーションを作りました。

同僚などにも共有して喜んでもらえると嬉しかったのを覚えています。このときに保守運用の大変さも身に染みて痛感しました。作って終わりではないという点です。



副業でpython案件に取り組む


まだまだ力不足ではありましたが副業でpythonを使った案件に挑戦しました。中小企業の方からご依頼を受けwebスクレイピングや各種自動化アプリケーションなどを作成しました。

個人のツールではなく対価をもらって仕事をする必要があるのでいい意味でプレッシャーを感じながら学ぶことができました。

プロダクトのコードはどう書くべきか、コードテストはどうすべきか、などpythonの扱い方がかなり身についたと思います。

今振り返れば非常に雑な製品を収めていたかと思いますが、大変勉強をさせていただいた貴重な機会でした。



体系的にデータサイエンスを学ぶ


次にPythonのコーディングを活用して本格的に機械学習を勉強しだしました。

様々な本があるのでどこから手をつけていいかわからなかったので社会人の強みを生かして多少の費用はかかってもスクールに通おうと思いました。

将来的にE検定を受験することも考慮してプログラミングスクールの機械学習、深層学習のコースを受講しました(あえて受講先は言いません)。この際に専門実践教育給付金を活用したので実質費用は10万円もかかりませんでした。

安価で受けれたので良かったですが、個人的な経験から私営のプログラミングスクールはおすすめしません。データサイエンティストとして教鞭を正しく取れる人材がまだまだ日本にはいないからか、講師陣の方も説明は分かりづらく教材やサンプルコードにお金を払った感じでした。

また受講生もお金さえ払えば誰でも入れてしまうので、人材の交流の点でも微妙でした。

会社から行かされていいる方もいるので交流しようとしても一人で空回りしてしまうような空気感が少なからずありました。

ただ書籍での勉強共合わせてこの段階で機械学習や深層学習のコーディングに関する知識は少なからずついたので良かったかと思っています。

もちろん良いスクールも必ずあるのであくまで個人の見解です。

社内でデータサイエンス 転職する / 大学講座に通う


社内でPythonのツールを作成したりしていたこともあり、希望してデータ解析をおこない顧客にコンサルをするような社内グループに移動させてもらえました。

この際後電気通信大学のデータアントレプレナーフェロープログラムに通いました。


結論このプログラムでの経験が私のデータサイエンティストとしての中核を作ってくれたと思っています。

官民共に各分野で最先端を走る方々が講師として登壇してくれるうえ、受講合否も経験等でいい意味でフィルタリングされるため一緒に受講する受講生も皆さん積極的でまさに切磋琢磨できる環境でした。

この段階でデータサイエンティストとはどうあるべきかという考え方に加え、データサイエンスに必要な技術をすべからく習得しました。

何よりも一方通行ではなくチームでプロダクトを作って実際に企業の方に向けてプレゼンをして評価をいただくような環境は大学講座だからこそできることであり、私営のプログラミングスクールでは得られない貴重な経験でした

その経験は業務でも生き、実際に得た知見をもとに社内のデータ解析を行い客先にも価値提案できるようになっていきました。



統計検定2級の受験


電気通信大学のデータアントレプレナーフェロープログラムの一環で統計検定2級を受講しました。

統計の勉強はデータサイエンティストを名乗る上では必須だと思っていたのでいい機会でした。

現在はScipyを始め様々な統計パッケージがすでに誰でも使えるような形で用意されているため、直接統計を学んだからコーディングレベルが上がるようなことはありませんが、それらをある程度は正しく使えるようになった点で勉強してよかったと思っています。

実際に仕事を行う上でも顧客にデータから考えられる事実を説明するにあたり統計的な知識があれば言葉に重みが出ます。流石にPythonでコーディングした結果なので!という説明をするような方はいないかと思いますが、コピペして動いた!だけでは個人では良いかもしれませんがデータサイエンスを社会に還元する上では力不足なのだと思います。

引き続き准1級、1級も勉強していきたいと思っています。


python3 エンジニア認定データ分析試験の受験


こちらも電気通信大学のデータアントレプレナーフェロープログラムの一環で受講しました。

Numpy/Pandas等の基礎を確認する上で良い資格かと思いますが、受験時のスキルレベルでは内容的に容易だったので受験する必要はなかったかなと思います。

もう少し早い段階で受けていても良かったかなと思います。

この頃からDatacampでの勉強を改めてはじめました。DataScientist Courseを一通り終わらせ、その他も含め700コースほど受講しました。


体系的に学び直すことができたので非常に良かったです。下手に
種々の本を買うよりももっと早めにDataCampで学習しておけばよかったと思います。



データサイエンス仲間を作る


この頃から社内外でデータサイエンスのコミュニティに参加し、切磋琢磨できる仲間を作りました。

上記で述べた電気通信大学の講座で出会った方々と輪講などの勉強会を実施したりもしています。

データサイエンスは本当に学ぶことが多いので、周囲から知見を得ることは効率的に学ぶためには必要だと思います。

その他にもCDLEハッカソン2021にも参加させていただき、学生から社会人までいろいろな分野の方々と経験を積ませてもらうことで多くを学びました。

実際の企業データを使ってメンバーとともに一つのプロダクトを作る経験は本当に刺激的でした。

Dockerなどを実装する知識もこの経験で身につける事ができました。

最終的に企業賞を受賞し、その内容を一緒に参加したメンバー方に論文にまとめていただき採択され、人工知能学会全国大会でも発表予定です。


機械学習コンペティションに参加する



kaggleprobe spacesignateなどの機械学習コンペティションに参加しました。

テーブルデータから自然言語、画像までいろいろと参加しました。

データを受け取ってからのアプローチを他の方々のノートブックも参考にしながら組み立てていくのは非常勉強になり、最新の手法を知るにも最適な機会でした。ゲーム感覚で参加していたので楽しくて時間が溶けました。

この辺りで実際に手を動かしてデータを扱う方法や適切な仮説の立て方など本当の意味で身についたかと思います。

一緒にチームで参加させていただいた際には自分にないアプローチなど本当に勉強になりました。打合せしながら精度をどう上げようか相談しつつ、効果がでると嬉しかったですね。

Azureに関する知識を習得する


次に社内のインフラでAzureが使用できたのでAzure Machine LearningやWeb Appsなどを活用しながら業務に取り入れて行きました。

時間をかけてゼロから作り上げたら大変な労力がかかるようなインフラ整備もすぐにできてしまうので、情報を知らないというのは本当に罪だなと感じました。

クラウドサービスによるサービスは言語国内でどんどん広がっていくと思っているので、引き続き勉強していきたいと思っています。

適切な転職先を見つける


上記の経験を積み、やはりデータサイエンスを活かしながら社会に貢献したいという思いが強くなり、データサイエンティストとして転職を志しました。

自分がデータサイエンティストとして何をしたいのか自分の人生で築きたい方向性を明確にするために自己分析をかなり深く行いました。

その際にはMindmeisterのマインドマップを活用しました(面接対策にも利用しました)。

最終的には「データサイエンスを活用してビジネスを変革すること」が私の転職の軸になったのでそれが実現可能な会社に転職しました。

転職時には転職エージェントも利用しましたが、最終的には社外活動で出会った転職希望先の会社の方に直接話しを聞き、自身が目指すキャリアとのすり合わせを行って直接応募をしました。

エンジニアリング業界で国内海外問わず様々な顧客とビジネスを進めてきた私自身の専門性とデータサイエンスの素養をかけ合わせることで強みを発揮できたこと社外で様々な方との人脈を作れていたこと、この2つが次のキャリアへの扉を開けてくれたと思っています。



まとめ


最終的に自分がやりたいことを見つけ、それが実現可能な会社に転職できたことは以下行動できていたからだと今振り返ると思います。

  • データサイエンスと掛け合わせることで強みを発揮できる自分の専門性を理解できていたこと
  • 社内のみならず社外での人脈を広げたこと
  • 適切なデータサイエンス学習ができるプログラムを選べたこと
  • 会社でも社外でもデータサイエンティストとしての実績を積んでいたこと

転職はあくまでスタートなので、これからが私自身のキャリアをどう開いていくのかが非常に重要なプロセスになるのだと思います。奢らず謙虚に楽しみながらデータサイエンスを引き続き学び、社会に還元していけるよう頑張ろうと思います。

ここまで読んでいただきありがとうございました!少しでも読者の方の参考になれば嬉しく思います。

-データサイエンス, プログラミング学習方法