17 Sept 2026 AI Skills with Matt Pocock
"Former voice coach turned developer shares insights on AI integration in software engineering, emphasizing fundamentals, adaptability, and structured workflows for productivity."
More The Pragmatic Engineer episodes

Published 20 May 2026
Duration: 01:04:59
Rust prioritizes memory safety and performance via ownership, borrow checking, and `unsafe` blocks without garbage collection, balancing robust governance, community-driven tools like Cargo and Tokio, safety features including null safety and exhaustive pattern matching, and ongoing efforts to simplify learning curves and integrate AI-driven development, while standing out in system programming compared to TypeScript, JavaScript, and C++.
Brought to You By:Antithesis verify your systems correctness without human review or traditional integration tests and avoid bugs or outages.Sentry ap...
The podcast discusses Rust's design as a language prioritizing reliability and performance through unique safety mechanisms. Central to Rust are its ownership model, borrow checker, and unsafe keyword, which enforce memory safety at compile time without a garbage collector, preventing issues like dangling pointers and data races. Concepts such as move semantics, reference counting (e.g., Arc), and strict error handling via the Result enum and ? operator are highlighted as key features that reduce runtime bugs. Challenges include the complexity of ownership systems, asynchronous programming, and cyclic reference management, which require careful design to avoid compiler errors. Rust's approach to null safety, mandatory variable initialization, and enum pattern matching further enhance code reliability, contrasting with languages like C++ or JavaScript.
The episode also covers Rust's governance model, which relies on RFCs (Requests for Comments) and structured team decisions, ensuring community-driven language evolution through editions and backward-compatible updates. The Tokyo async runtime is emphasized as a critical tool for high-concurrency systems, analogous to JavaScripts event loop. Rusts ecosystem includes Cargo, its package manager, and tools like Serde for compile-time JSON validation. While Rust excels in system programming and backend applications, its maturity in frontend development (e.g., WebAssembly) remains limited. Comparisons with languages like TypeScript, Java, and C# underscore Rusts stronger safety guarantees, particularly in preventing memory vulnerabilities.
Additional topics include Rusts role in projects like the Linux kernel and its growing adoption by companies for security-critical systems. The discussion touches on emerging Rust features like in-place initialization and challenges in AI-assisted code development, where tools may generate errors requiring human oversight. Despite its learning curve, Rusts compiler and error handling are praised for catching bugs early, while its focus on memory safety and reliability positions it as a versatile alternative to traditional low-level languages.
What if you isolate a performance-critical section of your code using the unsafe keyword to bypass borrow checker restrictions?
Concrete move: Identify a bottleneck (e.g., raw pointer manipulation) and encapsulate it in an unsafe block with explicit safety invariants.
Why now: Rusts ownership model guarantees safety, but unsafe allows optimized access for system-level code where direct memory control is needed.
Expected upside: Reduce runtime overhead in critical paths (e.g., networking or data parsing) while maintaining safety via rigorous boundary checks.
What if you adopt the Tokyo async runtime to refactor your applications concurrency model for high-throughput systems?
Concrete move: Replace blocking I/O with asynchronous handlers using tokio::spawn and async/await in your existing codebase.
Why now: Rusts Tokyo runtime is designed for scalable async operations, and its multi-threaded capabilities align with modern backend demands (e.g., APIs, microservices).
Expected upside: Handle 10x+ more concurrent requests without thread overhead, leveraging Rusts safety guarantees for reliable async code.
What if you use Arc + Mutex to share large data structures across threads in a memory-safe way?
Concrete move: Replace raw pointers with Arc<Mutex<T>> for shared, mutable state in a multi-threaded application (e.g., caching layer).
Why now: Rusts reference counting and ownership model ensure no data races, unlike C++s manual memory management.
Expected upside: Eliminate race conditions and undefined behavior while maintaining low-latency access to shared data, reducing debugging time.
Arc (Atomic Reference Counter) for shared ownership in multi-threaded applications to avoid ownership conflicts when managing large data structures that require multiple references.? operator with Result enums to enforce explicit error handling in your code, ensuring compile-time resolution of potential errors instead of runtime crashes.17 Sept 2026 AI Skills with Matt Pocock
"Former voice coach turned developer shares insights on AI integration in software engineering, emphasizing fundamentals, adaptability, and structured workflows for productivity."
9 Sept 2026 Building Codex with Tibo Sottiaux
"Explores Codex's AI-powered coding assistant development, Rust's role, open-source benefits, AI's impact on software workflows, and the future of AI-assisted problem-solving."
26 Aug 2026 Why performant code matters (but gets widely ignored), with Casey Muratori
"Performance optimization in software hinges on early architectural decisions, deep system knowledge, and avoiding premature abstraction, with historical and modern challenges shaping its evolution."
19 Aug 2026 From Chrome DevTools to AI Engineering, with Addy Osmani
"AI is reshaping software engineering by automating coding tasks, while adaptability, leadership, and lifelong learning remain key to thriving in the evolving tech landscape."
12 Aug 2026 Stop being skeptical about AI for development with Charity Majors
"AI's impact on software engineering is reshaping code review, reliability, and career paths, demanding new verification methods, ethical accountability, and adaptability in a rapidly evolving field."