Workspace IndexDev Notes › The gap widens only where being wrong is silent

#138PoC

The gap widens only where being wrong is silent

A widely shared post lists five competencies that survive the agent era and claims the gap between those who have them and those who do not is widening rather than closing. The list is right; the reason is sharper than stated. An agent multiplies production and not review, so the gap closes wherever a cheap oracle exists and opens wherever being wrong is silent — which reorders the five.

Not yet scoped, and the deliverable is a five-row table rather than a study plan. For one component you actually own, take the five competencies and write the cheap oracle for each — the check that tells you within minutes that the agent's output is wrong. Where one exists (it compiles, the test fails, the page does not render, the endpoint returns 500), agent output can be accepted quickly and verified cheaply, and the gap between knowing and not knowing is small. Where the honest answer is "none" — the data model, the trust boundary, the structure that works at today's load, the cost curve at ten times the traffic — write "none" and then decide what to spend on it, because that is the entire budget the post is really talking about. Source: a Korean summary of an Andrew Ng post, seen 2026-08-29. Read the original before quoting the five, since a summary of a list is exactly where an item quietly changes shape.

Why

The post's argument is that an agent writing the code does not remove the need for software knowledge but increases it, because the agent builds what it is told and somebody has to decide what to tell it. Its load-bearing sentence is about full-stack and it is the best line in the piece: full-stack is not a person who can build every layer, it is a person who can see every layer. That is a claim about reviewing rather than producing, and once it is stated the other four items turn out to be the same claim applied to different material.

But the headline claim — that the gap is widening rather than narrowing — is asserted rather than argued, and it is not obvious. Tools have historically compressed skill gaps rather than opening them. A compiler removed the advantage of knowing assembly. A spreadsheet let people who could not program do analysis. An IDE with autocomplete narrowed the distance between someone who had memorised an API and someone who had not. The default expectation for a powerful new tool is convergence, so a claim of divergence needs a mechanism, and the post gestures at one without naming it.

The mechanism is that an agent multiplies production and not review. Writing became roughly free; checking did not, because checking is bounded by how much a person can hold in their head at once and that number did not move. So the question for any given piece of work is not how much knowledge it took to produce but how expensive it is to find out that it is wrong. Wherever there is a cheap oracle — it compiles, the test goes red, the page is blank, the endpoint 500s — the agent's output is verified in seconds and the person who knew less gets to the same place slightly slower. The gap closes there, exactly as it did with every previous tool.

The gap opens where the failure is silent, and that is what actually sorts the five. A wrong data model runs perfectly and stays wrong; the post says this better than anything else in it — the app can be rewritten and the data cannot. A missing trust boundary passes every test, because a test asserts that something works rather than that nothing else does. A structure that fits today's load is indistinguishable today from one that fits ten times it. A cost curve does not show up until the invoice. These are the four places with no cheap oracle, and they are exactly where a person who cannot tell will not find out for months. Ordered by silence rather than by the post's order, data comes first and full-stack comes last.

One item deserves an argument rather than agreement. The post says every developer becomes half a security engineer, and adds that a scan is meaningless if you cannot read the result. The second half is right and the first half is too generous. the-boundary-is-the-unit argues that what transfers in security is the trust boundary rather than the list of attacks — so half a security engineer who studied attack lists is a person who can read a scanner report, which is not the same as a person who can tell whether the scanner was pointed at the right thing. The scan has an oracle and the boundary does not, which is the same distinction this card is built on, arriving from the other direction.

How it works

The five, re-sorted by whether being wrong is loud

Competency How a wrong answer shows up Cheap oracle? So the gap
Data management It runs fine, and stays wrong for months None Widens most
Security Everything passes. A test asserts something works, not that nothing else does None Widens
Architecture Correct today, and identical today to one that dies at 10× None Widens
Production ops Outages are loud; cost and slow degradation are not Partial Mixed
Full-stack It does not render, the endpoint 500s, the type does not check Yes Narrows

The post lists these in roughly the opposite order, starting with full-stack. That is the order in which they are learned, not the order in which they matter now, and the difference between those two orders is the practical content of the argument.

Why divergence needs a mechanism

Tool What it removed What happened to the gap
Compiler The advantage of knowing assembly Narrowed
Spreadsheet The need to program to analyse Narrowed
IDE and autocomplete Having the API memorised Narrowed
Coding agent The cost of producing code Depends on the oracle

Every previous entry compressed the gap, so this time it widens is the claim that carries the burden of proof. The mechanism that discharges it is that production got cheap and review did not — and review is bounded by a human constant that no tool has moved.

The audit this produces

For one component, name the oracle for each of the five, or write none. Then the reading list is not five subjects, it is however many rows say none. That is a much smaller and much more specific answer to "there is too much to study" than the post gives, and it is the same instruction as one-page-not-the-curriculum: pull the page you are stuck on rather than the next one in order.

Where this catalogue already sits on the five

