-
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.…
-
Tackling Lost Updates Problem In Database Using Stricter Transaction Isolation Level
Introduction Databases are made for scale and are a highly concurrent system. Thus it is normal for them to expect multiple concurrent connections. Also, in most situations, we’ll want our database to be the source of truth and always contain consistent data. There are many concurrency related phenomena that can occur in a database when…
-
Practical Design Patterns Part 1: The Command Pattern
Introduction Most software these days support undoing/redoing actions. For example, text editors support undoing what we have written, file managers support undoing file creation/deletion etc. It’s a good UX practice to make software forgiving and allow users to undo their actions. I always wondered how was this implemented? On a critical analysis, it seems as…
-
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 -
Creating Outbound Call Warm Transfer Using Twilio In Python and Django
Have you ever been connected to a call where it was transferred to a third person for further assistance? Well, that’s call transferring. Warm transfer of calls, in contrast to cold transfer, doesn’t disconnect the call in between and thus gives the customers a more seamless experience. Recently at work, I was building a system…
-
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