Prerequisite:
Question: Why get dbt Certified?
Answer: dbt certification offers several benefits:
- Skill Validation: It proves your proficiency in dbt concepts and best practices, with recognition directly from the dbt developers.
- Career Advancement: The certification and associated digital badge make you stand out to recruiters and potential employers seeking dbt expertise.
Question: What skills does the dbt Certification validate?
Answer: The dbt Certification confirms your ability to:
- Build and refactor data models
- Apply version control to your analytics code
- Create and implement tests for various models and data sources
- Develop and maintain clear data documentation
- Diagnose and fix errors
- Monitor data pipeline health
Question: How did the dbt Certification come about?
Answer: The dbt Certification emerged from:
- Years of observing successful dbt implementations on a global scale
- The desire to formalize the best practices that empower safe and impactful use of dbt
- The strong support of major cloud data platforms and the large dbt community
Question: What does the dbt Cloud Administration Exam evaluate? Answer: The exam tests your ability to configure, troubleshoot, optimize dbt projects, manage connections and environments, and enforce best practices for maximizing value within dbt Cloud.
Question: What are the exam logistics (duration, questions, cost, etc.)? Answer:
- Duration: 2 hours
- Number of Questions: 65
- Passing Score: 63%
- Price: $200
Question: What level of experience is recommended? Answer:
- Proficiency in SQL
- Minimum of 6+ months experience administering a dbt Cloud instance (up to version 1.4)
Question: What specific topics are covered in the exam? Answer:
- Configuring dbt Cloud data warehouse connections
- Configuring dbt Cloud git connections
- Creating and maintaining dbt Cloud environments
- Creating and maintaining job definitions
- Troubleshooting and optimizing project performance
- Configuring dbt Cloud security and licenses
- Setting up monitoring and alerting for jobs
QUESTION: What background is helpful before taking the dbt exam? ANSWER: The author recommends the following:
- SQL Fluency: 3+ years of intensive experience is ideal
- Python: At least basic understanding, even if previously used primarily for ETL.
- Git: A foundational course or equivalent knowledge.
- Analytics Engineer Role: Prior experience doing the type of work dbt facilitates will make the concepts click much faster.
QUESTION: What's the best way to study for the dbt Analytics Engineering Certification?
ANSWER: The author followed these steps:
- dbt Fundamentals Course: Take your time, and try applying the concepts to your own sample project.
- Official Learning Path: Work through it thoroughly, supplementing with blogs and guides.
- Read the Docs: Seek out in-depth information on topics from the courses.
- Specific Guides: Focus on project structure, debugging, and migration topics.
- Relevant Blog Posts: Get insights on real-world dbt practices and review techniques.
- Essential References: Study core configuration files (dbt_project.yml, profiles.yml, etc.) and Jinja functions until you can comfortably recall the key components.
QUESTION: How challenging is the exam, and what's the final prep like?
ANSWER: The exam requires deeper knowledge than just using dbt. Here's how the author prepped:
- Consolidate Notes: Summarize your learning into categories matching the exam's topics.
- Intense Study: Treat the final prep like serious university review.
QUESTION: What kind of topics can I expect on the exam?
ANSWER: While specific questions can't be shared, the author recalls questions related to:
- dbt Project Structure
- Source Configuration
- Jinja Functions
- Debugging dbt Projects
- Migrating from DDL/DML
FAQ:
Developing dbt models
- Identifying and verifying any raw object dependencies.
- Understanding core dbt materializations
- Conceptualizing modularity and how to incorporate DRY principles
- Converting business logic into performant SQL queries
- Using commands such as run, test, docs and seed
- Creating a logical flow of models and building clean DAGs
- Defining configurations in dbt_project.yml
- Configuring sources in dbt
- Using dbt Packages
Debugging data modeling errors
- Understanding logged error messages
- Troubleshooting using compiled code
- Troubleshooting .yml compilation errors
- Distinguishing between a pure SQL and a dbt issue that presents itself as a SQL issue
- Developing and implementing a fix and testing it prior to merging
Monitoring data pipelines
- Understanding and testing the warehouse-level implications of a model run failing at different points in the DAG
- Understanding the general landscape of tooling
Implementing dbt tests
- Using generic, singular and custom tests on a wide variety of models and sources
- Understanding assumptions specific to the datasets being generated in models and to the raw data in the warehouse
- Implementing various testing steps in the workflow
- Ensuring data is being piped into the warehouse and validating accuracy against baselines
Deploying dbt jobs
- Understanding the differences between deployment and development environments
- Configuring development and deployment environments
- Configuring the appropriate tasks, settings and triggers for the job
- Understanding how a dbt job utilizes an environment in order to build database objects and artifacts
- Using dbt commands to execute specific models
Creating and maintaining dbt documentation
- Updating dbt docs
- Implementing source, table, and column descriptions in .yml files
- Using dbt commands to generate a documentation site
- Using macros to show model and data lineage on the DAG
Promoting code through version control
- Understanding concepts and working with Git branches and functionalities
- Creating clean commits and pull requests
- Merging code to the main branch
Establishing environments in data warehouse for dbt
- Understanding environment’s connections
- Understanding the differences between production data, development data, and raw data