Made byBobr AI

PR Success Playbook for Analytics Engineers

Learn best practices for dbt pull requests, including naming conventions, folder structures, testing methodologies, and reviewer etiquette for data teams.

#analytics-engineering#dbt#pull-request#code-review#data-modeling#best-practices#sql-testing
Watch
Pitch

How to Make Reviewers Approve Your PR

(And keep your soul intact)

Based on the guide by Miriam Revilla Alvarez

A funny, cinematic digital painting of a skeleton sitting at a computer desk covered in cobwebs, waiting for a code review approval. The screen glows blue. High quality, humorous style.
Made byBobr AI

The Roadmap to Green Checks โœ…

  • ๐Ÿ‘‹ Empathy: Why are reviewers like this?
  • ๐Ÿ“– Best Practices: Rules of the Road
  • ๐Ÿงช Testing: Prove it works on *not* your machine
  • ๐Ÿคฉ Etiquette: How to keep us happy
  • ๐ŸŽฎ KAHOOT: The Ultimate Showdown
A treasure map style illustration where the path leads to a giant green 'Merge' button treasure chest. Obstacles include 'Spaghetti Code Monster' and 'The Broken Pipeline' volcano.
Made byBobr AI

The Reviewer's Perspective

๐Ÿง We aren't gatekeepers just for fun.

๐Ÿ˜ฑ We feel RESPONSIBLE if something breaks in Prod.

๐Ÿš€ We want you to MERGE! It clears our backlog.

Chart
Made byBobr AI

Naming Conventions: The 'Must Haves'

stg_ โ†’ Staging models
prep_ โ†’ Preparation models
event_ โ†’ Curated event data (e.g., event_orders)

WHY? It reduces cognitive load. We don't want to play detective to figure out what data is in your table.

A funny meme-style illustration of two Spidermen pointing at each other, but one is labeled 'stg_orders' and the other is 'prep_orders', they look identical but are clearly different.
Made byBobr AI

Folder Structure = Ownership

central_ops_team / staffing / shifts / curated / hub_shifts.sql

Don't just dump files in /models/new_stuff/. The folder path tells us who fixes it when it breaks at 3 AM.

An illustration of a perfectly organized file cabinet with colorful labels, vs a chaotic pile of papers on the floor.
Made byBobr AI

Documentation: No Creative Writing!

The {% docs %} name MUST match the field name.

โŒ Bad: "This field is about user cool stuff."

โœ… Good: "TRUE if user has premium status. Updated daily."

An ancient stone tablet with glowing code engraved on it, being admired by futuristic data analysts.
Made byBobr AI

Does it work? Or do you just HOPE it works?

1. Run .yml tests locally (unique, not_null).

2. Validate Business Logic (counts, sums, nulls).

3. Compare Dev vs Prod methods.

Chart
Made byBobr AI

The 'To Test' Section is NOT Optional! ๐Ÿ—๏ธ

Show your intent. Paste the queries you ran. Convenience implies competence.

โœ… Confirmation .yml tests pass โœ… Queries that show records are correctly flagged โœ… Explaining why row counts changed
A digital illustration of a detective holding a magnifying glass over a code abstract, finding a green checkmark.
Made byBobr AI

Keeping Reviewers Happy ๐Ÿคฉ

โœ” DO: Reply to comments explaining your fix.

โŒ DON'T: Resolve the comment yourself. That's the reviewer's job! ๐Ÿ˜ก

โœ” DO: Fix the pattern everywhere, not just on the one line commented.

Fun illustration of a golden retriever dog wearing glasses looking happily at a computer screen.
Made byBobr AI

Be a Great PR Citizen

  1. ๐Ÿ“ฃ Post in #data-analytics-community when ready.
  2. ๐Ÿ—๏ธ Include 'dbt build' commands to reproduce logic.
  3. ๐Ÿ›‘ Don't make changes while we are reviewing!
