-
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…
-
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…
-
Acceptance Tests: The Best Medium of Communication Between Stakeholders (if done right)
It’s a nice pleasant morning, and you have just entered the office. You greet your friends and grab a cup of coffee. You check your email and there is a new story assigned to you. “As a customer, I get my usage logs backed up” This is where is fun begins. Communicating Requirements A…
(or, 1., 12, 15., 7., A, able, about, above, acceptance, access, accordance, add, adopt, after, agile, aiming, all, also, always, ambiguity., an, and, Another, any, appear, Application, are, argument, around, as, ask, assigned, associated, assume, at, automated, AWS, back., backed, backup, be, before, begins., best, between, biggest, Both, brings, built, business, business_name_date_backup.log, But, by, call, can, Can’t, cannot, case, change, check, clear, clearer, code, coding, coffee, Collaboration, collaboratively., common, communicate, Communicating, communication, Conclusion, confirmation, consider, conversation, cool!), cost-effective, could’ve, course, create, created, creating, cup, customer, customers, daily, day., days, decide, define, defining, definition, deliver, details, detected, didn’t, different, disagree, disaster., do, doc., document, documented., doesn’t, Don’t, done, drive, drives, each, easy, effective, effectively, effort, eliminate, email, End, ended, engineer, engineers, English, enormous, entered, errors, etc., even, exactly, fairly, fall, feature, few, file, files., find, finite, focus, folks!, follow, for, forth, framework, friends, from, fun, funny., GB, get, Glacier., Go, going, good, got, grab, great, greet, had, hands, happen, hard, has, have, having, help, helps, Hey, Hi!, high-level, Hmm., how, I, I’ll, I’ve, idea., if, Implementation, implemented., important, in, inclination, innocent, inorder, insist., into, is, issues, It’ll, It’s, it., job, just, know, language, last, late, later?, lead, leads, least, leaves, Let’s, like, log, logs, long, look, looking, lose, lost, Make, malady:, manager., managers, manifesto, many, me, mean, meaning., meant, mid-night, midnight, mocking, more, morning, Morty, most, move, much, my, name, named, need, needs., new, nice, night’s, No, Not, now, number, objectively, of, off., office, often.”, Ok., Okay., older, on, Once, one, only, other, our, out, overloaded, paper, party, pass., past, per, perfect, persist, pleasant, point, precise, precision, Premature, problem, product, properly., put, QAs, question, rarely, ready, real, recipe, release?, removed., request, requirement, Requirements, Rick, Robot, room, rule, Running, scale., see, seeing., Seems, seen, should, Simplest, since, single, skills, So, Solution, sounds, stakeholders., standard, statement., states, storage, story, suggest?, suite, suits, support., sure, survive, sync, system, systems., team, teams, tempted, tend, term, test, tested, tests, tests(or, than, that, that’s, the, their, them., then, there, they, things, think, thinking, this, Though, threats, through, thumb, time., timezone?, to, tone, too., tools, touch, towards, trap, true, two, unambiguous, understands., until, up, usage?, used, user, users, UTC., vague, validations, very, want, wants, was, wastage, wave, way, we, well, what, what’s, when, where, which, will, with, wordsmith, work, working, works., worse, worst, worth, would, write, written, yes, you, Your -
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…
-
Clean Code Chapter 1&2: Clean Code & Meaningful names
I have started reading the book Clean Code by Robert C. Martin, which is considered to be a industry standard for writing maintainable and elegant code. Because this book is such a heavy read, and each chapter is full of content and a knowledge bank in itself, for personal reference I’ve decided to summarise each chapter in…