Software Unscripted cover image

Software Unscripted

Type System Complexity with Chris Krycho

Sep 7, 2023
Chris Krycho, TypeScript expert, discusses challenges of migrating code to TypeScript at LinkedIn, trade-offs between Rust and TypeScript in companies and operating systems, differences between JSON decoders in Elm and TypeScript, handling payload errors and backwards compatibility, complexities of TypeScript's type system, and balancing API hiding and exposing.
49:45

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • TypeScript adoption at scale requires careful planning and strategy to support millions of lines of code and impact hundreds to thousands of engineers.
  • TypeScript's unconventional semantic versioning adds complexity to managing types in large, dynamic JavaScript codebases.

Deep dives

Migrating to TypeScript at LinkedIn

Chris Crico discusses the process of migrating millions of lines of code to TypeScript at LinkedIn. The adoption of TypeScript at LinkedIn started a few years before Chris joined the company. Initially, there were experiments with TypeScript, rewriting internal libraries, but no support for the millions of lines of application code used by members and end users. Chris shares the challenges of adopting TypeScript at scale and the need to consider a strategy for supporting a new language that will impact hundreds to thousands of engineers. Ultimately, the adoption process took about two and a half years. TypeScript's unconventional take on semantic versioning is also discussed, highlighting the complexities of managing types in a large, dynamic language like JavaScript.

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner