TypeScript with Jake Bailey
Episode
46 min
Read time
2 min
Topics
Productivity, Remote Work, Startups
AI-Generated Summary
Key Takeaways
- ✓Module Migration Strategy: TypeScript converted from namespaces to ES modules using automated TSmorph transformations, gaining 30-40% performance by eliminating object property access overhead and enabling modern bundler optimizations like esbuild's 100ms compile times versus 30-second builds.
- ✓Monorepo Configuration: DefinitelyTyped's conversion to PNPM monorepo with 8,000 packages replaced file scanning with proper package dependencies and linking, eliminating false dependencies and enabling selective builds. Most TypeScript performance issues stem from misconfigured tsconfigs, not type system complexity.
- ✓Go Port Performance: Native Go implementation delivers 10x speedup through shared memory concurrency and parallel parsing. Projects with 30-minute builds now complete in 7 minutes, while editor startup times drop from 20-30 seconds to under 3 seconds on large codebases.
- ✓Language Selection Criteria: Go won over Rust and C# because TypeScript's synchronous code, cyclic data structures with parent pointers, and self-referencing types required one-to-one porting. Go's goroutines enable concurrency without async/await transformations, while Rust's borrow checker prevents direct AST cycles.
What It Covers
Jake Bailey discusses TypeScript's migration from JavaScript to Go, achieving 10x performance improvements through native code, parallelism, and architectural changes that reduce compile times from minutes to seconds across large codebases.
Key Questions Answered
- •Module Migration Strategy: TypeScript converted from namespaces to ES modules using automated TSmorph transformations, gaining 30-40% performance by eliminating object property access overhead and enabling modern bundler optimizations like esbuild's 100ms compile times versus 30-second builds.
- •Monorepo Configuration: DefinitelyTyped's conversion to PNPM monorepo with 8,000 packages replaced file scanning with proper package dependencies and linking, eliminating false dependencies and enabling selective builds. Most TypeScript performance issues stem from misconfigured tsconfigs, not type system complexity.
- •Go Port Performance: Native Go implementation delivers 10x speedup through shared memory concurrency and parallel parsing. Projects with 30-minute builds now complete in 7 minutes, while editor startup times drop from 20-30 seconds to under 3 seconds on large codebases.
- •Language Selection Criteria: Go won over Rust and C# because TypeScript's synchronous code, cyclic data structures with parent pointers, and self-referencing types required one-to-one porting. Go's goroutines enable concurrency without async/await transformations, while Rust's borrow checker prevents direct AST cycles.
Notable Moment
Bailey discovered TypeScript spent 30% of execution time on property access because namespace-based architecture forced object lookups for cross-file references. Converting to modules eliminated this overhead entirely, revealing massive hidden performance costs from legacy architectural decisions.
Episode Transcript
TypeScript is a statically typed superset of JavaScript that adds optional type annotations and modern language features to improve developer productivity and code safety. The TypeScript compiler performs type checking at compile time, catching errors before code is run, and also transforms TypeScript code into clean, standards compliant JavaScript. Jake Bailey is a senior software engineer at Microsoft where he works on TypeScript and has made major contributions to the TypeScript compiler. Jake joins the podcast with Josh Goldberg to talk about TypeScript and his work. 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, the tooling that enables eslint and Prettier to run on TypeScript code. Josh is also the author of The O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies, and a live code streamer on Twitch. Find Josh on Blue Sky, Mastodon, Twitter, Twitch, YouTube, and .com as Joshua k Goldberg. Jake Bailey, welcome to Software Engineering Daily. Hello. How's it going? Hi. It's good. I'm so excited to talk to you, Jake. We've done so much work, and you've done so much work on on TypeScript and its tooling. Everyone's useful. What is your blue sky description, your profile, say? I think my profile says, according to Git blame, I wrote the TypeScript compiler, which is, like, not true, but it is true if you don't bother to ignore all the migrations I've made. So, yes. Then I guess if you look at the new repo, then it'll probably also say something similar, but There we go. Less so. The one and only author of TypeScript? No. No. No. No. Absolutely not. I'm new, okay? Well, we're going to get into that. But before we go through all the tooling stuff you've done with TypeScript and the work on TypeScript in Go, which is incredibly exciting, let's start with you. How did you get into coding, Jake? Oh. A long time ago, I was a child in elementary school, and I had a TI73. And by some coincidence, the teacher assigned an assignment, which was basically, I want you to tell the class about a button on the calculator. And I'm pretty sure I got assigned the program button. And so I had TI Basic. And so my first language was TI Basic in like, I don't know, the third grade, fourth grade. I don't know. One of those. It's been a lot of time, obviously. And then I just it's one of those things where it's like, I kind of think I knew what I was going to do from the beginning. And I think like in middle school, I'm like, I'm going to check out the book on C, and I just learned C. And then I was like, Man, I'd really like to work on Runescape private servers so that I'm just modifying Java and trying to convince my friends to install Hamachi so …
Get the full transcript (9,285 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.
You just read a 3-minute summary of a 43-minute episode.
Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Software Engineering Daily
A Rust Framework to Simplify Distributed Systems
Sep 10 · 50 min
Syntax
975: What’s Missing From the Web Platform?
Feb 2
More from Software Engineering Daily
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Sep 8 · 52 min
Biotech Hangout
Episode 192 - August 7, 2026
Aug 7
Books, tools, and gear mentioned in this episode
SignalCast may earn commission on purchases via these links.
Tools
“DefinitelyTyped's conversion to PNPM monorepo with 8,000 packages replaced file scanning with proper package dependencies and linking”
“modern bundler optimizations like esbuild's 100ms compile times versus 30-second builds”
“TypeScript converted from namespaces to ES modules using automated TSmorph transformations, gaining 30-40% performance by eliminating object property access overhead”
company
“DefinitelyTyped's conversion to PNPM monorepo with 8,000 packages replaced file scanning with proper package dependencies and linking”
More from Software Engineering Daily
We summarize every new episode. Want them in your inbox?
A Rust Framework to Simplify Distributed Systems
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Moving Beyond RAG with Precomputed Context
The Death of Online Anonymity
TypeScript 7 and What Comes Next
Similar Episodes
Related episodes from other podcasts
Syntax
Feb 2
975: What’s Missing From the Web Platform?
Biotech Hangout
Aug 7
Episode 192 - August 7, 2026
The AI Breakdown
Jun 26
Botsitting: The Work Draining AI Gains
Accidental Tech Podcast
Jun 9
695: The Crystal Pepsi of Aqua
The Prof G Pod
May 20
Why Happiness Has Nothing to Do With Success — with Arthur Brooks
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Startups & Product Podcast Insights — cross-podcast analysis updated weekly.
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 DigestNo credit card · Unsubscribe anytime