# It Depends > Kislay's personal blog and newsletter Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [About me](https://kislayverma.com/about.md) - For most of my 24 hours, I'm the co-founder and CTO at Shoffr. When I can sneak in some time, I vibe-code fun stuff like Back Again (a retro game arcade), The Museum of Everything (explore world history and any other topic, museum style), and Altmove (a chess learning system). For a while, I publis… ## Posts - [Altmove: Learn to play Chess](https://kislayverma.com/altmove-learn-to-play-chess.md) - Altmove is a platform to learn how to get better at chess with in-game, real-time coaching, the ability to explore multiple alternate futures, and a structured progression plan. - [Evolving Software: SOLID principles as a continuum](https://kislayverma.com/evolving-software-solid-principles-as-a-continuum.md) - Understand how SOLID principles work all at once to support each other, and their role as evolutionary guardrails for software systems. - [Building robust distributed systems](https://kislayverma.com/building-robust-distributed-systems.md) - Distributed systems give us tremendous scalability, but we need to build them right to reap the full benefits of this complicated architecture - [On building scalable systems](https://kislayverma.com/on-scalable-software.md) - A deep dive into software scalability, strategies for building a scalable system, and adopting distributed system design as the key to scalability - [Mini Essay #4 - The other side](https://kislayverma.com/mini-essay-4-the-other-side.md) - Much of what we do at work can be seen from two sides. To really learn how to do your job, find a way to get to the other side. - [Mini Essay #3 - Say "no"](https://kislayverma.com/mini-essay-3-say-no.md) - Hope is not a strategy. The only way to do effective short term planning is to say "no" brutally. - [Architecture Patterns: Caching (Part-2)](https://kislayverma.com/architecture-patterns-caching-part-2.md) - Part 2 of the series covers some nuances in using the caching architecture pattern and offers some tips in scaling the cache infrastructure for larger loads. - [Architecture Patterns: Caching (Part-1)](https://kislayverma.com/architecture-patterns-caching-part-1.md) - The first of an introduction to the use of caching in system design and some nuances on how it works in real-world architectures - [Mini Essay #2 - Failure is a Feature](https://kislayverma.com/mini-essay-2-failure-is-a-feature.md) - Failures in distributed systems are not bugs, they are features. Don’t worry about preventing errors, focus on isolating them. Focus on speed of detection and fixing. - [Mini Essay #1: Mindful Actions](https://kislayverma.com/mini-essay-1-mindful-actions.md) - Action is necessary, but not sufficient for mastery. ‘Mindful’ action is the key. Conscious practice builds subconscious competence. - [The pentagon of entity models](https://kislayverma.com/the-pentagon-of-entity-models.md) - Understanding a common pattern of entity models evolve, and why the process works that way. - [The Mechanics of Software Evolution](https://kislayverma.com/the-mechanics-of-software-evolution.md) - How to adopt an evolutionary mindset and use feature requests as a breeding ground for the next generation of the system's architecture - [The crypto-web's fatal flaw](https://kislayverma.com/the-crypto-webs-fatal-flaw.md) - The financialization inherent to the crypto-web's architecture is the reason it is ticking, and the reason we shouldn't let it tick. - [The Marketplace Scam (sellers beware!)](https://kislayverma.com/the-marketplace-scam-sellers-beware.md) - “Every great magic trick consists of three parts or acts. The first part is called "The Pledge". The magician shows you something ordinary: a deck of cards, a bird, or a man. He shows you this object. Perhaps he asks you to inspect it to see if it is indeed real, unaltered, normal. But of course...… - [Guidelines for writing useful libraries](https://kislayverma.com/guidelines-for-writing-useful-libraries.md) - General guidelines for writing useful libraries - [Competitive programming is useless](https://kislayverma.com/competitive-programming-is-useless.md) - Extreme achievements in competitive programming among college students is useless as a hiring signal - [The Rise of Edge Computing](https://kislayverma.com/the-rise-of-edge-computing.md) - The rise of edge computing, and how it will change the technology landscape as we know it - [Uncertainty and Learning as Tech Debt](https://kislayverma.com/uncertainty-and-learning-as-tech-debt.md) - Software engineering is an engine for processing tech debt into concrete learning about the customer - [Book Review and Highlights: "Accelerate"](https://kislayverma.com/book-review-and-highlights-accelerate.md) - Summary and highlights from "Accelerate - Building, and scaling high performing technology organizations" by Nicole Forsgren, Jez Humble, and Gene Kim - [The sense of purpose in a complex system](https://kislayverma.com/the-sense-of-purpose-in-a-complex-system.md) - Understanding the concept of purpose explains why are man-made systems built top-down when everything else in nature evolves bottom-up? - [Summary: Lectures by Dr. Russell Ackoff](https://kislayverma.com/summary-lectures-by-dr-russell-ackoff.md) - A brief summary of lectures by Dr. Russell Ackoff on Systems thinking, leadership, management, and creativity - [So you want to privatize a bank?](https://kislayverma.com/so-you-want-to-privatize-a-bank.md) - aka know the effect you wish to create before you take action - [System design from one level up](https://kislayverma.com/system-design-from-one-level-up.md) - Before you design a system, understand the environment the system will live in. Because it is systems all the way up! - [Combining rule-systems and machine learning](https://kislayverma.com/combining-rule-systems-and-machine-learning.md) - Combining rule engines and machine learning to build powerful system - [The problem is not the problem](https://kislayverma.com/the-problem-is-not-the-problem.md) - A system-thinking led analysis of how not to create change. This is as big a challenge as its inverse, and arguably the one where most people fail despite their motivation. I share what I have learnt from my multiple failures and how I think about orchestrating large scale changes in an organization - [How to organize your code?](https://kislayverma.com/how-to-organize-your-code.md) - Why you should organize code by logical entities rather than by layers of the tech stack - [How big should a method be?](https://kislayverma.com/how-big-should-a-method-be.md) - How big should a method be? It doesn't matter, as long as the reader isn't tired in reading it or curious to read it. - [Ditch the Urgency](https://kislayverma.com/ditch-the-urgency.md) - Ditch the urgency to move for the sake of moving. Don’t short-circuit the thinking process. Give it the luxury of time by making it super smooth to put good ideas into action. - [Why programmers don't write documentation](https://kislayverma.com/why-programmers-dont-write-documentation.md) - No excuses. We don't write documentation because writing clearly is extremely hard. - [External Programmability: The second law of building platforms](https://kislayverma.com/external-programmability-the-second-law-of-building-platforms.md) - External Programmability - The second law of building platforms - [Testing strategies for agile teams](https://kislayverma.com/testing-strategies-for-agile-teams.md) - Modern testing strategies for agile teams, because traditional end-to-end testing paradigms are not enough anymore. - [How to write self-documenting code](https://kislayverma.com/how-to-write-self-documenting-code.md) - Code that reveals the underlying conceptual model is the only self-documenting code because it explains both the why and how - [Reduce collaboration by good design](https://kislayverma.com/reduce-collaboration-by-good-design.md) - Collaboration is a bad word in the wrong phase of the product's lifecycle. Good design can help reduce the cruft. - [Architecture Pattern: CQRS](https://kislayverma.com/architecture-pattern-cqrs.md) - A brief introduction to the CQRS architecture pattern - what, why, and why not - [Book Review: 10% Human by Alanna Collen](https://kislayverma.com/book-review-10-human-by-alanna-collen.md) - Book review and summary for "10% Human: How your body’s microbes hold the key to health and happiness " by Alanna Collen - [Preventing "go-around" with Platform Thinking](https://kislayverma.com/preventing-go-around-with-platform-thinking.md) - Apply platform thinking to prevent teams from bypassing core systems - [Perhaps we shouldn't be so well connected?](https://kislayverma.com/perhaps-we-shouldnt-be-so-well-connected.md) - Internet as we know it today is killing the collective fictions of our society, and what to do about it - [Hindsight in 2020](https://kislayverma.com/hindsight-in-2020.md) - 2020 in highlights, and my learnings and realizations from it - [Why and How to use Feature Toggles](https://kislayverma.com/why-and-how-to-use-feature-toggles.md) - What are feature toggles and how to use them for faster and safer deployments - [Architecture Pattern: Orchestration via Workflows](https://kislayverma.com/architecture-pattern-orchestration-via-workflows.md) - Workflow pattern is a powerful way to combine low level capabilities for modelling business processes - [Managing developer identities in autonomous teams](https://kislayverma.com/managing-developer-identities-in-autonomous-teams.md) - Autonomous teams, evolution of developer self-identities, and a manager's role in all this. - [How to speed up software delivery](https://kislayverma.com/how-to-speed-up-software-delivery.md) - How to deploy software faster than you thought possible, and then faster still - [Book Review : Wardley Mapping](https://kislayverma.com/book-review-wardley-mapping.md) - Review and highlights from Simon Wardley's book on the creation and use of Wardley maps - [Working around the CAP Theorem with Eric Brewer](https://kislayverma.com/working-around-the-cap-theorem.md) - Breakdown and highlights from Eric Brewer's "CAP Twelve Years Later: How the Rules Have Changed" - [Observing is not Debugging (and other misnomers)](https://kislayverma.com/observing-is-not-debugging-and-other-misnomers.md) - Observability is system in motion, debugging is system at pause. Different rules apply. - [The Revolution will be Unsupervised](https://kislayverma.com/the-revolution-will-be-unsupervised.md) - Why the next AI revolution will be Unsupervised - [Publish events, not logs](https://kislayverma.com/publish-events-not-logs.md) - Don't think about logs for observability. Think about system boundaries and events. - [For the Layman (Ep. 3) - What is programming?](https://kislayverma.com/for-the-layman-ep-3-what-is-programming.md) - A beginner's guide to what programming is and what programmers do - [Book Review : The Great Mental Models (General Thinking Concepts)](https://kislayverma.com/book-review-the-great-mental-models-general-thinking-concepts.md) - Deep concepts covered very simply for a beginner, but more seasoned readers will be disappointed - [More than testing - writing unit tests for better design](https://kislayverma.com/more-than-testing-writing-unit-tests-for-better-design.md) - Why unit testing is more than just testing - it is an exercise in improving the design of code - [A case against "Platform Teams"](https://kislayverma.com/a-case-against-platform-teams.md) - Platform thinking, autonomous teams, and organic growth may be better than internal platform teams with fixed charters - [For the Layman (Ep. 2) - What is the Cloud?](https://kislayverma.com/for-the-layman-ep-2-what-is-the-cloud.md) - A non-technical person's introduction to cloud computing - [The Golden Rule of Platforms](https://kislayverma.com/the-golden-rule-of-platforms.md) - The Golden rule of platforms (™ Steve Yegge) is simple and well known - Eat your own dogfood. In the context of building technical platforms, it means that the first user of your platform is you. While this seems a fairly simple thing, certainly too simple to be THE golden rule, this guideline has… - [Book Review : Thinking in Systems - A Primer](https://kislayverma.com/book-review-thinking-in-systems-a-primer.md) - "Think in Systems : A primer" is an excellent introduction to systems thinking for all readers - [Layering domains and microservices using API Gateways](https://kislayverma.com/layering-domains-and-microservices-using-api-gateways.md) - We can apply systems thinking and API gateways to rein in the "domain sprawl" in large scale microservice architectures - [Independence, autonomy, and too many small teams](https://kislayverma.com/independence-autonomy-and-too-many-small-teams.md) - "The two pizza team" paradigm has become really popular in the context of organizing software teams. The idea is to have small, self-reliant teams working independently to solve problems. The "two-pizza" refers to the guidance to keep the team small enough that we need not order more than two pizza… - [Book Review : Atomic Habits](https://kislayverma.com/book-review-atomic-habits.md) - No matter your goals, Atomic Habits offers a proven framework for improving--every day. James Clear, one of the world's leading experts on habit formation, reveals practical strategies that will teach you exactly how to form good habits, break bad ones, and master the tiny behaviors that lead to re… - [For the Layman (Ep. 1) - What is a Distributed System?](https://kislayverma.com/for-the-layman-ep-1-what-is-a-distributed-system.md) - Hello Folks! I am starting a new series of articles called “For the Layman” to cover some frequently encountered software engineering concepts to non-developers or beginners. The articles with try to explain these concepts in simple terms with as little jargon as I can manage. In this first episode… - [Adios Uber, and ideas in the afterglow](https://kislayverma.com/adios-uber-and-ideas-in-the-afterglow.md) - Howdy! Hope you folks are doing all right, staying at home, and wearing masks if you must go out. Last week was my last working day with Uber Engineering. It was a fun 16 month ride (I'll write more about it once I have digested it a little) and now I'm sitting back and relaxing for a while. It's a… - [A Narrative Approach to Software Design](https://kislayverma.com/a-narrative-approach-to-software-design.md) - To me, the design stage is the most intellectually stimulating part of the software development cycle. After all, the design decides what the code will do, and how it will do it. The design process gives technical shape to what are till then only business requirements. We get to the deepest what's… - [Book Highlights: 97 things every software architect should know](https://kislayverma.com/highlights-97-things-every-software-architect-should-know.md) - "In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de Hora -- offer advice for communicating with stakeholders… - [Design review checklist for Distributed Systems](https://kislayverma.com/design-review-checklist-for-distributed-systems.md) - Distributed system design is a hard problem, made all the worse because the design process gives no direct feedback. Problems stemming from faulty design often show up as scalability problems, resilience problems or data issues. However, solving those problems is often the equivalent of addressing… - [Code review checklist for distributed systems](https://kislayverma.com/code-review-checklist-for-distributed-systems.md) - [Update] I have made several additions to the original post based on the excellent feedback I have received. The new recommendations are marked out in italics with credits at the end of the article. Microservice architecture is a widely adopted practice now in the software engineering world. Organi… - [Launch Announcement: Rulette Home, Rulette Server, and more!!!](https://kislayverma.com/launch-announcement-rulette-home-rulette-server-and-more.md) - Announcing the launch of rulette server and the publication of "Working with Rulette" on Amazon - [Platforms (and dogfood) everywhere](https://kislayverma.com/platforms-and-dogfood-everywhere.md) - I have often been asked about what type of systems make good candidates for being platformized, and my answer is always "All of them". The characteristics of a platform derive not from the nature of the problem it intends to solve, but from the inherent structure of any business space. There are pr… - [Scope of Business Rule Management Systems](https://kislayverma.com/scope-of-business-rule-management-systems.md) - When organizations evaluate business rule management systems, there are several way in which they can interpret the boundary of a rule system. The business teams work at the “what do I want to do” level of abstraction and for them the requirement is quite simple. e.g. they want a system where they… - [Gearing up for the big Rulette release](https://kislayverma.com/gearing-up-for-the-big-rulette-release.md) - The last couple of weeks have been very hectic as I've been working full-speed on making Rulette Server ready for its first big release. A lot of code has been written, but it turns out that code is easy (relatively speaking). I want to offer a top-notch user-experience for Rulette server from day-… - [APIs are not platforms](https://kislayverma.com/apis-are-not-platforms.md) - An Application Programming Interface (aka API) is the interface other people/developers use to access the functionality of your code. This is valid at the lowest levels of programming (microprocessor programming), at the highest levels (REST/GraphQL/gRPC/... APIs exposed by services), and everythin… - [Modelling tax rules with Rulette : Part Two](https://kislayverma.com/modelling-tax-rules-with-rulette-part-two.md) - In part one of this series, we looked at ground-up modelling, storage, and evaluation of taxation rules using Rulette. By the end of that article, we had a Rulette based system storing all rules in MySQL and we were able to evaluate the applicable tax values for various combination of rule inputs.… - [Modelling tax rules with Rulette : Part One](https://kislayverma.com/modelling-tax-rules-with-rulette-part-one.md) - This is a deep dive into using Rulette for modelling business rules. It is a simplified (slightly) version of a real world use case that I have used Rulette for in production. We will try to model the tax that must be paid when certain types of items are sold by manufacturers located in different s… - [Platform Nuts & Bolts : Enforcing Constraints in Platform Architectures](https://kislayverma.com/platform-nuts-bolts-enforcing-constraints-in-platform-architectures.md) - I have discussed earlier on this blog about how there is a profound shift in the way constraints are enforced on business and technology usage as an organization adopts platform architecture. In platform architecture, process driven enforcement systems do not work well - they just get in the way be… - [Platform Nuts & Bolts : Extendable Data Models](https://kislayverma.com/platform-nuts-bolts-extendable-data-models.md) - The core of building Platforms rests in versatile entity management. Entities represent the nouns or the "truths" of our world. What those entities do or how they behave can vary a lot from situation to situation, but the key thing to identify is that very often, the same entity can feature in all… - [Learning React in 24 hours](https://kislayverma.com/learning-react-in-24-hours.md) - My attempt to learn the basics of React in 24 hours - [Control and Chaos in Platform Systems](https://kislayverma.com/control-and-chaos-in-platform-systems.md) - At the heart of platform architecture and strategy lies a very interesting duality - Platforms are about chaos and control at the same time. In this article, I will talk about how these seemingly competing forces are actually complementary and what this means for organizations building technology p… - [Book Review : Wool by Hugh Howey](https://kislayverma.com/book-review-wool-by-hugh-howey.md) - Rating : 5/5 This review contains some spoilers. Wool is a series of 5 science fiction novellas by American writer Hugh Howey. The first novella was published as a short story in July, 2011. This and the following 4 editions are usually considered the Wool series (as different from a prequel trilog… - [Platform Nuts & Bolts : Flexible decision-making with Rule Engines](https://kislayverma.com/platform-nuts-bolts-flexible-decision-making-with-rule-engines.md) - After I received a lot of question from my readers about specific details, I understood that I had packed in a lot of information about platform principles and the mechanisms of building platforms in my previous article. I realized that I need to break down the process of building platforms a littl… - [Why I like the Vert.x Framework](https://kislayverma.com/why-i-like-the-vert-x-framework.md) - Here's why I believe the Vert.x framework is awesome - [Learning Golang in 24 hours](https://kislayverma.com/learning-golang-in-24-hours.md) - My attempt at learning the Go programming language in 24 hours - [Defining messaging terms precisely](https://kislayverma.com/defining-messaging-terms-precisely.md) - The exact definitions of the terms often used in asynchronous messaging - [Saving the day with Continuous Refactoring](https://kislayverma.com/saving-the-day-with-continuous-refactoring.md) - Have you run across this scenario before? 1. Dev team keeps getting tight deadlines for feature delivery 2. It responds by shipping tech debt-laden code 3. This tech debt is never paid off because there is never time to clean-up 4. Goto 1 a few times 5. Tech debt gets worse till it starts actually… - [Distributed Systems as Data Pipelines : Throughput, Capacity, and BackPressure](https://kislayverma.com/distributed-systems-as-data-pipelines-throughput-capacity-and-backpressure.md) - Reasoning about distributed systems as data pipelines can give critical insights into scalability and resilience - [The full-stack team of this decade](https://kislayverma.com/the-full-stack-team-of-this-decade.md) - Data and ML engineering capabilities will be a integral part of the coming decade's autonomous team - [Book Review : The Innovator's Dilemma](https://kislayverma.com/book-review-the-innovator-s-dilemma.md) - A review of Clayton Christensen's seminal book "Innovator's Dilemma" - [Sidestep architectural "-ilities" and deliver business value](https://kislayverma.com/sidestep-architectural-ilities-and-deliver-business-value.md) - * Usability * Scalability * Maintainability * Extensibility * Reliability * Security * Portability * ... It is often said that software architects deal in "ilities". There are many "ilities", all of which are jointly used to describe the attributes good software design should have, a sort of multi-… - [Book Review: Zero To One](https://kislayverma.com/book-review-zero-to-one.md) - A review and major highlights of the Peter Thiel's "Zero to One" - [Book Review : The Hard Thing About Hard Things](https://kislayverma.com/book-review-the-hard-thing-about-hard-things.md) - Now Reading "...In The Hard Thing About Hard Things, Ben Horowitz, cofounder of Andreessen Horowitz and one of Silicon Valley's most respected and experienced entrepreneurs, draws on his own story of founding, running, selling, buying, managing, and investing in technology companies to offer essent… - [Marketplaces are not Platforms](https://kislayverma.com/marketplaces-are-not-platforms.md) - Today we return to one of my favourite technical topics : building technical platforms. Since I started writing on this topic since early last year, I have spoken to a lot of confused product managers who didn't quite get what I was talking about, and had a completely different mental model of a pl… - [Domain Events versus Change Data Capture](https://kislayverma.com/domain-events-versus-change-data-capture.md) - How to distinguish between change data capture and domain events, and which to use when - [Rulette : A pragmatic rule engine](https://kislayverma.com/rulette-a-pragmatic-rule-engine.md) - What should be the discount offered for Nike shoes or on Nike running shorts if the customer is a high value customer versus a new comer to the system? What is the applicable tax rate if a cotton t-shirt is made by manufacturer in a state and sold in another state? Which customer care agent should… - [The Children of Hurin](https://kislayverma.com/the-children-of-hurin.md) - Book review for "The Children of Hurin" by J.R.R. Tolkien - [Asynchronous Programming : A Cautionary tale](https://kislayverma.com/asynchronous-programming-a-cautionary-tale.md) - This is part 4 in a series of posts about asynchronous programming. The previous posts are linked at the end of this article. In the previous posts of this series on asynchronous programming, I have outlined two ways of writing asynchronous code and the underlying concepts of how this paradigm help… - [Event-Based Asynchronous Programming](https://kislayverma.com/event-based-asynchronous-programming.md) - Asynchronous Programming Part 3: Event based asynchronous programming - [Asynchronous Programming with Thread Pools](https://kislayverma.com/asynchronous-programming-with-thread-pools-2.md) - In my previous post, I described strategies for improving thread utilization in an IO-heavy environment. I will take a closer look at the thread-based asynchronous programming approach in this post. Whenever I say “blocked thread” in this discussion, I mean threads blocked/waiting on IO. This is th… - [Overcoming IO overhead in micro-services](https://kislayverma.com/overcoming-io-overhead-in-micro-services.md) - One of the biggest overheads of adopting a micro-service architecture is the cost of inter-service communication. The overhead comes in many forms : the latency overhead in network calls, failure of deep call stacks and error handling in distributed states etc. But to my mind, one of the most insid… - [Being Fast or Getting Faster? (aka Build Momentum, not Velocity)](https://kislayverma.com/being-fast-or-getting-faster-aka-build-momentum-not-velocity.md) - With technology becoming a large, often critical part of any large business today, businesses always want their technology NOW — to prove product market fit, to leapfrog ahead of competitors in new offerings, and to stay ahead of newcomers by building an unassailable technical moat. Needless to say… - [Working in the seams of code with Resource Locator](https://kislayverma.com/working-in-the-seams-of-code-with-resource-locator.md) - Use the Resource Locator pattern to extend software across design seams - [Agile for Innovation - Going Beyond Execution Excellence](https://kislayverma.com/agile-for-innovation-going-beyond-execution-excellence.md) - Agile can be used for more than just execution, it can be used for incrementally exploring solutions as well - [Choosing a service framework](https://kislayverma.com/choosing-a-service-framework.md) - Sidestep framework wars by defining standards instead of tech choices - [How to build a technology platform](https://kislayverma.com/how-to-build-a-technology-platform.md) - A case study in building a technology platform - [Using Events to build evolutionary architectures](https://kislayverma.com/using-events-to-build-evolutionary-architectures.md) - Understanding asynchronous events in the context of the open-closed principle at architecture level and using them to build evolutionary architectures - [Why you should build a platform](https://kislayverma.com/why-you-should-build-a-platform.md) - The case for adopting platform architecture and platform thinking - [Make it better, every day of the week](https://kislayverma.com/make-it-better-every-day-of-the-week.md) - Read this Exactly. Spot on! As programmers, if we haven’t made our codebase a little bit better (or a whole lot better) for every new feature we add, we have failed. If no one but us can understand what a piece of code is doing or modify it in meaningful ways without bringing down the house, we hav… - [Explicitly Yours](https://kislayverma.com/explicitly-yours.md) - Always be explicit about the inputs when exposing APIs - [Products are not Platforms](https://kislayverma.com/products-are-not-platforms.md) - A product is a conceptual whole intended to serve a specific purpose. A platform is a set of independent-yet-interlocking tools which can be externally orchestrated to create products. - [Distilled : Steve Yegge's platform rant](https://kislayverma.com/distilled-steve-yegge-s-platform-rant.md) - I came across this now legendary rant by Steve Yegge 5–6 years ago. While it was amusing and interesting then, I have now been trying to convert Myntra’s supply chain technology to a platform for over the last year and a half and have found it really relevant when thinking about what a platform is,… - [It Depends #59: Supercharge your reading with 4Later](https://kislayverma.com/it-depends-59-supercharge-your-reading-with-4later.md) - 4later helps you manage your reading list Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #59: Supercharge your reading with 4Later Hello Everyone! Welcome to the 59th episode of It Depen… - [It Depends #58: Evolving software using all SOLID principles at once](https://kislayverma.com/it-depends-58-evolving-software-using-all-solid-principles-at-once.md) - And SOLID principles as evolutionary guardrails Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #58: Evolving software using all SOLID principles at once Hello Everyone! Welcome to the 58… - [It Depends #57: Critiquing crypto, trunk-based development, and Paxos made simple](https://kislayverma.com/it-depends-57-critiquing-crypto-trunk-based-development-and-paxos-made-simple.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #57: Critiquing crypto, trunk-based development, and Paxos made simple Hello Everyone! Welcome to the 57th episode of It Depends. Hope you… - [It Depends #56: Building robust distributed systems](https://kislayverma.com/it-depends-56-building-robust-distributed-systems.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #56: Building robust distributed systems Hello Everyone! Welcome to the 56th episode of It Depends. Hope you and your loved ones are doing… - [It Depends #55: On building scalable systems](https://kislayverma.com/it-depends-55-on-building-scalable-systems.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #55: On building scalable systems Hello everyone! Welcome to the 55thd episode of It Depends. Hope you and your loved ones are doing well.… - [It Depends #54: An introduction to Caching (Part-2)](https://kislayverma.com/it-depends-54-an-introduction-to-caching-part-2.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #54: An Introduction to Caching (Part-2) Hello Everyone! Welcome to the 54thd episode of It Depends. Hope you are all doing well. We contin… - [It Depends #53: An introduction to Caching (Part-1)](https://kislayverma.com/it-depends-53-an-introduction-to-caching-part-1.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #53: An Introduction to Caching (Part-1) Hello Everyone! Welcome to the 53rd episode of It Depends. Hope you are all doing well. This week,… - [It Depends #52: The Pentagon of Entity Models](https://kislayverma.com/it-depends-52-the-pentagon-of-entity-models.md) - Already a subscriber? Jump ahead to the good stuff! But if someone forwarded this to you, they probably love It Depends and think you would too! Subscribe now! #52: The Pentagon of Entity Models Hello Everyone! Welcome to the 52nd episode of It Depends. Hope you are all doing well. This week, I loo… - [It Depends #51: The Mechanics of Software Evolution](https://kislayverma.com/it-depends-51-the-mechanics-of-software-evolution.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #51: The Mechanics of Software Evolution Hello Everyone! Welcome to the 51st episode of It Depends. Hope you are all doing we… - [It Depends #50: The crypto-web's fatal flaw](https://kislayverma.com/it-depends-50-the-crypto-web-s-fatal-flaw.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #50: The crypto-web's fatal flaw Hello Everyone! Welcome to the 50th episode of It Depends. Fif-teee. The big five-oh. It’s b… - [It Depends #49: The Marketplace Scam (seller beware!)](https://kislayverma.com/it-depends-49-the-marketplace-scam-seller-beware.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #49: The Marketplace Scam (seller beware!) Hello Everyone! Welcome to the 49th episode of It Depends. Hope everyone is doing… - [It Depends #48: Theory building, visual probability, index while read, and hiring a manager](https://kislayverma.com/it-depends-48-theory-building-visual-probability-index-while-read-and-hiring-a-manager.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #48: Theory building, visual probability, index while read, and hiring a manager Hello Everyone! Welcome to the It Depends #4… - [It Depends #47: Guidelines for writing useful libraries](https://kislayverma.com/it-depends-47-guidelines-for-writing-useful-libraries.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #47: Guidelines for writing useful libraries Hello Everyone! Welcome to the 47th episode of It Depends. Hope everyone is doin… - [It Depends #46: Competitive programming is useless](https://kislayverma.com/it-depends-46-competitive-programming-is-useless.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #46: Competitive programming is useless You can listen to this episode on Spotify, Google, or Apple Hello Everyone! Welcome t… - [It Depends #45: The rise of Edge Computing](https://kislayverma.com/it-depends-45-the-rise-of-edge-computing.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #45: The rise of Edge computing You can listen to this episode on Spotify, Google, or Apple Hello Everyone! Welcome to the 45… - [It Depends #44: Uncertainty and learning as tech debt](https://kislayverma.com/it-depends-44-uncertainty-and-learning-as-tech-debt.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #44: Uncertainty and learning as tech debt You can listen to this episode on Spotify, Google, or Apple Hello everyone! Welcom… - [It Depends #43: Book review and Highlights from "Accelerate"](https://kislayverma.com/it-depends-43-book-review-and-highlights-from-accelerate.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #43: Book review and Highlights from "Accelerate" Hello Everyone! Welcome to the 43rd edition of It Depends. Hope you are all… - [It Depends #42: The sense of purpose in system design](https://kislayverma.com/it-depends-42-the-sense-of-purpose-in-system-design.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #42: The sense of purpose in system design You can listen to this episode on Spotify, Google, or Apple Hello everyone! Welcom… - [It Depends #41: Systems Thinking with Dr. Russell Ackoff](https://kislayverma.com/it-depends-41-systems-thinking-with-dr-russell-ackoff.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #41: Systems thinking with Dr.Russell Ackoff Hello Everyone! Welcome to the 41st edition of It Depends, your weekly dose of a… - [It Depends #40: So you want to privatize a bank?](https://kislayverma.com/it-depends-40-so-you-want-to-privatize-a-bank.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #40: So you want to privatize a bank? You can listen to this episode on Spotify, Google, or Apple Hello everyone! Welcome to… - [It Depends #39: System design from one level up](https://kislayverma.com/it-depends-39-system-design-from-one-level-up.md) - If you are already a subscriber, jump ahead to the good stuff! But if someone forwarded you this email, they probably love It Depends and think you would too! Subscribe now! #39: System design from one level up You can listen to this episode on Spotify, Google, or Apple Hello Everyone! Welcome to t… - [It Depends #38: Combining rule systems and machine learning](https://kislayverma.com/it-depends-38-combining-rule-systems-and-machine-learning.md) - #38: Combining rule systems and machine learning Hello Everyone! Welcome to the 38th edition of It Depends. Hope y’all are safe. I know NYC is back and all that, but here in India we are just starting the long road to recovery. So if you are reading this in India or any other places where things ar… - [It Depends #37: The problem is not the problem](https://kislayverma.com/it-depends-37-the-problem-is-not-the-problem.md) - #37: The problem is not the problem Hello Everyone! Welcome to the 37th edition of It Depends. Hope you are all doing well and have received your shots of the vaccine. I have exciting news! As of yesterday, It Depends is also a podcast. You can check it out on Spotify, Pocket Cast, and Anchor. Appl… - [It Depends #36: How to organize your code](https://kislayverma.com/it-depends-36-how-to-organize-your-code.md) - It Depends #36 How to organize your code? Hello Everyone! Welcome to the 36th edition of It Depends. Hope you are all doing well and staying safe. I'm back this weekend with some technical thoughts and the best of what I read on the internet. What is the most popular style of arranging code you hav… - [It Depends #35: How big should a method be?](https://kislayverma.com/it-depends-35-how-big-should-a-method-be.md) - It Depends #35 How big should a method be? Hello Everyone! Welcome to the 35th edition of It Depends. Hope you are all doing well and staying safe. My apologies for not sending out an edition last weekend - I got caught up with a few things and couldn't make time. More than one person has reached o… - [It Depends #34: Ditch the Urgency](https://kislayverma.com/it-depends-34-ditch-the-urgency.md) - It Depends #34: Ditch the Urgency Hello everyone! Welcome to the 34th edition of It Depends. Hope you are all doing well and staying safe. Today is a special episode of It Depends. As of last week, more than 1500 readers are subscribed to this newsletter. I want to thanks every one of you for your… - [It Depends #33: Flink, Start with why, Pace layer, Snowflake](https://kislayverma.com/it-depends-33-flink-start-with-why-pace-layer-snowflake.md) - It Depends #33: Flink, Start with why, Pace layer, Snowflake Hello everyone! Welcome to the 33rd edition of It Depends. Hope you are all doing well and staying safe. If you haven’t got the vaccine yet, please do everything you can to get it. Best of luck to all of us! No original writing on the blo… - [It Depends #32: Why don't programmers write documentation?](https://kislayverma.com/it-depends-32-why-don-t-programmers-write-documentation.md) - It Depends #32: Why don't programmers write documentation? Hello Everyone! Welcome to the 32nd edition of It Depends. Hope you are all doing well and staying safe. This week we are talking about that great bugbear of software engineering - documentation. You can read the article on the blog directl… - [It Depends #31: The second law of building software platforms](https://kislayverma.com/it-depends-31-the-second-law-of-building-software-platforms.md) - It Depends #31: The second law of building software platforms Hello Everyone! Welcome to the 31st edition of It Depends. Hope you are all doing well and staying safe. Today let’s talk about the second most important rule for building platform systems (Read this to learn what the most important rule… - [It Depends #30: Eliminating the QA bottleneck](https://kislayverma.com/it-depends-30-eliminating-the-qa-bottleneck.md) - It Depends #30: Eliminating the QA bottleneck Hello everyone! Welcome to the 30th edition of It Depends. Hope you are all doing well and staying safe - this is the most important thing that we can do right now. Today I talk about testing strategies for agile teams, and then share the best stuff I r… - [It Depends #29: On self documenting code](https://kislayverma.com/it-depends-29-on-self-documenting-code.md) - It Depends #29: On self-documenting code Hello everyone! Apologies to my regular readers for the 2 weeks break. I had travelled to my parents’ place in Delhi and there got involved in a false-alarm COVID episode. All is well, and I welcome you to the 29th edition of It Depends. Today I will talk ab… - [It Depends #28](https://kislayverma.com/it-depends-28.md) - It depends, and thoughts on good/bad collaboration Hello everyone! Welcome to the 28th edition of this newsletter. As a fitness enthusiast software engineer working for a fitness company, I am focussed on software engineering and fitness pretty much all the time. In both these areas, there are very… - [Kislay's Newsletter #27: CQRS, internal platforms, complexity, and AWS](https://kislayverma.com/kislay-s-newsletter-27-cqrs-internal-platforms-complexity-and-aws.md) - Kislay's Newsletter #27 Hello Everyone! Hope you are doing well and staying safe. I'm trying out a new, cleaner (hopefully) look for this newsletter. Let me know what you think of it. Today we are going to look at the CQRS architecture pattern, followed by the usual awesome from the internet. Softw… - [Kislay's Newsletter #26: Tech debt, moving to IC, regulation of innovation, and architecture principles](https://kislayverma.com/kislay-s-newsletter-26-tech-debt-moving-to-ic-regulation-of-innovation-and-architecture-principles.md) - Sunset at Purple Martini (Vagator, Goa) Hello everyone! Welcome to this week’s edition of my newsletter. Hope everyone is doing well and staying safe. I took a vacation to Goa, the first time out since the lockdown began, and have been recovering for a week now :). I’ve also been facing some writer… - [Kislay's Newsletter #8](https://kislayverma.com/kislay-s-newsletter-8.md) - Kislay's Newsletter #8 View online Happy Friday! Hope all of you are doing good, staying safe, and wearing a mask when you go out. Here's your weekly round up from the blog and the best of the awesome tech internet. From the blog I published my review of “The Great Mental Models (Vol. 1)" by Shane… - [Kislay's Newsletter #25: We are only 10% human](https://kislayverma.com/kislay-s-newsletter-25-we-are-only-10-human.md) - View this email online Hello everyone! Welcome to this week’s edition of my newsletter. Hope everyone is doing well and staying safe. This week we are talking about the human microbiome, followed by the usual collection of awesome from the internet. In many of my circles, the topic of the microbiom… - [New post by Kislay Verma](https://kislayverma.com/new-post-by-kislay-verma-7.md) - Book Review : The Great Mental Models Vol. 1 I just my published my review and essential highlights from "The Great Mental Models (General Thinking Concepts) by Shane Parrish. A good read for absolute beinners, but too shallow for the seasoned reader. I recommend reading the highlghts and then digg… - [Kislay's Newsletter #24: Semantic web, Kubernetes, Agile, and anti-network effects](https://kislayverma.com/kislay-s-newsletter-24-semantic-web-kubernetes-agile-and-anti-network-effects.md) - Read this online Hi! Welcome to this week’s edition of my newsletter. Hope everyone is doing well and staying safe. This week got a little intense at work so I wasn’t able to write anything. I have a half-written piece on extensibility in shared systems and some ideas on the next episode of the “Fo… - [Kislay's Newsletter #23 - On bypassing central systems (aka when good abstraction is bad)](https://kislayverma.com/kislay-s-newsletter-23-on-bypassing-central-systems-aka-when-good-abstraction-is-bad.md) - Hello everyone! Welcome to the 23rd edition of this newsletter. This week we are talking about why central platforms get bypassed by product teams, followed by the usual selection of awesome from the internet. Consider this fairly common scenario. A team builds a system that is meant to be used by… - [New Post by Kisla Verma](https://kislayverma.com/new-post-by-kisla-verma.md) - Publish Events, not Logs If you have ever wondered "What to log for Observability" in your system, you may be asking the wrong question. The correct question is not "what to log", but "What are my system's boundaries" and "What events happen on these boundaries"?. Here's my take on Observability me… - [New post by Kislay Verma](https://kislayverma.com/new-post-by-kislay-verma-8.md) - For the Layman (Ep. 3) - What is Programming? Here finally is the answer to all the confusion. In this episode of the For the Layman series, I answer the ultimate question - what programming is and what does that "tech team" keep doing? Check it out To change your subscription, click here. - [Kislay's Newsletter #22](https://kislayverma.com/kislay-s-newsletter-22.md) - View online Hello everyone! Welcome to this week’s edition of my newsletter. Hope everyone is doing well and staying safe. I’m writing a piece on why so many internal platform systems get bypassed by product teams, but like all socio-technical discussions, it keeps getting more complicated the more… - [Kislay's Newsletter #9](https://kislayverma.com/kislay-s-newsletter-9.md) - Read online Happy Friday! How’s everyone doing? Great, I hope. The weekend is here, and so is your weekly round-up of what I wrote on the blog and some of the cool stuff I found on the internet. I managed to write two articles this week, which makes for a very productive week. But I am beginning to… - [Kislay's Newsletter #21](https://kislayverma.com/kislay-s-newsletter-21.md) - Happy Saturday! Welcome to this week’s edition of this newsletter. Hope everyone is doing well and staying safe. Here’s your weekly dose of great technical reading for the weekend. From the blog You can read this article on the website if you prefer. I’ve been watching the events unfolding in the U… - [Kislay's Newsletter #20](https://kislayverma.com/kislay-s-newsletter-20.md) - View online A very, very happy new year to all of you folks! Welcome to 2021, and the twentieth edition of this newsletter. I had promised in #19 that I will share some of my thoughts about 2020. I realized while writing them that 2020 was humbling and devastating for people all over the world, and… - [Kislay's Newsletter #7](https://kislayverma.com/kislay-s-newsletter-7.md) - Kislay's Newsletter #7 View online Happy Friday! I hope everyone had a cracker of a week. My publishing streak broke in just six weeks :( If any of you were looking out for this newsletter last Friday and couldn’t find it, I apologise - I was shifting houses and the boxing and unboxing didn’t leave… - [Kislay's Newsletter #19](https://kislayverma.com/kislay-s-newsletter-19.md) - View online Happy Saturday! Belated Christmas wishes to all you lovely people. Welcome to the nineteenth edition of this newsletter, the last for this year. I have been blogging off and on for over 15 years now, but never took it very seriously. I would get motivated, churn out 4-5 articles, then g… - [Kislay's Newsletter #18](https://kislayverma.com/kislay-s-newsletter-18.md) - View online Happy Saturday! Hope everyone is doing well and staying safe. Welcome to the eighteenth edition of this newsletter. Here’s some of the best of what I read and wrote about this week. From the blog This week I about what Feature Toggles are and how you can use them for faster and safer co… - [Kislay's Newsletter #17](https://kislayverma.com/kislay-s-newsletter-17.md) - View online Happy Sunday! Welcome to the seventeenth edition of this newsletter. Hope everyone is doing well and staying safe. Let’s jump right into the good stuff! From the blog This week I wrote about the workflow architecture pattern. I find that using workflows as a first-class construct really… ## Optional - [RSS Feed](https://kislayverma.com/rss/) - [Sitemap](https://kislayverma.com/sitemap.xml) - [Full content of pages and posts](https://kislayverma.com/llms-full.txt)