Programming

Programming

Minko Gechev
Country USA
Genres Technology
Language EN-US
Episodes 25
Latest 20.12.2025

Programming is a podcast designed to help listeners become better software engineers. Each episode explains a computer science concept in a brief and accessible way. The show focuses on practical learning and clear explanations rather than marketing or entertainment. It is aimed at developers and anyone interested in strengthening their technical foundations.

Episodes

  • Episode 25 - Micro Frontends Patterns 20.12.2025 24m
    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 patterns and their trade-offs.Enjoy!
  • Episode 24 - AI Agents 13.12.2025 18m
    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!
  • Episode 23 - Building a minimal reactive framework 17.01.2025 17m
    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.
  • Episode 22 - Signals 10.01.2025 11m
    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.
  • Episode 21 - Maps, Hash Maps, Tree Maps, and Hash Tables 01.07.2020 16m
    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!
  • Episode 20 - Static and Dynamic Systems 23.06.2020 13m
    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!
  • Episode 19 - Type Systems and Type Checking 16.06.2020 6m
    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.
  • Episode 18 - How JavaScript Bundlers Work 25.05.2020 11m
    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!
  • Episode 17 - Dependency Injection 21.04.2020 10m
    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.
  • Episode 16 - Memoization 14.04.2020 10m
    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!
  • Episode 15 - Compilers, Linters, and Formatters 07.04.2020 8m
    In this episode of the programming podcast, we'll discuss static analysis and code transformation. In particular, we'll look at the difference between compilers, linters, and formatters. By the end of the episode, you'll understand what tool you should use to improve your development experience and team processes.
  • Episode 14 - The Four Principles of OOP 31.03.2020 14m
    In today's episode, you'll learn the four principles of object-oriented programming. We'll discuss abstraction, inheritance, encapsulation, and polymorphism. By the end of the show, you'll understand each one of them; you'll know how they relate to each other, and how to use them in practice.
  • Episode 13 - Binary Heaps 24.03.2020 12m
    Today we're going to discuss the binary heap data structure. In this episode, you'll learn where to use heaps in practice, how they can come handy to you during a coding interview, and how to implement them! Along the way, we'll cover heap sort, priority queues, load balancing, and more!
  • Episode 12 - COVID-19. Epidemic modeling with SIR. 17.03.2020 9m
    Instead of digging into algorithms and data structures, today, you'll learn about epidemic modeling. In 9 minutes in this episode, you'll get a mathematical intuition on the spread of COVID-19 and the essential variables we can control, which can help us fight the virus.
  • Episode 11 - Coupling and Cohesion 10.03.2020 11m
    Today you'll learn how keeping your abstractions more cohesive and less coupled can improve the quality and maintainability of your software.
  • Episode 10 - Topological Sort 03.03.2020 13m
    The chances are that the information from this episode will come in handy to you during a coding interview and likely in real life! In this episode, you'll learn the topological sort algorithm. Along the way, you'll understand what's a dependency graph and how topological sort operates on this data structure. We'll also discuss a few real-life examples where I had to implement topological sort myself!
  • Episode 9 - Sorting. Counting Sort. 26.02.2020 13m
    Have you ever been frustrated during interviews thinking that your interviewer expects you to have memorized a bunch of sorting algorithms you'd never need in real life? In this episode of the podcast learn how to approach such situations. In performance critical systems you may have to implement an efficient sorting yourself. Learn how to beat the built-in algorithm in a few lines of code!
  • Episode 8 - Decorator Pattern 18.02.2020 13m
    Today you'll learn how at runtime, you can enhance the behavior or existing objects using the decorator pattern. In this episode, we'll discuss the advantages of decorators over inheritance and look at two examples from real-life - implementing a network communication protocol and enriching user interface components.
  • Episode 7 - Tries 11.02.2020 11m
    In the episode today, we'll talk about the trie data structure. You'll learn what tries are, how you can use them in practice, and how to implement them in your favorite programming language!
  • Episode 6 - Graphs and Graph Traversal 04.02.2020 21m
    In this episode, we'll discuss graphs. You'll learn how this data structure looks like and what are its applications. Later on, we'll talk about algorithms for traversing graphs. You'll understand how breadth-first search and depth-first search work and when you should use one instead of the other. Topics we'll also touch on are chromatic graphs and finding the shortest path.

Popular in

The podcast also appears in the podcast charts of these countries.