The post's item The card that already works on it
Data management the-split-is-the-experiment — a leak is a data-model failure that scores well; huggingface-is-a-package-manager — the unpinned dependency
Architecture architecture-is-accepted-failure — every pattern introduces the failure it does not prevent
Security the-boundary-is-the-unit — the boundary transfers, the attack list does not
Production ops the-product-is-resume-not-schedule; the-70-has-to-be-wrong for anything probabilistic in the loop
Full-stack Deliberately thin here, which is consistent: it is the row with an oracle

Three of the five already had cards before the post was read, which is mild corroboration of the sort. This card is the index over them rather than a sixth item, and its own contribution is the sorting rule.

← All Dev Notes · Workspace Index · Top ↑

격차는 틀린 것이 조용한 곳에서만 벌어진다

널리 공유된 글이 에이전트 시대에 살아남는 역량 다섯을 꼽고, 격차가 좁아지는 게 아니라 벌어진다고 주장합니다. 목록은 맞습니다. 다만 이유는 글이 말한 것보다 날카롭습니다. 에이전트는 생산을 곱했지 검토를 곱하지 않았고, 그래서 싼 오라클이 있는 곳에서는 격차가 좁아지고 틀린 것이 조용한 곳에서만 벌어집니다 — 그러면 다섯의 순서가 바뀝니다.

아직 범위 미정이고, 결과물은 공부 계획이 아니라 다섯 줄짜리 표입니다. 실제로 내가 소유한 구성요소 하나를 잡고, 역량 다섯 각각에 대해 싼 오라클을 적습니다 — 에이전트 출력이 틀렸다는 걸 몇 분 안에 알려주는 검사. 있는 경우(컴파일이 깨진다, 테스트가 실패한다, 화면이 안 그려진다, 엔드포인트가 500 을 낸다) 에이전트 출력을 빨리 받아 싸게 검증할 수 있고, 알고 모르고의 격차가 작습니다. 정직한 답이 "없음" 인 경우 — 데이터 모델, 신뢰 경계, 지금 부하에서만 도는 구조, 트래픽 10배일 때의 비용 곡선"없음"이라고 적고 거기에 무엇을 쓸지 정합니다. 그게 글이 실제로 말하는 예산 전부입니다. 출처: Andrew Ng 글의 한국어 요약, 2026-08-29 확인. 다섯을 인용하기 전에 원문을 읽을 것목록의 요약본은 항목이 조용히 모양을 바꾸는 정확히 그 자리입니다.

글의 주장은 에이전트가 코드를 써준다고 소프트웨어 지식이 필요 없어지는 게 아니라 오히려 더 필요해진다는 것입니다. 에이전트는 시키는 대로 만들고, 무엇을 시킬지는 사람이 정해야 하니까요. 하중을 받는 문장은 풀스택 대목이고 글에서 가장 좋은 줄입니다 — 풀스택은 다 할 줄 아는 사람이 아니라 다 볼 줄 아는 사람이다. 이건 생산이 아니라 검토에 대한 주장이고, 그 말이 나온 순간 나머지 넷도 같은 주장을 다른 재료에 적용한 것임이 드러납니다.

그런데 헤드라인 주장 — 격차가 좁아지는 게 아니라 벌어진다 — 은 논증이 아니라 단언이고, 자명하지 않습니다. 도구는 역사적으로 실력 격차를 벌린 게 아니라 압축해 왔습니다. 컴파일러는 어셈블리를 아는 이점을 없앴습니다. 스프레드시트는 프로그래밍 못 하는 사람이 분석을 하게 했습니다. 자동완성이 붙은 IDE 는 API 를 외운 사람과 안 외운 사람의 거리를 좁혔습니다. 강력한 새 도구에 대한 기본 기대는 수렴이므로, 발산을 주장하려면 메커니즘이 필요한데 글은 그것을 가리키기만 하고 이름 붙이지 않습니다.

메커니즘은 에이전트가 생산을 곱했지 검토를 곱하지 않았다는 것입니다. 쓰는 일은 사실상 공짜가 됐지만 확인하는 일은 그렇지 않습니다. 확인은 한 사람이 한 번에 머리에 담을 수 있는 양에 묶여 있고 그 숫자는 움직이지 않았습니다. 그래서 어떤 작업에 대해서든 질문은 그것을 만드는 데 지식이 얼마나 들었나가 아니라 — 그것이 틀렸다는 걸 알아내는 데 얼마가 드나입니다. 싼 오라클이 있는 곳(컴파일이 깨진다, 테스트가 빨개진다, 화면이 비어 있다, 엔드포인트가 500 을 낸다)에서는 에이전트 출력이 몇 초 만에 검증되고, 덜 아는 사람도 조금 느리게 같은 자리에 도착합니다. 거기서 격차는 좁아집니다 — 이전의 모든 도구가 그랬던 것과 똑같이.

격차가 벌어지는 곳은 실패가 조용한 곳이고, 그게 다섯을 실제로 정렬합니다. 잘못된 데이터 모델은 완벽하게 돌면서 계속 틀려 있습니다. 글이 이 대목을 가장 잘 말합니다 — 앱은 갈아엎을 수 있어도 데이터는 못 갈아엎는다. 빠진 신뢰 경계는 모든 테스트를 통과합니다. 테스트는 무언가가 된다를 주장하지 다른 무엇도 안 된다를 주장하지 않으니까요. 오늘 부하에 맞는 구조는 10배 부하에 맞는 구조와 오늘은 구별되지 않습니다. 비용 곡선은 청구서가 오기 전까지 나타나지 않습니다. 이 넷이 싼 오라클이 없는 자리이고, 판단할 수 없는 사람이 몇 달 동안 모른 채 지나가는 자리가 정확히 여기입니다. 글의 순서가 아니라 침묵의 정도로 정렬하면 데이터가 처음이고 풀스택이 마지막입니다.

한 항목은 동의보다 반론이 필요합니다. 글은 모든 개발자가 절반은 보안 엔지니어가 된다고 하고, 스캔 결과를 읽을 줄 모르면 스캔은 무의미하다고 덧붙입니다. 뒷문장은 맞고 앞문장은 후합니다. the-boundary-is-the-unit보안에서 이전되는 것은 공격 목록이 아니라 신뢰 경계라고 주장합니다 — 그러니 공격 목록을 공부한 절반짜리 보안 엔지니어는 스캐너 보고서를 읽을 줄 아는 사람이고, 그건 스캐너가 옳은 곳을 겨눴는지 판단할 줄 아는 사람과 같지 않습니다. 스캔에는 오라클이 있고 경계에는 없습니다 — 이 카드가 세워진 바로 그 구분에, 반대 방향에서 도착한 것입니다.

동작 방식

다섯을, 틀린 것이 시끄러운지로 다시 정렬하면

역량 틀린 답이 드러나는 방식 싼 오라클? 그래서 격차는
데이터 관리 잘 돌면서 몇 달간 틀려 있음 없음 가장 크게 벌어짐
보안 전부 통과. 테스트는 무언가가 된다를 주장하지 다른 무엇도 안 된다를 주장하지 않음 없음 벌어짐
아키텍처 오늘은 맞고, 10배에서 죽는 구조와 오늘은 구별 안 됨 없음 벌어짐
프로덕션 운영 장애는 시끄럽지만 비용과 완만한 열화는 조용함 부분적 혼재
풀스택 안 그려짐, 500 남, 타입 안 맞음 있음 좁아짐

글은 이걸 거의 반대 순서로, 풀스택부터 나열합니다. 그건 배우는 순서이지 지금 중요한 순서가 아니고, 두 순서의 차이가 이 논증의 실질적 내용입니다.

발산을 주장하려면 메커니즘이 필요한 이유

도구 무엇을 없앴나 격차는
컴파일러 어셈블리를 아는 이점 좁아짐
스프레드시트 분석하려면 프로그래밍해야 하는 것 좁아짐
IDE·자동완성 API 를 외우고 있는 것 좁아짐
코딩 에이전트 코드를 만드는 비용 오라클에 달림

앞의 모든 항목이 격차를 압축했으므로, "이번엔 벌어진다"가 입증 책임을 집니다. 그 책임을 해소하는 메커니즘이 생산은 싸졌는데 검토는 안 싸졌다는 것이고, 검토는 어떤 도구도 움직이지 못한 인간 상수에 묶여 있습니다.

여기서 나오는 감사

구성요소 하나에 대해 다섯 각각의 오라클을 적거나 "없음"이라고 씁니다. 그러면 공부 목록은 다섯 과목이 아니라 "없음"이라고 적힌 줄의 개수가 됩니다. "공부할 게 너무 많다"에 대해 글보다 훨씬 작고 구체적인 답이고, one-page-not-the-curriculum 과 같은 지시입니다 — 순서상 다음 페이지가 아니라 막힌 페이지를 꺼내라.

이 카탈로그가 다섯 위에 이미 앉아 있는 자리

글의 항목 이미 작업 중인 카드
데이터 관리 the-split-is-the-experiment — 누수는 점수가 잘 나오는 데이터 모델 실패. huggingface-is-a-package-manager — 고정 안 된 의존성
아키텍처 architecture-is-accepted-failure — 모든 패턴은 막지 못하는 고장을 들여온다
보안 the-boundary-is-the-unit — 경계는 이전되고 공격 목록은 안 된다
프로덕션 운영 the-product-is-resume-not-schedule. 루프에 확률이 끼면 the-70-has-to-be-wrong
풀스택 여기선 의도적으로 얇습니다. 오라클이 있는 줄이니 일관됩니다

글을 읽기 전에 이미 다섯 중 셋에 카드가 있었고, 그건 이 정렬에 대한 약한 방증입니다. 이 카드는 여섯 번째 항목이 아니라 그것들 위의 색인이고, 자기 몫의 기여는 정렬 규칙입니다.

← 전체 개발 노트 · 워크스페이스 인덱스 · 맨 위 ↑