RSS Amplifier

Podcast

Programming

Programming is a podcast that aims to make us better software engineers! With each episode, you'll learn about a computer science concept in a brief and accessible way.

podcast.mgechev.comSource feed ↗10 episodes

Live Last read · last published · next check

Latest episodes

Saves to your Listen queue, to pick up on another day or another device.

Episode 25 - Micro Frontends Patterns

The episode is inspired by research I conducted a few years ago in which I interviewed hundreds of other senior engineers and architects building web applications at scale. I begin by introducing the concept of micro frontends and discussing when to use them versus relying on more straightforward and reliable techniques. In the second part of the episode, we cover five different micro frontend…

Play

Episode 24 - AI Agents

In this episode, we'll cover what AI agents are, how they work, common agentic implementation patterns, and how agents manage their context window. Enjoy!

Play

Episode 23 - Building a minimal reactive framework

This episode explores building a minimal reactive framework using signals as a reactivity primitive. We'll look into implementing a simple component model, composing components, separating the view into static and dynamic parts, and implementing fine-grained reactivity.

Play

Episode 22 - Signals

In this episode, we'll explore a concept called Signal that has been getting a lot of traction in JavaScript over the past few years. I'll describe a simple implementation so you can understand the internals and then see how it relates to the traditional object-oriented design pattern observer.

Play

Episode 21 - Maps, Hash Maps, Tree Maps, and Hash Tables

Today in less than 20 minutes, we'll explore what maps are and how they work under the hood. We'll talk about the differences between treemaps, hash maps, and hash tables. We'll dig pretty in-depth...By the end of the episode, you'll understand how to implement hash tables using an array, hash function, and a linked list!

Play

Episode 20 - Static and Dynamic Systems

Today we'll look into static and dynamic systems. We'll discuss what does it mean for a programming language or a framework to be static or dynamic. In the second part of the podcast, we'll focus on some of the properties of static systems and how they can help in better compile-time optimizations, development experience, and more!

Play

Episode 19 - Type Systems and Type Checking

In this episode, we'll look at the very basics of type systems and their enforcement. We'll discuss strongly and weakly typed languages. After that, we'll dig into different enforcement strategies - runtime with dynamic typing and compile-time with static typing.

Play

Episode 18 - How JavaScript Bundlers Work

In this episode, we'll look at what data structures and algorithms JavaScript bundlers use. We'll talk about ECMAScript modules, strongly connected components, depth-first search, and more! Enjoy!

Play

Episode 17 - Dependency Injection

Today we'll talk about using dependency injection across paradigms! You'll understand what this pattern is all about and how to use it. During the episode, we'll touch on topics such as inversion of control, high-order functions, and testability.

Play

Episode 16 - Memoization

Today we'll learn about memoization! Memoization is a practice that helps us improve the performance of our apps using caching. In the episode, we'll also discuss pure functions, caching strategies, and much more!

Play