-
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…
-
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…
-
Why systems fail and what can be done about it?
A recent team meeting at Squad touched the topic of “system robustness”. Clients and business operations want their systems to work, which is a very reasonable expectation. That’s what we engineers are paid for after all. Everybody gave their input over what a robust system means to them. The responses made two points very clear:1.…
-
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 -
Fail Fast: Hone Your Ability to Recover and Respond Quickly
It’s close to midnight and you are about to wrap your day off. Suddenly you get a pager-duty to resolve a critical bug that’s failing some of the automated reporting emails. You go on to check the logs in the log management tool. This is not the ideal time to find out that logs are not…
A, abilities, ability, about, activity, actual, against, all, allows, an, and, API, applied, are, arise., around, as, ask, aspects, at, automated reporting, available, be, becomes, best, better, bound, broker, bug, bugs., But, called, can, careful, cases, certainly, Chaos, check, close, Conclusion, confidence, contingency, control, counter-intuitive, creating, critical, date, day., debugging., decide, defense, deployed, develop, dilemma, Don’t, done, down?, drills, due, during, effective, effectively, email, emails., emergencies., engineering, engineers, enough, enough for actual, even, every, face, fail, failing, failures, fast, feature, find, folks!, for, forward, from, gaping, get, gets, getting, gives, Go, goes, handle, have, having, helps, helps them, high, higher, holes, hone, hours, how, ideal, if, important, in, increase, infrastructure, investing, is, It’s, it., kills, know, knows, learning, levels., leverage, log, logs, lower, made, major, management, matter, may, member, metrics, midnight, mind, mock, monitoring, Monkeyrandomlyndonly, more, move, much, my, Netflix, new, next, No, Not, of, off., office, often.”, on, our, out, own, pager-duty, panic, peace, perform, performance, plan, plans, point, Practice, prepare, prepares, prioritization?, problems, processes., product, properly., questions, quickly., raises, ready, realize that, recover, recovering, recovery, release?, reliability., reliable, reponed?, resolve, respond, right, scenarios, scripts, service, services, sets, should, sick?, sites, So, software, some, sound, spike, strategy, streamed, stress, success, such, Suddenly, Surfaces, systems., tackle, talk, task, team, that, that’s, the, their, them., theme, there, they, things, this, ticket?, time., to, tool., tools, turns, unexpected, urgent, us, usage?, used, user, using, via, way, we, well, what, when, why, will, with, work-through, working, wrap, wring, write, you, Your, yourself -
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…
-
Estimation Peril: How To Estimate Software Projects Effectively(or How Not To Lie)
Consider, you are a rockstar engineer and you are given a task by your favorite person, your project manager, to show some new fields in the dashboard. As usual, you are asked to estimate it as soon as possible. You think that well, seems like a quickie and you are tempted to estimate it a…
-
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…