こんにちは。FLINTERS BASEでデータエンジニアをしている桑野です。
最近、エンジニアやエンジニアを目指す方々と話す中で、
- データエンジニアという職種に興味、関心がある
- どのような仕事をしているのか知りたい
- 自分に向いているのか確かめたい
- 学び始めるなら何から手を付ければよいかわからない
といった声をよく耳にします。
一方で、データエンジニアはソフトウェアエンジニアやWebエンジニアと比べると情報が少なく、実際の仕事内容やキャリアのイメージを掴みにくい職種でもあります。
そこで本記事では、「まずはデータエンジニアについて知りたい」という方向けに、できるだけお金をかけずに仕事内容や必要なスキル、業務の雰囲気を理解する方法を紹介します。
データエンジニアという仕事の輪郭を掴み、自分に合っているかを判断するための一助になれば嬉しいです。
データエンジニアの世界観を知る
いきなり技術書を読むよりも、まずは「データエンジニアとはどのような仕事なのか」「どのような技術や課題に向き合っているのか」を知ることをおすすめします。
技術イベントを閲覧してみる
企業のエンジニアが登壇する技術イベントに参加すると、実際の現場でどのようなデータ基盤や分析基盤が利用されているのかを知ることができます。
例えば、以下のようなイベントプラットフォームでは、データ分析やデータ基盤に関するイベントが頻繁に開催されています。
※「データ基盤」「データ分析」「データエンジニアリング」「データベース」などのキーワードで検索してみるのがおすすめです。
オンライン開催も多いため、気軽に参加できるのも魅力です。
なお、発表内容を最初から深く理解する必要はありません。私自身も業務として関わる前に参加した際は、正直なところ内容の多くを理解できませんでした。
まずは「こういう課題を解決しているのか」「こんな技術が使われているのか」といった雰囲気を掴むことを目的に、気軽に参加してみるとよいと思います。
動画でデータエンジニアの概要を学ぶ
また、データエンジニアという職種について知る方法の一つとして、YouTubeなどで公開されている技術系の動画を視聴する方法があります。
実際の業務内容や利用されている技術、現場で直面する課題などについて語られている動画も多く、データエンジニアの仕事をイメージする助けになります。
例えば、データエンジニアリングに関する情報を発信している YouTube チャンネルとして Data Engineering Study があります。
動画を視聴することで、
- データエンジニアはどのような仕事をしているのか
- どのような技術やツールが利用されているのか
- 現場ではどのような課題に向き合っているのか
といった全体像を掴むことができます。
参考:
まずは興味を持ったテーマの動画をいくつか視聴してみるだけでも、データエンジニアという職種への理解が深まるはずです。
SQLに触れてみる
データエンジニアにとって、SQLは最も重要なスキルの一つです。
データエンジニアの仕事では、保存されたデータを取得・加工・集計する機会が数多くあります。そのため、多くの現場では日常的にSQLを利用しています。
また、データアナリストやデータサイエンティストなど、データ活用に関わる職種の多くでもSQLが利用されているため、データ領域に興味がある方にとって学んでおいて損のないスキルです。
まずは複雑なことを目指す必要はありません。「必要なデータを取得できる簡単なクエリを書けるようになる」ことを目標にしましょう。
無料の学習コンテンツで基礎を学ぶ
SQLを初めて学ぶ場合は、まず無料で利用できる学習サイトやチュートリアルを活用するのがおすすめです。
動画やスライドだけでなく、実際にSQLを書きながら学べる教材を選ぶことで理解が深まりやすくなります。
例えば、Progateではブラウザ上でSQLを実行しながら基礎を学ぶことができます。
参考:
実践的な問題に取り組む
基本的な文法を学んだ後は、実際に問題を解きながらSQLに慣れていきましょう。
近年は個人開発された学習サイトも充実しており、無料で実践的なSQLの演習に取り組むことができます。
例えば、以下のようなサイトでは、実際にSQLを書きながら問題を解くことができます。
参考:
開発者による紹介記事:
実務では、
- 必要なデータを抽出する
- 複数のテーブルを結合する
- データの計算(合計、平均等々)
- 不要なデータの除外
といった処理が日常的に発生します。
そのため、演習形式で「どのようなSQLを書けば目的のデータを取得できるのか」を考える経験は非常に役立ちます。
まずは問題文と解答例を見ながらでも構わないので、実際のSQLに触れる機会を増やすことをおすすめします。
Pythonに触れてみる
データエンジニアは、データの加工や自動化処理、外部システムとの連携などでPythonを利用する機会が多くあります。
例えば、
- CSVファイルやJSONファイルの加工
- APIからのデータ取得
- データベースへのデータ投入
- 定期実行される処理の自動化
といった場面でPythonが利用されています。
そのため、SQLと並んでPythonはデータエンジニアが触れる機会の多いプログラミング言語の一つです。
無料の学習コンテンツで基礎を学ぶ
Pythonを初めて学ぶ場合は、無料で利用できる学習サイトやチュートリアルを活用するのがおすすめです。
実際にコードを書きながら学べる教材を利用することで、プログラミングの基本的な考え方を身につけることができます。
学習サービスの一例として、SQL同様Progateがあります。
参考:
まずは以下の内容を理解できれば十分です。
- 変数
- 条件分岐
- 繰り返し処理
- 関数
- リストや辞書
簡単なデータ処理に挑戦する
基礎文法を学んだ後は、実際にデータを扱うプログラムを書いてみましょう。
データエンジニアの業務では、「データを取得する」「加工する」「集計する」といった処理が日常的に発生します。そのため、CSVファイルを使った簡単なデータ処理を体験するだけでも、業務のイメージを掴みやすくなります。
例えば、Pythonのデータ分析ライブラリであるPandasのチュートリアルでは、ブラウザ上で
- CSVファイルの読み込み
- データの抽出や絞り込み
- 集計処理
- データのクリーニング
といった実践的な内容を学ぶことができます。
参考:
データを扱うプログラムに触れることで、「データエンジニアが普段どのような処理を行っているのか」をイメージできるようになるはずです。
もう少し本格的に学びたい場合
SQLやPythonの基礎を学び、「もう少し実務に近い内容に触れてみたい」と感じた場合は、書籍や実践的な学習コンテンツを活用するのもおすすめです。
書籍『前処理大全』
データ加工・データクレンジング・特徴量作成など、実務で頻繁に行われる処理を体系的に学べる書籍です。
参考(amazonリンク):
改訂新版 前処理大全 SQL/pandas/Polars実践テクニック
実際の業務では、単純なデータ取得に加えて、
- 欠損値の処理
- データ形式の変換
- 不要データの除去
- 特徴量の作成
といった「前処理」が重要な役割を占めます。
そのため、この書籍はデータエンジニアリングやデータ分析の実務を理解するうえで参考になります。
個人的な経験としても、データエンジニアとして1年ほど実務を経験した後に読み返すと、
- 「この処理は実務でもよく行っていたな」
- 「こういう考え方で設計していたな」
といった形で、内容がより具体的に理解できるように感じました。
一方で、未経験の段階ではやや難しく感じる部分もありますが、「実務で扱う処理を先に知っておく」という意味では良書だと思います。
Kaggleで実践的なデータに触れる
より実践的にデータを扱いたい場合は、Kaggleを活用するのもおすすめです。
参考:
Kaggleでは、
- 実務に近いデータセット
- ハンズオン形式の学習コンテンツ
- 世界中の参加者による分析コード
などが公開されています。
単に分析手法を学ぶだけでなく、
- データをどのように前処理するか
- どのような特徴量を作るか
- 他の実務者がどのようにコードを書くか
といった「実務的なデータの扱い方」を学ぶ教材としても非常に有用です。
あとがき
データエンジニアという職種は、最初からすべてを理解しようとすると少し難しく感じるかもしれません。
しかし、まずは「データを扱う仕事って少し面白そうだな」と感じることが、データエンジニアへの第一歩だと考えています。
本記事が、そうしたきっかけや学び始める際の参考になれば幸いです。