Reflecting on four years at Dagster Labs

Josh Braun

January 2026

10 minute read

I joined Dagster Labs in 2021 as the first designer. At the time, Dagster was a budding open-source Airflow alternative, the company was in the middle of a rebrand, and design was still finding its footing.

Four years later, it’s a very different company. Dagster has grown into a mature open-source platform with a thriving community, alongside a fast-growing commercial product used by data teams at some of the world’s most recognizable companies. I had the opportunity to lead a small design team, shape large parts of the Dagster product, and help establish design as a core discipline inside the company.

This has been the best job I’ve ever had. I grew enormously during my time here as a designer and a leader. I recently wrapped up my time working on Dagster, and before moving on to what’s next, I wanted to take a moment to reflect on some of the lessons I’ve learned along the way.

Five lessons

1. Treat your customers like your friends

Early in my career, I was taught to rely heavily on personas and formalized user research processes. In practice, I’ve often found those tools to be overly generalized and slow to produce meaningful insight, especially in a fast-moving culture. Over time, I became skeptical of processes that treat users like lab rats.

What worked far better for me at Dagster was staying close to users: talking with them often, working through problems together, and building real relationships along the way.

One of the best parts of working on an open-source product is how direct the line is to your users. With GitHub issues, Reddit discussions, and Slack DMs, you’re never far from someone actively using the thing you’re building. Over time, I built relationships with members of the community, and some of my favorite moments were when users reached out directly with ideas or frustrations. Some of my best work, like the Dagster+ homepage or the Lineage Graph, was developed alongside them.

Teammates would sometimes ask about my user research process and be surprised by the answer. It wasn’t formal. I treated our customers the same way I treat my friends. A big part of my process was simply listening: reading through Github issues and support tickets, joining customer calls, and following up in DMs when something felt interesting.

That relationship-building paid off in ways I didn’t fully appreciate at the time. Frustrated users usually want to work with you, not against you, and they were often eager to give feedback on early prototypes or mocks. That kind of co-creation made it much easier to build confidence in the direction of my work.

You don’t need build a massive UX research machine to do great work. Put yourself on the front lines. Listen closely. Follow up. Treat your users like friends, and they’ll often meet you there.

2. Show, don’t tell

As a designer, it can be surprisingly hard to get people to invest in your ideas. On highly technical teams, your influence often lives or dies by your ability to “sell” your work to engineers. I spent a lot of time early on trying to explain why something mattered, only to feel like progress stalled before it even started.

What I eventually learned is that influence comes from creating clarity.

Teams struggle to make decisions when they’re reacting to words instead of something concrete. The fastest way I found to break through that was to make things real. When you put a prototype in front of a team, the dynamic changes. People stop debating hypotheticals and start reacting to what’s actually there.

Designers are well suited to this. Prototyping is one of our superpowers. Whether it’s a wireframe, a Figma prototype, or a vibe-coded proof of concept, artifacts ground discussions in reality. I’d rather show up with something imperfect than debate an idea no one can fully picture.

Early on, I believed that if I gathered enough user feedback or got the right stakeholder excited, I could convince everyone a direction was worthwhile. In practice, trying to build consensus around a vision often slowed things down and left me frustrated.

The shift came when I stopped trying to convince people and started building. I began putting together prototypes, and in some cases writing real code, to show what a direction could be. I focused less on permission and more on making it easy for others to say yes.

That approach requires care. You have to stay humble, open to feedback, and keep your team in the loop. No one wants a teammate who goes rogue. But when you’re acting in service of the customer, concrete work lowers the bar for decision-making.

It’s a lot easier to say yes to a pull request than to a slide deck.

3. Get a coach

For a long time, I thought I had to figure everything out on my own. It took me years to learn how to ask for help and accept my own limitations.

Startups are a marathon, not a sprint. At a growing company, your role is constantly changing, and I sometimes found myself completely out of my depth. That feeling can be overwhelming and scary. Trying to quietly power through it only made things harder.

One of the most important lessons I learned was to build a small network of coaches and mentors. Your manager can be one of them, but they can’t be the only one. At small, fast-paced startups, managers are often dealing with the same pressures and aren’t always in a position to be dedicated mentors. Having people outside that dynamic made it much easier to be honest about where I felt stuck or unsure.

Seek out people who’ve been through similar situations and try to meet regularly if you can. More than once, I showed up to a conversation thinking I had nothing to talk about, only to leave with a breakthrough.

