3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

新卒が一番苦労したのはSQL実装ではなかった

3
Last updated at Posted at 2026-07-22

新卒2年目で初めてデータ基盤案件に入り、一番苦労したのはSQLではなかった

はじめに

どうも、そらです。
新卒2年目で、初めてデータ基盤構築の案件に入りました。

案件では、SQLの実装、設計書の修正、単体テスト仕様書の作成、テストの実施、レビュー対応などを担当しました。

参画前は、SQLを書くことが一番大変だと思っていました。

しかし、実際に一番苦労したのはSQLではありませんでした。

  • どのタイミングで報告するか
  • 相手と認識が合っているか
  • 複数の作業をどの順番で進めるか
  • レビューする人が確認しやすい形になっているか

この記事では、初めてのデータ基盤案件で重要だと感じたことを備忘録としてまとめます。

1. 完了してからではなく、途中で報告する

最初は、作業を完了させてから報告すればよいと思っていました。

しかし、方向性を間違えたまま最後まで進めると、大きな手戻りが発生します。

そのため、現在は次のようなタイミングで報告するようにしています。

  • 作業方針が決まったとき
  • 仕様に不明点を見つけたとき
  • 想定より時間がかかりそうなとき
  • 調査しても判断できないとき
  • 作業が完了したとき

報告するときは、状況だけでなく次の対応もセットで伝えます。

進捗:
現在、対象ビューの修正まで完了しています。

確認結果:
元データと修正後ビューの件数に差異があります。

原因の見込み:
結合先マスタに同一キーのレコードが複数存在する可能性があります。

次の対応:
マスタの重複確認後、結合条件を再確認します。

期限への影響:
本日中に原因を特定できない場合、テスト完了が翌日にずれる可能性があります。

「問題があります」だけでは、相手が次の判断をできません。

自分がどこまで理解し、次に何をするのかまで「伝えること」が重要だと感じました。

2. 実装前に認識を合わせる

データ基盤の案件では、同じ言葉でも人によって認識が異なることがあります。

たとえば、「最新データ」という言葉だけでも、次のような解釈があります。

  • 更新日時が最も新しいデータ
  • 売上日が最も新しいデータ
  • バッチ実行日に取り込んだデータ

認識がずれたまま実装すると、SQLとしては正しくても仕様とは異なる結果になります。

そのため、不明点を確認するときは、自分の理解もセットで伝えるようにしています。

私の認識では、商品名ごとに更新日時が最も新しいレコードを取得する仕様と理解しています。

そのため、商品名で区切り、更新日時の降順で1件目を取得する実装を想定しています。

この認識で相違ないでしょうか。

単に「どうすればよいですか」と聞くよりも、自分の認識を示した方が、相手も回答しやすくなります。

3. 自分だけで優先順位を決めない

案件では、複数の作業を同時に依頼されることがあります。

  • SQLの修正
  • テストの実施
  • 設計書の更新
  • レビュー指摘への対応
  • 不具合の原因調査

すべて重要に見えるため、自分だけで優先順位を判断すると、本当に急ぐべき作業が遅れることがあります。

優先順位が分からない場合は、次のように確認します。

現在、以下の3作業を抱えています。

1. ビュー修正のレビュー対応
2. 単体テストの証跡修正
3. 結合テストで発生した差異の原因調査

期限と後続作業への影響を踏まえ、3、1、2の順で進める認識ですが、問題ないでしょうか。

ポイントは、相手にすべてを決めてもらうのではなく、自分の考えた順番を提示することです。

4. レビューする人が確認しやすい形にする

実装やテストは、自分が理解できれば終わりではありません。

レビューする人が短時間で内容を確認できる状態にする必要があります。

特にテスト証跡では、次の点を意識しました。

  • 何を確認するテストなのかを書く
  • 期待結果を書く
  • 実行したSQLを残す
  • 実行結果の件数を見せる
  • 修正前後の差分を比較する
  • NGデータが0件であることを確認する

疲れて頭が回っていない自分でも理解できる証跡にすると、レビューする人にも伝わりやすくなります。

特に、修正前後の差分を見せる証跡は、変更内容を確認しやすいと評価されました。
こちらに関しては以下の記事でまとめています!

一番苦労したこと

初めてデータ基盤案件に入り、一番苦労したのは、SQLを書くことではありませんでした。

自分の考えを整理し、相手と認識を合わせ、適切なタイミングで報告することでした。

SQLは実行結果を見れば、ある程度は正誤を確認できます。

一方で、報告や認識合わせには明確な正解がありません。
相手、期限、作業状況に応じて判断する必要があります。

そのため、今も試行錯誤しています。

まとめ

初めてのデータ基盤案件で、特に重要だと感じたのは以下です。

  • 完了を待たず、途中でも報告する
  • 不明点は自分の認識とセットで確認する
  • 優先順位は自分の案を示して相談する
  • レビューする人が確認しやすい成果物を作る

データ基盤案件では、SQLやクラウドサービスの知識が必要です。

ただし、それだけでは案件を円滑に進められません。

手戻りを減らし、周囲が判断しやすい状態を作るコミュニケーション力や国語力も、エンジニアに必要だと感じました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?