データは難しい…
ベストプラクティスがありそうでなく、ビジネスと調整しながら進めていかなくてはいけないため、着地地点も見えにくいのではないかなと思います。それでいて、技術も求められる。
その性質上、大規模なデータセットは不正確であり、データエンジニアが森を見失ってしかも、木も見失うことはよくあります。おそらく新人データエンジニアに共通する壁は、エンドユーザーと全体的なビジネス目標を念頭に置いてなく、さらには高度に技術的なシステムへの理解が必要であるということでしょう。
この記事を読む方におすすめの記事▼
データサイエンティストが3分でグロースハックを解説!今更聞けないグロースハックとは?
保守できないシステムの構築
新人データエンジニアの多くは、短期的には結果をもたらすプログラムを作成しますが、複雑すぎて長期的に維持できなかったりします。複雑なコードに依存しすぎて、元のデータエンジニアなしでは管理できなかったりするため、最終的に非効率になることも多いでしょう。
データエンジニアは、目前のタスクを超えて考え、将来性も担保し、なんのために構築するのかという明確な道筋を持って開発プロジェクトに取り組む必要があります。
データが正確だと勘違いする
データは正確で最新のものであると勘違いしてしまうことは非常に危険です。
人間は自分の都合の良いようにデータを解釈してしまう傾向がありますが、残念ながら、そうではありません。特に新人データエンジニアは、データセットの正確さと「綺麗さ」に過度に依存する可能性があります。
整理されたデータでさえ、いくつかの不正確なデータポイント(たとえば、日付の形式が正しくない、または存在しない略語への参照)があると常に想定して動いた方が良いでしょう。
正確な情報を使用していることを確認するために、継続的にデータ衛生慣行を組み込むことも不可欠です。
考えるべき事が山ほどあるのですね…
複雑なロジックをすべて1つに構築しすぎる
複雑すぎて開発者がいなければ扱うことができない場合は、長期的な価値は生み出せませんし、かえって非効率的です。
構築するときは前もって考え、システムが他の誰かが理解して維持するのに十分直感的であるかどうかを検討してください。
なぜデータが必要なのかを知らない
これは、データを目的にしてしまうデータエンジニアが陥りやすい特質です。
データエンジニアがプロジェクトのビジネス目標および組織目標と同期する必要があります。
データをどのようにまとめるべきか、全体的な目的が何であるかについて明確なビジョンがないと、データエンジニアは、構築しようとしているものの意図された目的を見失う可能性があります。
各プロジェクトの意図するビジネスへのデータの影響を知ることで、データスクレイピングの優先順位をつけたりすることができます。
エンドユーザーはそのデータの影響によってなにをするのか? データエンジニアは、なにを構築すべきかを理解するために、ビジネスを理解する必要があります。
エンドユーザーのことを考えていない
エンドユーザーを理解しないことは、データエンジニアに限らずプロジェクト全体を沈める可能性があります。技術的に優れた高度なシステムでさえ、開発パイプライン全体で常にエンドユーザーのニーズを中心に置く必要があります。
- データ構造はユーザーフレンドリーか?
- エンドユーザーはSQLに精通しているのか?
- エンドユーザーはどのようなツールやプログラムを利用できるのか?
- エンドユーザーの能力は?
- エンドユーザーはデータモデルを理解しているのか?
これらは、新人データエンジニアがプロジェクトに取り組むときに考慮すべき基本的な事項の一部です。
新人データエンジニアのためのベストプラクティス
間違いを犯し、そこから学ぶことは、どの職業においても大事なことだと思いますが、早い段階でいくつかのベストプラクティスを実装することで、新しいデータエンジニアは短期的および長期的に多くの時間と労力を節約できると思います。
データエンジニアのAnnaAnisieniaの記事も読んでみると良いでしょう。
Less is more
コードを少なくして、できるだけシンプルでわかりやすいものにすることを心がけましょう。
書くコードが少なければ少ないほど、維持する必要がコストが減るので、できるだけ少ないコードの方が基本的には良いでしょう。