データサイエンスや機械学習に興味があるが、未経験からデータサイエンティストになれるか心配。
そういった疑問に私が未経験からデータサイエンティストに転職した経験と、データサイエンティスト系の職種とそれぞれの業務内容から転職するために必要なスキルについて答えていきます。
データサイエンティスト系職種とそれぞれの職種の業務内容
データサイエンティスとまたはデータサイエンスや機械学習を使う職種としては、最近では担当する業務の内容によって以下のような職種に細かく別れていることが多いです。
また、データサイエンティストとしての募集であっても実際の業務内容は以下の職種の内容を含むこともあります。
データサイエンティスト
データサイエンティストとしての業務内容は以下のようなものが挙げられます。
自社で持っているデータに対してどのように活用していくか、またAIや機械学習をどのような問題に適用するかといった比較的上流の部分から実際にデータを分析してレポートを作成したり、
機械学習モデルを構築したりといった業務があります。
- 運用している業務システムやWebサービスのDB(データベース)やDWH(データウェアハウス)からデータを抽出
- 抽出したデータを元にデータ分析(可視化や統計解析(アドホックな分析が多い))を行い、レポートの作成
- 機械学習やAIを活用したサービスの改善方法の提案
- 機械学習モデルや統計モデルの構築
スキルとしてはプログラミングの知識だけでなく統計学の知識や機械学習についても数学的な背景も含めて理解しているということが求められることが多いです。
また、どのようなデータが必要か、どのようにデータを活用していくかといったビジネスに関するソフトスキルも必要になることもあります。
データアナリスト
データアナリストという職種で企業が募集している場合もあります。
その場合は機械学習や統計学を使うというよりも、SQLや時にはExcelなどで集計等が主な内容の分析レポートを作成することを求められることが多いです。
業務内容としては以下のような業務があります。
- 運用している業務システムやWebサービスのDB(データベース)やDWH(データウェアハウス)からデータを抽出
- 抽出したデータを元に集計等を行いレポートの作成やBIツールを使って可視化
- どのような集計や分析レポートが必要かを分析結果を利用するユーザーにヒアリングする
スキルとしては、機械学習や統計学などを使う可能性もありますが、メインはSQLを使ったデータの抽出や集計、抽出したデータをExcelやBIツールを使うことが多いです。
機械学習エンジニア
機械学習エンジニアという職種もあります。こちらがどちらかというとエンジニアよりの職種になります。
業務内容としてはデータサイエンティストや自分で作った機械学習モデルを実際に運用するシステムに組み込んでいくことが主な業務になります。
また、機械学習を利用したシステムのインフラを担当することもあります。
- データサイエンティストなどが検証レベルで作成した機械学習のモデルを本番運用用のモデルとして実装する
- 機械学習を使用したシステムを安定的に稼働させるためのシステムの構成や要件などを検討する
- 機械学習を使用したシステムのインフラの構築
スキルとしては機械学習やプログラミングのほか、AWSのクラウドサーバーなどを利用した機械学習システムの構築なども必要なスキルになってきます。
- 分析基盤エンジニア
分析基盤エンジニアという職種では、主にデータサイエンティストやアナリストなどがデータを抽出するためのDWHやDMPなどの分析基盤を構築・運用するのが主な業務になります。
分析基盤の構築では、本番運用しているデータベースから、分析用のDWHに定期的にデータを移して分析に利用できるようにするというのがミッションになります。
- DBとクラウドDWH(Google Big Querry や Treasure Data)に関する知識
- ワークフロー作成フレームワーク(Airflowなど)に関する知識
- HadoopやSparkなどの分散処理技術
スキルとしてはデータベースに関する知識と分析基盤をどのように設計・運用していくかというシステム設計に関する知見も必要になります。
分析基盤のインフラとしてクラウドインフラを利用する場合はクラウドインフラに関する知見も必要になります。
未経験からデータサイエンティストになることは可能か
ここまでで、データサイエンスに関連する職種の業務内容や必要なスキルについて、話しました。
ここでは、データサイエンティストへの転職を考えている人の実現性や具体的にどのような方法でデータサイエンティストを目指せば良いかをお話したいと思います。
具体的には、エンジニア経験の有無、大学のバックグラウンド(文系か理系か)で、以下の3つのパターンについて分けて考えたいと思います。
- 大学(または大学院)は理系で現在エンジニア職として働いているパターン
- 大学(または大学院)は文系で現在エンジニア職として働いているパターン
- プログラミング自体未経験のパターン
1.大学(または大学院)は理系で現在エンジニア職として働いているパターン
このパターンの場合は、未経験からでもデータサイエンティストに転職できる可能性はあります。
現時点でのスキルとして、
- システムの開発、設計の経験(DBの設計経験があれば尚可)
- システムが利用される業務やサービスに対する業務知識
- 大学初等レベルの数学(微分積分、線形代数、統計学)を学んだ経験がある
- 大学院まで出ている場合は、修士論文の作成や実験計画などの経験もあるかと思います。
というスキルかと思います。
機械学習や統計学などを勉強しつつ、kaggleのコンペなどに参加して面接でアピールできれば、ジュニアレベルのデータサイエンティストとして採用される可能性は十分にあります。
また、機械学習エンジニアや分析基盤エンジニアとして転職し、その後データサイエンティストの業務にも業務内容の幅を広げていくという戦略もあります。
2.大学(または大学院)は文系で現在エンジニア職として働いているパターン
このパターンの場合は、数学や機械学習についての勉強の状況次第ではデータサイエンティストに転職できる可能性はあります。
ただこのパターンの場合は、入社後に苦労する可能性もあるので、機械学習エンジニアや分析基盤エンジニアなどからデータサイエンティストを目指すことをオススメします。
現時点でのスキルとして、
- システムの開発、設計の経験(DBの設計経験があれば尚可)
- システムが利用される業務やサービスに対する業務知識
というスキルかと思います。
機械学習や統計学などを勉強しつつ、kaggleのコンペなどに参加して分析の経験を積みましょう。
転職としては、機械学習エンジニアや分析基盤エンジニアとして転職し、その後データサイエンティストの業務にも業務内容の幅を広げていくという戦略をオススメします。
3.プログラミング自体未経験のパターン
このパターンの場合は、まずエンジニア職に就くということを第一目標に転職活動を進めていかれることをオススメします。
どうしても、データサイエンス系の職種に就きたいという場合のキャリアのスタートは、未経験からのデータアナリスト職でのスタートが現実的になります。
ただ、このデータアナリスト職についた場合は、業務の主な内容は
- 運用している業務システムやWebサービスのDB(データベース)やDWH(データウェアハウス)からデータを抽出
- 抽出したデータを元に集計等を行いレポートの作成やBIツールを使って可視化
- どのような集計や分析レポートが必要かを分析結果を利用するユーザーにヒアリングする
こちらの内容になるので、伸ばせるスキルとしてはSQLやBIツールの使い方が主になります。
機械学習のプログラミングのスキルや統計学などの知識を業務の中で伸ばしていくのは難しくなります。
そのため、まずはエンジニア職に就くことを目指し、転職したエンジニア職で業務やサービスとデータがどのように関連してシステムが作られているかなどを意識しながら経験を積むのが良いかと思います。
機械学習や統計学などの勉強は並行して進めましょう。
まとめ
この記事では、データサイエンスに関連する職種の業務内容と必要なスキルを紹介し、現在の皆さんのスキルや職種の状況に応じてデータサイエンティストへの転職の可能性とデータサイエンティストを目指すキャリアパスについて、お話しさせていただきました。
ちなみに私は2.のパターンで、未経験からデータサイエンティストに転職しました。
皆さんも今回の記事を参考に、機械学習や統計学の勉強を進めつつ、データサイエンティストを目指していただければと思います。