Skip to main content
Software Engineering Daily

Building Software That People Love

48 min episode · 2 min read
·
Wesley Yu

Episode

48 min

Read time

2 min

Topics

Career Growth, Remote Work, Relationships

AI-Generated Summary

Key Takeaways

  • Tech Stack Selection: Agencies should build a decision tree prioritizing client maintainability over engineering preference. First ask what technologies the client's team already knows, then what they can hire for in their geography — European clients often require Java/Spring Boot due to university pipelines — and finally what energizes their technical leads, since a stack choice is simultaneously a hiring plan and a 2AM incident response plan.
  • Ugly App Development: Build end-to-end flows immediately, even if intermediate screens render raw JSON with a single button. This iterative approach — moving from JSON to wireframes to mid-fidelity to high-fidelity — lets clients see the full experience early, understand feature complexity in real time, and reorder screens before polish is applied, preventing costly late-stage structural changes.
  • Risk Isolation via Sidecars: When a project requires an unproven technology, contain it in an isolated sidecar service rather than integrating it into the core monolith. For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
  • Warm Handoffs Over Documentation: Cold handoffs — leaving comments, video walkthroughs, and README files — are the worst-case scenario for transferring a codebase. Instead, run three to four sprints with the incoming maintainer embedded in PR reviews and technical decisions before full transfer. Advise clients to make these hires early so the incoming engineer's preferences shape decisions while changes are still low-cost.
  • AI Tooling on the Frontier: Building bespoke solutions on emerging AI infrastructure wastes significant engineering time. MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched. The strategic question is identifying which frontier investments to make versus which to wait for the industry to standardize before adopting.

What It Covers

Wesley Yu, VP of Engineering at MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA — explains how small cross-functional teams build delightful digital products by combining boring tech stack choices, iterative ugly-app development, and tight design-engineering collaboration to ship v1 products for ambitious early-stage companies.

Key Questions Answered

  • Tech Stack Selection: Agencies should build a decision tree prioritizing client maintainability over engineering preference. First ask what technologies the client's team already knows, then what they can hire for in their geography — European clients often require Java/Spring Boot due to university pipelines — and finally what energizes their technical leads, since a stack choice is simultaneously a hiring plan and a 2AM incident response plan.
  • Ugly App Development: Build end-to-end flows immediately, even if intermediate screens render raw JSON with a single button. This iterative approach — moving from JSON to wireframes to mid-fidelity to high-fidelity — lets clients see the full experience early, understand feature complexity in real time, and reorder screens before polish is applied, preventing costly late-stage structural changes.
  • Risk Isolation via Sidecars: When a project requires an unproven technology, contain it in an isolated sidecar service rather than integrating it into the core monolith. For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
  • Warm Handoffs Over Documentation: Cold handoffs — leaving comments, video walkthroughs, and README files — are the worst-case scenario for transferring a codebase. Instead, run three to four sprints with the incoming maintainer embedded in PR reviews and technical decisions before full transfer. Advise clients to make these hires early so the incoming engineer's preferences shape decisions while changes are still low-cost.
  • AI Tooling on the Frontier: Building bespoke solutions on emerging AI infrastructure wastes significant engineering time. MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched. The strategic question is identifying which frontier investments to make versus which to wait for the industry to standardize before adopting.

Notable Moment

Wesley described a designer wanting a card-flipping binder experience for a collectibles app — something the React Native developer initially had no idea how to build. Through side-by-side iteration, they landed on a solution neither would have reached alone, illustrating how design-engineering proximity resolves seemingly unbuildable ideas.

Know someone who'd find this useful?

Episode Transcript

Building great software always involves technical problem solving, but the best software goes beyond function. It feels fluid, coherent, and genuinely fun to use. This quality lives at the intersection of engineering and design, and very few teams know how to reliably produce it. MetaLab is an engineering and design studio that has worked with some of the most successful companies in tech, including Apple, Slack, Uber, and Instacart. The studio is known for bringing together software engineering and design craft in a way that few studios can match. Wesley Yu is the VP of engineering at MetaLab, where he leads the teams that design and build digital products for early stage companies. In this episode, Wesley joins Josh Goldberg to discuss how MetaLab approaches tech stack selection for client projects, why agency work demands bias towards boring and stable technology, how iterative development and deliberately ugly apps lead to better final products, and how AI tools are changing the boundary between design and engineering. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ESLint, a powerful static analysis toolset for JavaScript and TypeScript. He is also the author of The O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies and a cofounder of SquiggleConf, a conference for excellent web developer tooling. Find Josh on Blue Sky, fostidon,and.com as Joshua k Goldberg. With me today is Wesley Yu, VP of engineering at MetaLab. Wesley, welcome to Software Engineering Daily. Thanks, Josh. Really happy to be here. Well, we're happy to have you. Just to start us off, how did you get into coding? How did I get into coding? This is I have very humble beginnings in coding. You know, in 1999 or early two thousand or something like that, there was this browser game called Neopets. I don't know if you remember Neopets. But, essentially, you care for these, like, virtual pets called Neopets, and then you have this virtual currency called Neopoints. And you could create storefronts and sell items and stuff like this to earn this currency. And they allowed you to edit HTML and CSS. And so as a kid, I just kind of copy and paste stuff, change text around to create a little custom store for my Neopets. So that's how I got started. Very trial and error. I'm just a kid at this point, of course, so I'm not reading, like, w three c documentation or specification or anything like that, but that's how I got started. That's lovely. We have a lot of guests who played Neopets and went there. Do you remember how your store looked? Was it good? Yeah. I mean, it looked very kind of early two thousands CSS styling. A lot of sparkles, a lot of banners and things like this, text moving around. Yeah. It was a good time. Good time. Let's move forward a little bit. So you know …

Get the full transcript (10,091 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all Software Engineering Daily transcripts →

You just read a 3-minute summary of a 45-minute episode.

Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.
  • MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.
  • For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
  • For example, high-performance real-time WebSocket behavior can be handled by an Elixir/Phoenix sidecar, keeping the modular monolith stable while limiting the blast radius if the experimental component needs replacement.
  • Sponsor: Estuary (https://estuary.dev)
  • Wesley described a designer wanting a card-flipping binder experience for a collectibles app — something the React Native developer initially had no idea how to build.
  • MetaLab spent heavily on custom LLM eval frameworks and custom MCPs for Notion and Figma, only to discard them when LangFuse and official vendor MCPs launched.

company

  • MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA
  • MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA
  • Wesley Yu, VP of Engineering at MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA
  • MetaLab — the design studio behind Slack, Uber, and Instacart's early product DNA

More from Software Engineering Daily

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

You're clearly into Software Engineering Daily.

Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime