{
  "id": 15408341,
  "title": "It Used to Be Someone Else's Problem",
  "url": "https://urgent.news/2026/10/18/it-used-to-be-someone-elses-problem",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-18T12:37:42.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/javieraguilarai/it-used-to-be-someone-elses-problem-2kbo"
  },
  "original_language": "en",
  "account": "My laptop often ran out of memory, and at first I assumed the problem was with the hardware: insufficient RAM or a faulty machine. However, the issue persisted, and it rarely displayed an error message I could read. The terminal simply stopped functioning, taking the session with it and forcing me to start over. The real culprit turned out to be the test runners, Jest and Vitest. These tools create a pool of worker processes to run test files concurrently, with a default pool size equal to the number of CPU cores minus one. This default works well for a single suite, but becomes problematic when multiple agent sessions independently decide to run tests simultaneously. To resolve the issue, I had to learn two things I had never needed before: how many workers a runner starts and how to limit that number, as well as the fact that each worker is a separate Node process with its own memory limits. While this isn't new information, it is relevant to how I work, not to the nature of the software I was building. Historically, computer science knowledge was accessible only to those who needed it due to the scale of their projects. However, with the rise of parallel sessions, scale has shifted to the individual developer. One person running multiple agent sessions is effectively managing a small distributed system on their laptop, sharing resources like CPU, memory, disk space, and network ports. This creates new challenges that were previously the responsibility of platform engineers or SREs. The same applies to the increasing integration of AI engineering tasks, where one person often ends up handling multiple roles, including backend development, frontend development, and operations. This convergence of responsibilities brings with it the need to understand and manage concerns from various domains, such as retries, build tooling, and process management. The article argues that the shift in scale and the integration of multiple roles' responsibilities into a single person's workload are creating new knowledge gaps and challenges that were previously managed by specialized teams.",
  "summary": "My laptop kept running out of memory, and my first instinct was to blame the laptop: not enough RAM, something wrong with the machine. The failure didn't help. It rarely showed up as an error I could read. The terminal just died, took the session with it, and whatever the agent had been doing had to start over. The culprit turned out to be test runners. Jest, and Vitest after it, start a pool of…",
  "key_points": [
    "Laptop's memory issue stemmed from test runners, Jest and Vitest",
    "Default worker pool size equal to CPU cores minus one",
    "Each worker is separate Node process with its own memory limits"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}