A big part of this for me was starting therapy. I began going a couple of years ago, and it’s been one of the biggest professional unlocks I’ve experienced. It helped me work through patterns that were quietly holding me back and gave me better tools for tough conversations, finding balance, and navigating imposter syndrome.

Startups are chaotic, high-pressure environments. Leading people means dealing with a lot of emotion, uncertainty, and responsibility. Having a regular space to reflect and course-correct has been invaluable for me.

Therapy isn’t for everyone, but for me it’s simply another coach on the roster. It’s made me more grounded, more self-aware, and more confident — and helped me show up as a better boss and teammate.

4. Scale yourself or die trying

I stole this phrase from Lee Robinson, and it perfectly captures the lesson I struggled with the most.

In the early days at Dagster, I was the only designer. While there was always a lot going on, it felt manageable. I had context on nearly everything across the company, and I learned to ruthlessly prioritize and juggle multiple projects at once. Being close to the work and close to the team made it easy to stay on top of things – and I loved the energy and pace of these early days.

Then the company started to scale. Almost overnight, the volume and complexity of design work outpaced what I could reasonably handle on my own. I fell behind, and it caught me completely off guard. That gap was hard to close once it opened, and it took longer than I expected to recover.

We eventually started growing the design team, but I wasn’t ready for what that really meant. I had no recruiting pipeline, a massive backlog of work, and suddenly a huge portion of my time was consumed by hiring. Bringing on our second designer took far longer than I expected, and in hindsight, I still got it wrong. A few months later, I found myself back at square one, restarting the process from scratch. It was exhausting and, honestly, pretty demoralizing.

Recruiting was by far the hardest part for me and I felt a lot of pressure to fill roles quickly. As Lee puts it, “you must always be recruiting,” and at the time, I hadn’t built that muscle.

The second time around, I approached things very differently. I sought out advice from coaches and peers, and I started treating recruiting like a full-contact sport. I took ownership of the pipeline and the process. I also trusted my instincts more. I realized that I could usually tell within the first ten minutes whether a candidate was a good fit. If that signal wasn’t there, I stopped trying to talk myself into their potential and said no much faster. When I did meet someone great, I moved quickly and made them my top priority for the week. I did whatever I could to unblock the process and make it easy for them to say yes to an offer.

Looking back, I wish I had pushed to grow the design team sooner. At the time, I wasn't confident in myself and worried about getting it wrong. But once we started bringing in talented designers, the benefits were immediately obvious across the organization. The product got better. We shipped faster. The team became more resilient.

I’m ultimately grateful for those early management mistakes. They forced me to raise the bar, have harder conversations, and be more decisive. Once I learned those skills, it became much easier to let go and give the team space to do their best work. For me, scaling myself meant trusting others enough to get out of the way.

5. Leave it better than you found it

“Leave it better than you found it” became my mantra to keep moving without feeling crushed by the scale of everything that still needed to be done. It meant picking the most important problem in front of me, giving it my best effort, and then moving on. Sometimes that meant revisiting the same problem again later. Sometimes it meant knowing I didn’t solve it perfectly the first time. But each pass made things a little better.

On any given day, it can feel like you didn’t accomplish enough. But over months and years, that consistency compounds in ways that are hard to appreciate while you’re in it.

Incrementalism gets a bad rap in Silicon Valley. It’s sometimes framed as slow or unimaginative, but I don’t see it that way. Improving things a little bit each day can lead to surprisingly large outcomes. It’s easy to get excited about the next new thing but customers usually care less about that than you do.

This doesn’t mean you shouldn’t have a bold vision or make big bets. Clear north stars matter. But it’s easy to get stuck debating strategy or dreaming about the future and some of my biggest mistakes came from over-polishing bad ideas instead of shipping improvements. I think the real risk isn’t moving in the wrong direction, it’s standing still.

Aiming to leave things better than you found them is a simple way to keep moving and avoid perfectionism, even when the path isn’t perfectly clear.

What’s next

I’m starting a new role at Databricks in NYC next week. As lakehouses take on a bigger role in how companies work with data and AI, I’m interested in the new kinds of applications being built on top of them. Data teams already have a lot of leverage inside organizations, and I’m looking forward to helping build tools that make them even more effective.

I think a lot of the real value of AI agents will be unlocked in enterprise settings, where security and governance are mission-critical. Databricks is one of the few companies with a real shot at tackling those problems, and I’m excited to be part of that.

Happy New Year. I have a feeling 2026 is going to be an interesting year.

Connect with me