Urgent.News

What's breaking now, across thousands of outlets.

Tech

How Scale Should Change the Way You Think in Tech

Most engineers learn technology by asking: “How do I make this work?” That is the right question—at the beginning. But as systems grow, it becomes the wrong question. At scale, the question changes to: “What happens when this works for everyone?” That shift sounds small. It is not. Scale changes how you think about databases, APIs, architecture, performance, reliability, security, cost, and even…

Most engineers start their technology learning journey by asking: "How do I make this work?" That is the right question for a beginner. However, as systems grow and evolve, the question should shift to: "What happens when this works for everyone?" This simple change in mindset can greatly impact how we approach technology.

At small scale, engineers often get away with bad decisions such as running everything on one server, using inefficient database queries, manually deploying applications, ignoring caching, retrying requests blindly, using a single database, and only fixing problems when users complain. While these shortcuts may be acceptable at first, they become problematic as the system grows.

As systems scale, the focus shifts from individual actions to the performance of the entire system. Questions such as "Can this database query work with 10 million users?" or "What happens when the table reaches 10 billion rows?" become crucial. At small scale, the code may look similar, but at scale, the thinking behind it is completely different.

One of the most valuable habits in technology is learning to think in orders of magnitude. This means considering how the system will perform at increased levels of traffic or data volume. For example, an API endpoint that handles 100 requests per day may work fine, but at 100 requests per second, architecture becomes a critical consideration.

At small scale, engineers often overlook the arithmetic involved in their decisions. However, at massive scale, these numbers can quickly become infrastructure bills, latency problems, and outages. Engineers working on large systems must constantly ask themselves questions such as: How many times does this happen? How large can this grow? What is the worst-case scenario? What happens during traffic spikes? What happens when one dependency fails? What is the cost per request?

The unit of thinking changes as systems scale. At small scale, engineers focus on features. At medium scale, they consider the systems that make up the product. At large scale, engineers must think about the interactions between systems. This distinction is crucial when adding a simple feature like sending a notification when a user places an order. At first, the feature may seem straightforward, but at scale, it becomes a complex web of interdependencies and potential failure points.

As systems scale, latency becomes a product problem. Users do not care about the technical details of why an application is slow; they simply experience the slower performance. At small scale, performance issues may be easily attributed to a specific component, but at scale, latency accumulates across multiple layers of the system. Every layer of the system, from the user's device to the third-party APIs, contributes to the overall latency.

At small scale, failures are occasional and can be easily prevented with simple measures. However, at large scale, failures become the norm. Engineers must shift their mindset from preventing failures to preparing for them. This means implementing strategies such as retries, timeouts, circuit breakers, replication, redundancy, graceful degradation, idempotency, backpressure, and disaster recovery. These measures are not just fancy engineering buzzwords; they are the consequences of accepting the reality of scale.

Finally, at small scale, data is relatively insignificant and can be easily managed. However, at scale, data becomes everything. A query that once took 50 milliseconds may now take hours to complete when dealing with millions of records. Engineers must learn to index data, partition it, and optimize queries to ensure that it can handle the massive scale.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Delivery Map Presence at Scale: A 4-State Room Lifecycle for Trusted Event Flow

Short answer: use a room lifecycle with explicit token scope, presence state, and recovery rules; pick the realtime API that makes those boundaries visible instead of hiding them in a client SDK.

  • Four-state lifecycle: authenticated, subscribed, publishing, recoverable
  • Server determines workspace access, client only renders presence and sends intent
  • Three streams maintained: authentication, subscription state, business events

Allowlist Every Path a Docs Generator May Write

Generated reference docs stay trustworthy when a generator may write only restatable files under an allowlisted path. Support windows, uptime figures, and deprecation calendars belong in a second tree…

  • Generator limited to allowlisted directory paths
  • Separate tree for Windows uptime and deprecation
  • Linter flags unauthorized boundary crossings

@supports named-feature() lets you branch on behavior, not syntax

The test you can't write today Say you want to branch a stylesheet on how an engine resolves anchor positioning around CSS transforms. Both browsers parse position-anchor . Both accept anchor() .

  • @supports named-feature() allows branching on browser behavior, not syntax.
  • Two keywords discussed: anchor-position-follows-transforms and single-axis-scroll-container.
  • @supports named-feature() resolves property support within the cascade, improving interop.

More from Tuesday 8 September →