I knew on my very first day at Fishtown Analytics, that I was in over my head. I had my liberal arts degree, limited exposure to SQL, and zero experience with dbt.

Like many startups, there was no formalized training program and I struggled to model data for clients, create dashboards, and manage the steep analytics learning curve. I was trying to do the thing without quite even understanding why. The fundamentals of modeling for scalability, the advantages of each materialization, writing macros, etc. eluded me.

I was pretty sure I was going to end up being fired.

Analytics has a steep learning curve

After working with dozens of new analysts and discussing this issue within the dbt community, I found that my story wasn’t uncommon.

Junior analysts at companies large and small experience this overwhelming feeling. We are expected to learn everything at once and immediately start being productive — which too often means quickly modeling data and churning out dashboards. This urgency to “do the job and do it quickly” means we aren’t afforded the time to step back and think about quality.

We focus on outputs today vs. scalability of those outputs in the future.

Most analysts wouldn’t pause to ask: “Why would I use a {{ref(‘stg_orders’)}}when I can just use the production model analytics.stg_orders?” For new analysts, evaluation of our skill tends to be closely linked to speed — just get it done.

Kriselle Sanchez, an Analytics Lead at Wonder, initially started her career in analytics as a Junior Analyst right after college. Hailing from a non-technical background, she was thrown into learning about analytics. Her experience closely mirroring my own:

“[My training] wasn’t formal at all. I studied Economics, Geography and minored in GIS in college with the intention of going into urban planning. It wasn’t until I met the team at Fishtown Analytics that I really started focusing on SQL for business analytics. I learned from their very patient training of the Command Line Interface (CLI) and advanced SQL techniques. This was enough to give me more direction in terms of how I search and ask questions on Stack Exchange. Additionally, this led me to the dbt Slack community, where I learned a lot from reading posts and solutions in #modeling. The last leg of the training process was to just code. The more I wrote, the more comfortable I felt.”

When I asked Kriselle what she wished she knew then, she also echoed my feelings:

“I wish I had known the importance of having a supportive data culture. As analytics is a new-ish field, a lot of companies don’t really know what how to build a team. Without a supportive culture around data, it’s hard to make real gains.”

Teaching analytics engineering — v1

When it was time for Fishtown Analytics to hire two more analysts, I felt very passionate about being involved in the training process. Erin, Fishtown’s first analyst and now my manager, helped me flesh out a proper training program for the new hires. Prior to every hiring iteration, we’d reconvene and discuss what did and didn’t work with the curriculum. Through these conversations, Fishtown created a program where every new analyst went from knowing absolutely nothing about SQL or dbt to understanding the basics of how to model data for scale, utilize dbt functions, and think about its value to a business. The whole training process took less than a month.

The curriculum we developed explains the concepts and reasoning behind each piece of our analytics workflow. And personally? I feel deeply invested in making sure that our analysts weren’t just learning, but that they are also feeling more confident. I want analysts to feel empowered, instead of feeling as if they are always drowning. I want them to use dbt to work like software engineers. I want them to do their best work ever.

After seeing the success of our internal training program, we began to train analysts at our client companies using the same rough curriculum. By this point we were covering:

  • Don’t Repeat Yourself (DRY) thinking,
  • SQL design patterns,
  • Bash, git and version control,
  • Database fundamentals and performance optimization,
  • and of course, all things dbt.

Whenever we trained one of our clients they loved it, and we loved watching them walk away from the training feeling like they can do their work with more focus and intention than before. We got to watch entry-level analysts (like Kriselle) become experts and grow into running their own teams.

The training program was working, it was time to scale.

Teaching Analytics Engineering at Scale: dbt Learn

After seeing the success of early versions of our curriculum, we were ready to think about how to share it with more people. We molded the month-long, internal training into a 3-day program called dbt Learn.

Our first session was held in February 2019. Over three days, 10 analysts came to Philadelphia to learn directly from the Fishtown Analytics team. We booked a small, in-person classroom, optimizing for a healthy teacher to student ratio. The goal was to have analysts go from only writing SQL at the start of the program, to understanding proper data warehouse design principles, creating their own dbt models & macros, and being able to explain the why behind everything they were doing. All in three days.

The dbt Learn classroom — where the magic happened!

We brought together analysts from various backgrounds and companies, and set the precedent on day one that everyone should feel comfortable admitting they didn’t know something. And the feedback from our first dbt Learn was absolutely heartwarming:

“I walked into dbt learn not knowing what to expect. The class was a good mix of experienced and inexperienced folks from a variety of industries. On top of learning how to use dbt and where it fits into the modern analytics stack, I really enjoyed the exercises we did in the classroom.The program had excellent instructors — I recommend dbt Learn to anyone who is part of a team that uses dbt, or is considering using it!”
- Ken MacMann, Data Analyst, Nestio
“dbt Learn was a phenomenal experience. It was invaluable learning how to get the most out of dbt firsthand from the lovely folks at Fishtown Analytics in a small, intimate setting. There were numerous learning opportunities, even as a more proficient user. By the end, I was equipped with the tools and mindset to go back and reimagine how we do data analytics at Inspire.”
- Tyler Blevins, Data Engineer, Inspire

Our mission at Fishtown Analytics is to empower data analysts, and receiving feedback like this is incredibly gratifying. This is why we go to work in the morning.

Next Up: San Francisco!

dbt just hit 500 weekly active deployments!

The first dbt Learn felt like an experiment, but with the dbt community rapidly growing, we knew there was a need for what we were doing. And as much as we’d love to convince everyone to fly out to Philly, we figure it’s a bit easier to come to you. So, with the assistance of our good friends at Periscope data, we’ll be hosting our next dbt Learn event in San Francisco!

Details:

Dates: June 10–11th 2019
Location: Periscope HQ in San Francisco
Seats available: 20
Price: $1500
Register: here

For the next three weeks, we’ll be offering early bird tickets for $500 off if you use the discount code: EARLYBIRD. Have more questions? Ping me in Slack (I’m @ericalouie).

Looking forward to seeing you there!