-
Trying to Wrap My Head Around The Dynamo Storage System: A Deep Dive
Introduction The world of databases is very interesting. To build a loveable product, a core infrastructure piece that’s needed is the data persistence layer. I find this data persistence layer to be like a tip of the iceberg, the get and the put calls have so much going under the hood that it’s mind blowing…
-
Introduction to LSM Trees: May the logs be with you
This post is a part of a newsletter that I run: “Scamming The Coding Interview“, which is geared towards helping people ACE their coding interviews. We send a coding question on weekdays along with a system design article like this one on weekends. Do subscribe If you find this article valuable. Introduction What will be the simplest…
-
Architecting for Scale by Lee Atchison: Reading Experience
I recently read the book Architecting for Scale by Lee Atchison. The book contains a high-level overview of the major concepts that revolve around the topic of building highly-available and scalable apps.I felt the book to be more suited as a light read for people already familiar with these concepts rather than being an informative…
-
How To Objectively Reason About Systems: Correctness Properties Of A System
This post is a part of a newsletter that I run: “Scamming The Coding Interview“, which is geared towards helping people ACE their coding interviews. We send a coding question on weekdays along with a system design article like this one on weekends. Do subscribe If you find this article valuable. When a new system…
-
Basics of Database Partitioning and Partition Strategies
You are a part of a startup which has recently scaled to reach a huge number of users. This means that the increased number of users are going to generate a huge amount of data that you have to store and manage. It soon becomes evident that managing a huge dataset is a major hurdle…
-
Organization Archetypes And The Concept Of Market-Oriented “Solver Teams”
Organizations which designs systems are constrained to produce designs which are copies of the communication structure of the organization. In other words, how we organize our teams has a powerful effect on the software we produce, as well as our resulting architectural and production outcomes. Thus, in order to get a fast flow of work from…
“E-Shaped”, “Solver, A, a bunch of, a fast, able, admins, advantage., Advantages, all, also, an, analysis, and, Another, Archetypes, architectural, architecture, are, areas, as, at, attempt, be, because, becoming, being, benefits, bring, Broadly, business, But, call, called, can, capabilities, centralize, combine, communication, complicated, composed, comprehensive, conception, Conclusion, constrained, contribute, copies, cost., coupled, covering, cross-disciplinary, cross-functional, customer, data, deliver, delivery, dependencies, deployment, design, designs, develop, development, DevOps, disciplines, division, done, dramatically, each, effect, Enable, Enables, enabling, engineering, engineers, entire, etc., ever, every, Ex., execution, experiments, expertise, experts, fast, faster, feature, flat, flow, folks!, for, from, functional, Functional-oriented:, generalist, get, great, has, have, having, helps, hierarchical, high, highly, how, idea., impact, improves, in, increasing, independently, inform, innate, instead, interesting, is, it., knowledge, launch, learning, like, machine, major, managers, market, market-oriented, marketing, Matrix-oriented:, matrix and market., member, members, move, much, multi-specialist, multiple, must, nature, needs., Not, number, of, on, only, operational, Operations, opportunities, optimizations, optimize, order, organization., Organizational, Organizations, organize, orientation., other, our, outcomes., overwhelming., own, person, plays, point, points, poorly, powerful, prevent, primarily, problem, problems, produce, production, provides, quality, quickly., Reducing, rely, reporting, respond, responding, responsible, resulting, results, retirement, safely, same, saw, Server, service, services, single, small, smoother, software, solve, solving, speaking, specialist, specialists., speed, Squad, SREs, start, stream, stream: functional, structure, structured, structures, successful, support., systems., tall, team, teams, technologies., tend, testing., than, that, that’s, the, their, them., there, these, they, they’ll, this, three, Thus, tightly, to, tracking, types, user, value, waiting, want, we, well, when, which, who, with, without, words, work, working -
Practical Problem Solving Framework: Inspired By The Toyota Way
We all will agree to a certain point that having a system/process for anything reduces chances of errors. As an engineer or someone people look forward to propose solutions to problems it’s beneficial to have a framework in place to solve problems effectively. Recently I was reading The Toyota Way, and it suggested a framework to Practical Problem…
-
8 System Design Principles I learned After Doing It Wrong More than 50 Times!
At Squad, we strive to build awesome products to solve customer(internal and external) needs. As a product engineer, paramount part of your job is to design and build products. Dig deep into the root cause of the problems, design solutions and implement them as the end product. Over the course of my journey so…