How I Cut dbt Development Time by 20% with the Power User Vscode Extension

Anand KumarAnand Kumar
4 min read

Working with data in any capacity—be it as a data/analytics engineer, data scientist, or data analyst—inevitably dealing with the need for documentation. Whether it's clarifying unclear fields, understanding dataset structures, or seeking explanations for data discrepancies, clear and comprehensive documentation is important. In the constantly evolving data world, where accuracy and clarity are non-negotiable, tools like dbt (data build tool) emerge as lifesavers.

Recognizing the importance of clear documentation in the data world, dbt™ makes documentation significantly easier through its dbt™ docs feature.

dbt provides a way to generate documentation for your dbt™ project. The documentation for your project includes:

  • Project Information: including model code, a DAG of your project, any tests you've added to a column, and more.

  • Data warehouse Information: including column data types, and table sizes. This information is generated by running queries against the information schema.

A standout feature of dbt™ lies in its capability to enhance documentation comprehensively. Users can add detailed descriptions to models, columns, sources, and other project elements, enriching the documentation with context and clarity. This not only aids in understanding the data structures but also streamlines collaboration and knowledge sharing within teams.

Here's an example of how dbt™ models can be documented:


version: 2

models:
  - name: events
    description: This table contains clickstream events from the marketing website

    columns:
      - name: event_id
        description: This is a unique identifier for the event
        tests:
          - unique
          - not_null

      - name: user-id
        quote: true
        description: The user who performed the event
        tests:
          - not_null

Overcoming Documentation Challenges

Despite the robust dbt™ docs feature, documentation often takes a backseat due to the inherent gap between project work and the documentation process. After completing a model, users frequently find themselves navigating to various directories to locate and manually edit schema YAML files for documentation purposes. This manual approach is time-consuming and prone to errors, relying heavily on individual skills and consistency.

Introducing Power User for dbt Extension: A Game-Changer in Documentation

To address these challenges and streamline the documentation workflow, Altimate AI introduces the Power User for dbt vscode extension. This extension leverages AI capabilities to revolutionize documentation generation, making it a seamless and efficient process. Specifically, Altimate AI is designed to emulate the behavior of human engineers by leveraging contextual insights drawn from schema, sources, column-level lineage, metadata, and existing documents to create tailored documentation, rather than just generating generic documentation.

Within the documentation editor, users can access a range of functionalities:

  1. Model Documentation: Users can edit individual model documentation directly within the editor, eliminating the need for manual YAML editing. Additionally, AI-driven generation allows for instant and accurate descriptions, tailored to specific use cases such as professional or more casual documentation styles

  2. Column Documentation: The extension enables users to generate detailed documentation for individual columns, automatically saving them in the 'schema.yml' file with the appropriate syntax. This automation not only accelerates development but also ensures consistency and accuracy across documentation.

  3. Multiple Languages Documentation: Users have the flexibility to create documentation in several languages, including French, English, Dutch, and German. This feature enables the generation of content that caters to diverse linguistic needs.

  4. Persona-Specific Documentation: The extension offers a variety of presets designed for different audiences. Users can select the persona that best matches their needs, whether it be a technical user, business user, or general user. For general users, the documentation is crafted without a specific persona focus, ensuring it is accessible and understandable to a broad audience.

Impact of Effective Documentation in dbt™

Quality documentation significantly improves how models are used and reduces unnecessary communications between teams, boosting productivity. Using the dbt Power User extension, you can save at least two minutes per column in documentation tasks. Depending on the size and complexity of the models, this efficiency can lead to a reduction of 10%-20% in development expenses. This not only translates to substantial cost savings but also frees up engineers to focus on more critical tasks.

Harnessing the Power of AI for Documentation Excellence

Maintaining documentation in a dynamic data environment presents a substantial challenge. As business requirements expand and projects evolve, the task of updating documentation to reflect changes in models, schemas, or sources becomes increasingly complex and resource-intensive. This constant need for updates can significantly drain time and productivity. Hence, the integration of AI-driven documentation generation within dbt Power User extension represents a significant advancement in data documentation practices. By automating tedious tasks and offering customizable options, dbt™ enables engineers to concentrate on development work while ensuring that the documentation stays comprehensive and up-to-date.

Final Thoughts

In the rapidly changing world of data management, understanding the essence of quality documentation has never been more critical, dbt Power User extension documentation capabilities shine as a beacon of efficiency and excellence. By leveraging advanced technologies like AI, dbt Power User extension not only simplifies the documentation process but also promotes data transparency, collaboration, and innovation. Embracing these powerful tools paves the way for enhanced productivity, informed decision-making, and data-driven success.

3
Subscribe to my newsletter

Read articles from Anand Kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Anand Kumar
Anand Kumar

With over a decade of experience in data engineering, I specialized in designing scalable, operable advanced data analytics solutions. Passionate about sharing knowledge, I also run a YouTube channel dedicated to help people learn data technologies easily 💙