In my free time, I love to learn and experiment with new technologies and paradigms.
I believe software engineering is a constant battle of design decisions with trade-offs at every step of the process. I strive to equip myself with the tools and knowledge that help make these decisions more informed. Sometimes the shiny new thing can be dangerous when working with a small team but there may lessons to learn from it.
Below is an assorted collection of links that have impacted me. It's a public catalogue that I hope others may find useful.
Blog posts
- Mocks and Explicit Contracts
 - How We Built a Vectorized SQL Engine - Cockroach Labs
 - Datascript 101 · verma/blog
 - Let's Create a Simple Load Balancer With Go
 - How Figma’s multiplayer technology works
 - Centrifuge: a reliable system for delivering billions of events per day
 - The $10m engineering problem
 - Books, an immutable double-entry accounting database service
 - Why your web framework should not adopt Rack API
 - WebAssembly Interface Types: Interoperate with All the Things!
 - Let’s Build A Web Server. Part 2.
 - Closures are not magic
 - Cadence: Microservice architecture beyond request/reply
 - What We Talk About When We Talk About Distributed Systems
 - Database migrations done right
 - Zero Downtime Deployment with a Database
 - Understanding JavaScript Function Invocation and 'this'
 - Tasks, microtasks, queues and schedules
 - Untangling our Python Code
 - How do Promises Work?
 - HTTP/2 is here, let's optimize!
 - To OT or CRDT, that is the question
 
Blog posts
Blog posts
- Boundaries
 - Rules
 - Modular Design in Elixir
 - Building Resilient Systems with Stacking
 - Building a Custom React Renderer
 - Writing an Ecto Adapter Introducing MyXQL
 - Docker and OTP Friends or Foes
 - Introducing Scenic A Functional UI Framework
 - Thinking In Ecto
 - React Native's New Architecture
 - Let Business Write Business Logic
 - React Today and Tomorrow
 - Concurrent Rendering in React
 - Cleaner React With Hooks
 - Building (And Re-Building) the Airbnb Design System
 - CRDTs for Mortals
 - Run containers on bare metal already!
 - Building (And Re-Building) the Airbnb Design System
 - Unison: a new distributed programming language
 - Rust, WebAssembly, and the future of Serverless by Steve Klabnik
 - ElixirConf 2019 - Contracts for Building Reliable Systems
 - From Monorail to Monorepo: Airbnb's journey into microservices
 - RailsConf 2019 - Rethinking the View Layer with Components
 - The 30-Month Migration by Glenn Vanderburg
 - On Writing Software Well
 - How WhatsApp moved 1.5B users across data centers
 - How Netflix Thinks of DevOps
 - Preventing the Collapse of Civilization
 - Lessons From Our First Trillion Messages with Flow
 - ZenMonitor: Scaling Distributed Monitoring at Discord
 - Breaking Down the User Monolith
 - Simple is Beautiful Building an SLA Monitoring
 - Simply React
 - Efficient data loading in Elixir using the deferrable pattern - build super fast GraphQL resolvers
 - Reactive Programming with Diff and Patch #YOWLambdaJam
 - Immutable Application Architecture
 - Hooking up the new virtual machine
 - In Relentless Pursuit of REST by Derek Prior
 - Effective ML
 - Making Unreasonable States Impossible
 - Production Rules on Databases
 - Manage side-effects efficiently with Redux Saga
 - Discovering Processes
 
Blog posts
- The EmberMap Podcast
 - This Week in Startups
 - Acquired
 - The Art of Product
 - The Changelog
 - Elixir Fountain
 - Elixir Mix
 - Elixir Outlaws
 - Elixir Talk
 - Exponent
 - The Ezra Klein Show
 - Freakonomics Radio
 - Full Stack Radio
 - How I Built This with Guy Raz
 - The Indicator from Planet Money
 - Maintainable
 - Mobycast
 - Planet Money
 - The Pitch
 - Reason Town
 - React Podcast
 - Software Engineering Daily
 - Startups For the Rest of Us
 - Y Combinator
 - To Be Continuous
 - Syntax - Tasty Web Development Treats
 - Swift by Sundell