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.…
A plea for lean software: 6 Lessons I learned to help keep software simple
Preface Recently, I was browsing the codebase of my company and saw that it has three versions of dashboards for an analytics page in it. I am pretty sure that customers don’t need that. This sparked something in my naive brain and I started exploring the internet for related ideas. That’s when I found…“FAT, (or, –, 1., 10, 2., 3., 4., 5., 6., A, abstractions, acceptable, accommodate, accurately, add, adding, admiration., age-old, ago., aids, all, allows, also, am, an, analytics, and, any, appropriate, architecture, are, armies, as, at, available, away, baffling., be, because, become, belief, better, bigger, brain, browsing, built, bulky, But, by, can, cannot, cause, causes, changed, changes:, code, codebase, communication, company, compared, compiler, complex., complexity, components, conceivable, Conclusion, confidence, consider, consumed, continue, curtail, customers, customized, dashboards, decomposed, decomposition, degree, deletion, deliberately, deprecated, design, designed, designers, designing, detail, detailed, development, disagree, disciplined, discussed, does, doesn’t, Don’t, duplication., each, either, Enhanced, enough, entire, entirety, errors, essential, essentials., etc., even, every, expands, experience, exploring, explosion, extensibility, extensions, extent, faster, feature, features, fill, Finding, first, flexibility, following, for, foremost, form, found, from, functional, functionality, get, getting, goal, grows, hard, hardware, has, have, help, hierarchy, higher, holds, hope, how, huge., I, I’ll, ideas, if, ignored, important, improve, in, incompatibility, Incomprehensibility, increase, increased, individual, influenced, insanely, interfaces, Internet, into, introduction, irrelevant, is, It’s, it., justify, keep, keeping, key, kill, killed, languages, largely, laws, lean, Learned, least, lessons, Let’s, lies, like, live, machines, main, maintainability., Make, Making, me, measured., memory, methodologies, mind, minimizing, modern, modules, Monolithic, more, most, much, must, my, naive, need, needed?, needless, nerve, never, new, No, Not, now, number, of, on, one, order, original, outset., over, page, paper, part, passes, Patterns., people, pinpoint, place., Plea, PM, post, power, predominant., Preface, prerequisite, presented, pressure, pretty, primary, probably, problems, programmers, programming, proper, quantity becomes, rapidly, reacted, reason, Recently, reduce, Reducing, reflect, related, release?, remember, remove, rendered, required, requires, resonated, Resources, responses, responsibility, return, root., run, saw, seem, sell.”, sensitive, should, significant, similar, simple, simpler, single, size, slower, small, software, Solution, some, something, sophistication, sparked, specification, standard, started, state, step, Still, streamline, streamlined, Strongly, structures, suggested, sure, suspicion, system, systems., take, taking, teach, team, teams, than, than quality. Every, that, that’s, the, their, them., there, these, things, this, three, time., to, Today, toll, too., tools, topic, touch, true, two, typed, understood, unrecognized., us, usage?, use, user, versions, very, was, way, we, were, what, when, which, while, with, write, wrong., years
Tracking Metrics to Surface and Solve Problems: Metric Tracking Practices I’ve Learned So Far
It is a nice pleasant evening, you are sipping coffee and reviewing your code one final time, just so that you can gather enough confidence to hit the deploy button. But a fact of life as a software engineer is that things can go wrong. Small changes may result in unexpected outcomes, including outages, errors…(or, 1., 2., 3., 4., A, A/B, able, activity, adding, affect, all, also, an, and, any, APIs, Application, approach, are, areas, arise., as, at, automated, available, be, been, before, built, business, But, button., by, can, catch, changes:, checklist, checks, citizen, clients, code, coffee, collected, come, communication, Conclusion, confidence, configurability, continually, coverage, creating, customers, data, defines, deploy, deployment, design, designing, DevOps, directly, disciplined, do, Don’t, ease, either, Enable, engineer, engineers, enough, equipments., errors, etc., even, evening, everything., Examples, extensibility, eye, fact, feature, final, fire., first-class, folks!, following, for, from, functioning, gather, Go, handbook, have, having, health, Here, high, hit, I, I’ve, idea., impacting, impacts, importance, imported, improve, in, include, include CPU, including, industry, infrastructure, into, intuitions., involve, IOPS, is, It’s, it., items, just, keep, key, latency, latent, level, levels., leverage, life, limited, may, me, measure., measured., memory, method, metrics, multiple, must, need, needed?, negatively, nice, Not, number, numbers, occur, of, on, one, ones, only, organization., our, outages, outcomes., over, parts, pipeline, places., pleasant, points, problem, problem-solving, problems, process, processed, product, product-related, Progress, queries, quickly., random, rather, realize, really, receiving, relies, rely, remote, resolve, response, result, results, reviewing, right, runs, sales, see, sent, sipping, small, So, software, solve, spent, spikes, successful, surface, systems., task, Telemetry, test, than, that, that’s, the, these, they, things, Thus, time., to, toggling, too., total, track, tracked, tracking, transactions, unexpected, usage?, useful, validations, we, well, what, when, which, will, with, write, wrong., you, Your