A superhero character with a 'dbt' logo on their chest standing proudly with hands on hips, cape flowing.
Made byBobr AI

KAHOOT TIME! ๐ŸŽฎ

Q1: Who resolves a PR comment? 
A) You 
B) The Reviewer (Correct) 
C) The CEO
Q2: Where does hub_shifts.sql live? 
A) on_my_desktop 
B) central_ops_team (Correct)
Q3: What goes in the 'To Test' section? 
A) 'It works trust me' 
B) Targeted validation queries (Correct)
Q4: Prefix for curated event models? 
A) evt_ 
B) event_ (Correct) 
C) stg_
A vibrant, 3d render of a game show buzzer button that is purple and says KAHOOT.
Made byBobr AI
Bobr AI

DESIGNER-MADE
PRESENTATION,
GENERATED FROM
YOUR PROMPT

Create your own professional slide deck with real images, data charts, and unique design in under a minute.

Generate For Free

PR Success Playbook for Analytics Engineers

Learn best practices for dbt pull requests, including naming conventions, folder structures, testing methodologies, and reviewer etiquette for data teams.

How to Make Reviewers Approve Your PR

(And keep your soul intact)

Based on the guide by Miriam Revilla Alvarez

The Roadmap to Green Checks โœ…

๐Ÿ‘‹ Empathy: Why are reviewers like this?

๐Ÿ“– Best Practices: Rules of the Road

๐Ÿงช Testing: Prove it works on *not* your machine

๐Ÿคฉ Etiquette: How to keep us happy

๐ŸŽฎ KAHOOT: The Ultimate Showdown

The Reviewer's Perspective

We aren't gatekeepers just for fun.

We feel RESPONSIBLE if something breaks in Prod.

We want you to MERGE! It clears our backlog.

Naming Conventions: The 'Must Haves'

stg_ โ†’ Staging models

prep_ โ†’ Preparation models

event_ โ†’ Curated event data (e.g., event_orders)

WHY? It reduces cognitive load. We don't want to play detective to figure out what data is in your table.

Folder Structure = Ownership

central_ops_team / staffing / shifts / curated / hub_shifts.sql

Don't just dump files in /models/new_stuff/. The folder path tells us who fixes it when it breaks at 3 AM.

Documentation: No Creative Writing!

The {% docs %} name MUST match the field name.

โŒ Bad: "This field is about user cool stuff."

โœ… Good: "TRUE if user has premium status. Updated daily."

Does it work? Or do you just HOPE it works?

1. Run .yml tests locally (unique, not_null).

2. Validate Business Logic (counts, sums, nulls).

3. Compare Dev vs Prod methods.

The 'To Test' Section is NOT Optional! ๐Ÿ—๏ธ

Show your intent. Paste the queries you ran. Convenience implies competence.

โœ… Confirmation .yml tests pass โœ… Queries that show records are correctly flagged โœ… Explaining why row counts changed

Keeping Reviewers Happy ๐Ÿคฉ

DO: Reply to comments explaining your fix.

DON'T: Resolve the comment yourself. That's the reviewer's job! ๐Ÿ˜ก

DO: Fix the pattern everywhere, not just on the one line commented.

Be a Great PR Citizen

๐Ÿ“ฃ Post in #data-analytics-community when ready.

๐Ÿ—๏ธ Include 'dbt build' commands to reproduce logic.

๐Ÿ›‘ Don't make changes while we are reviewing!

KAHOOT TIME! ๐ŸŽฎ

Q1: Who resolves a PR comment? A) You B) The Reviewer (Correct) C) The CEO

Q2: Where does hub_shifts.sql live? A) on_my_desktop B) central_ops_team (Correct)

Q3: What goes in the 'To Test' section? A) 'It works trust me' B) Targeted validation queries (Correct)

Q4: Prefix for curated event models? A) evt_ B) event_ (Correct) C) stg_

  • analytics-engineering
  • dbt
  • pull-request
  • code-review
  • data-modeling
  • best-practices
  • sql-testing