第1章 実務で生き抜くためのエンジニアリングスキル
この章では、データサイエンティストをとりまく環境やスキルセットを知ることで
- この書籍の立ち位置
- エンジニアリングスキルを学ぶ意義
を明らかにしている。
1.1. データサイエンティストを取り巻く環境の変遷
データサイエンティスト黎明駅(2010年代)
この時期はまだデータサイエンティスト自体が珍しく、「単にPythonやSQLを用いてデータ分析ができる人材」を指すことが多く、希少で価値があった。
技術民主化の波とPoC止まりの現実(2010年代後半~2020年代前半)
黎明期から下記のような変化があった。
- クラウド環境が使われるようになった
- データの前処理や機械学習ライブラリが増えて基盤と道具が整ってきた
- Kaggleなどの普及により、技術的知見が浸透した
- ITインフラの発達により、大規模データを取り扱えるようになった
このような変化により、技術的ハードが下がることによって多くのPoCが行われるようになった。しかし、多くのPoCは本番運用まで到達しないことが多いように見受けられる。
このような技術の民主化に伴い、データサイエンティストは「プログラミング言語を使って分析ができること」だけでなく、「分析や機械学習を(ビジネスの)成果まで結びつけること」が強く求められるようになった。
1.2. プロジェクトで求められるエンジニアリングスキル
一般的なデータサイエンスプロジェクトのフローは下記のようなものがある。
| フェーズ | 実施事項 |
|---|---|
| 要件定義 | 現状を把握し、価値のある機械学習を導入するための要件を定義する |
| PoC | 機械学習モデルを技術的な観点で検証する |
| 試験運用 | 限定された機械学習モデルを適用し、運用の実現性とその成果を検証する |
| 本番運用 | 実際に機械学習モデルをオペレーションやシステムに組み込み、運用する |
| 保守・改善 | 運用中の機械学習モデルを保守し、必要に応じて改善も行う |
実際のプロジェクトはこのようなフローで進むが、データサイエンティストがエンジニアリングスキルを習得するプロセスはこうなるとは限らない。
またデータサイエンティストは下記のような課題に直面することも多い。
- 適切な環境構築ができていないため、コードの再現性がない
- コードの品質が低く、PoCや運用時に時間がかかる
- 現場のデータが汚い
- モデルを作成する際は、試行錯誤の結果を残す必要がある
- 分析結果やモデルの予測結果を提供しても活用が難しい
感想
黎明期の終わりに就職した自分も記載内容と同じく、コードが書けて分析ができるだけで持て囃されていた時期もありましたが、2026年となったいまはそのようなことは、ほとんどないと感じるようになりました(年齢もあるとは思いますが)。つまり**「成果まで結びつけること」の強まりを非常に感じています。**
また分析をすることのハードルが低くなり、ここ最近はデータサイエンティスト以外の人材もChatGPTなどのツールを用いて分析することが増えてきたように感じます。よりデータサイエンティストでないとできない仕事(より高次の分析、スキルの掛け合わせなど)を意識する必要があるとしみじみ思います...