Gunjan Sharma

Speaking

Videos & Talks

Conference talks, YouTube deep-dives, and technical walkthroughs. Topics include blockchain architecture, XRPL, distributed systems, and security.

Jun 2026
Concurrency Is Not Parallelism — Rob Pike

Heroku Waza 2012

Go's co-creator clarifies one of the most commonly confused concepts in computing. Concurrency is about structure (dealing with many things), parallelism is about execution (doing many things simultaneously). CSP-based goroutines and channels enable concurrent design.

golangconcurrencyparallelismgoroutineschannelsdistributed-systems
Watch now ↗
Jun 2026
The Log: What Every Software Engineer Should Know About Real-Time Data — Jay Kreps

LinkedIn Engineering 2013

Kreps explains how the append-only log is the central data structure for distributed systems. Covers Kafka's design, stream processing, and how logs enable database replication, event sourcing, and real-time analytics. Foundational for data pipeline design.

kafkalogsstream-processingdistributed-systemsevent-sourcing
Watch now ↗
Jun 2026
Are We There Yet? — Rich Hickey

JVM Language Summit 2009

Hickey challenges OOP's model of identity, state, and time. Argues that mutable state conflates identity with value, causing concurrency problems. Introduces epochal time model and persistent data structures as better abstractions for managing state change.

stateidentitytimeconcurrencyfunctional-programmingoop
Watch now ↗
Jun 2026
Microservices — Martin Fowler & James Lewis

GOTO Conference 2014

Fowler and Lewis define the microservices architectural style — small services, independent deployment, organized around business capabilities. This talk crystallized the term and pattern that has since reshaped backend architecture worldwide.

microservicesarchitecturedistributed-systemsdeploymentdevops
Watch now ↗
Jun 2026
Stop Writing Dead Programs — Jack Rusher

Strange Loop 2022

Rusher argues that modern programming environments are frozen, text-based artifacts disconnected from live running systems. He demos live Smalltalk-inspired environments where you modify running programs. Provocative critique of mainstream programming practice.

live-programmingtoolssmalltalkprogramming-environmentshistory
Watch now ↗
Jun 2026
Boundaries — Gary Bernhardt

PyCon 2013

Bernhardt presents the functional core, imperative shell architecture. Isolate pure functions from side effects to make code radically more testable. This pattern is central to how I design business logic in fintech systems that require audit correctness.

architecturetestingfunctional-programmingdesign-patterns
Watch now ↗
Jun 2026
Making Badass Developers — Kathy Sierra

Fluent 2015

Sierra applies cognitive science to developer learning. Shows how to move skills from conscious effort to automatic intuition. The key insight: reduce cognitive load so experts can focus on the hard problems rather than basic tasks.

learningexpertisecognitive-sciencedeveloper-productivity
Watch now ↗
Jun 2026
Hammock Driven Development — Rich Hickey

Clojure/Conj 2010

Hickey advocates for spending more time thinking and less time coding. The role of the background mind in problem-solving and the importance of properly understanding problems before writing solutions. A great counterpoint to agile's bias for action.

problem-solvingdesignthinkingsoftware-engineering
Watch now ↗
Jun 2026
The Value of Values — Rich Hickey

JaxConf 2012

Hickey argues for immutable values over mutable objects. Shows how place-oriented programming introduces accidental complexity and concurrency bugs. The shift to value-based thinking is foundational to functional programming and event sourcing architectures.

functional-programmingimmutabilityvaluesclojurearchitecture
Watch now ↗
Jun 2026
Performance Matters — Emery Berger

Strange Loop 2019

Berger exposes the flaws in how we benchmark software — ASLR, caching effects, and measurement noise make most performance comparisons unreliable. Introduces stabilizer and causal profiling. Critical for anyone optimizing production system performance.

performancebenchmarkingprofilingsystemsoptimization
Watch now ↗
Jun 2026
Systems That Run Forever, Self-Heal, and Scale — Joe Armstrong

Strange Loop 2013

Erlang's creator explains the design principles behind systems that never go down. Error handling via supervision trees, message passing, and the 'let it crash' philosophy. Highly relevant for building fault-tolerant payment and settlement systems.

erlangfault-tolerancedistributed-systemsself-healingconcurrency
Watch now ↗
Jun 2026
The Birth & Death of JavaScript — Gary Bernhardt

PyCon 2014

A satirical yet prescient talk about JavaScript's trajectory. Bernhardt humorously predicts a future where JS runs everywhere — on the server, in databases, and on metal. Thought-provoking on how languages evolve and dominate ecosystems.

javascripthistoryprogramming-languagessatirewebassembly
Watch now ↗
Jun 2026
Inventing on Principle — Bret Victor

CUSEC 2012

Victor demonstrates live-coding environments where creators see the immediate effect of changes. A profound meditation on the relationship between creators and their tools. Inspired a generation of new programming environments and live-reload tools.

live-codingtoolscreativityprogramming-environments
Watch now ↗
Jun 2026
Growing a Language — Guy Steele

OOPSLA 1998

A brilliant and self-referential talk on language design where Steele grows his vocabulary as he speaks. Explores how programming languages must be designed so users can extend them. Applies deeply to API and DSL design in distributed systems.

programming-languagesdesignjavaextensibility
Watch now ↗
Jun 2026
How to Design a Good API and Why It Matters — Joshua Bloch

Google Tech Talk 2007

Bloch's principles for designing APIs that developers love using. Covers naming, error handling, documentation, and the cost of bad APIs. As someone who designs internal and external APIs for fintech platforms, these principles guide every interface I create.

api-designsoftware-designjavabest-practices
Watch now ↗
Jun 2026
Mastering Chaos: A Netflix Guide to Microservices — Josh Evans

QCon San Francisco 2016

Netflix's battle-tested approach to running thousands of microservices in production. Covers service mesh, chaos engineering, dependency management, and resilience patterns. Practical lessons from operating one of the world's largest streaming platforms.

netflixmicroserviceschaos-engineeringresiliencedistributed-systems
Watch now ↗
Jun 2026
Simple Made Easy — Rich Hickey

Strange Loop 2011

Hickey distinguishes between simple (one concept, not interleaved) and easy (familiar, nearby). This mental model completely changed how I evaluate architectural decisions. Complexity is the root cause of most software failures.

simplicitycomplexityarchitectureclojuredesign
Watch now ↗
Jun 2026
What the heck is the event loop anyway? — Philip Roberts

JSConf EU 2014

The clearest explanation of JavaScript's event loop, call stack, and Web APIs ever given. Roberts uses a visual tool to show exactly how async callbacks work. Essential for anyone writing async Node.js code or debugging event-driven systems.

javascriptevent-loopasyncnodejsconcurrency
Watch now ↗
Jun 2026
The Future of Programming — Bret Victor

DBX Conference 2013

Bret Victor delivers a prescient 1973-era talk about the future of programming — ideas that were ahead of their time then and are still inspiring today. A meditation on direct manipulation, spatial thinking, and how programming environments should evolve. One of the most thought-provoking tech talks ever.

programmingfutureHCIdesign
Watch now ↗
Jun 2026
Raft: Understandable Distributed Consensus — Diego Ongaro

Stanford CSCX98 2013

Diego Ongaro's original lecture explaining the Raft consensus algorithm visually and intuitively. If you've read the paper and still want clarity on leader election and log replication in practice, this talk makes it click instantly.

distributed systemsconsensusraftalgorithms
Watch now ↗