Daeseon Yoo

Wiki

Engineering Fundamentals — a map of the whole field

Software engineering isn't one skill — it's ~18 separately-masterable domains across a few bands. Nobody masters all of them; the real shape is T-shaped. A map for orientation, not walls.

·map · fundamentals · systems · career

The shape

Software engineering isn't one skill — it's a few bands of distinct, separately-masterable domains. You don't master all of them. The realistic shape is T-shaped: deep in one or two, literate across the rest — enough to read, reason, and collaborate across the seam. This is the territory.

Foundations — everything sits on these

Distributed backend — the cloud-product core

AI / ML

Surfaces — where users touch the system

Cross-cutting — every system needs them

Craft & judgment — what makes the rest compound

Adjacent specializations — each a field of its own

Off the path for most product/backend work, but real masterable domains:

How to read it

The boundaries leak — a slow query is single-machine and distributed and data-modeling at once. That's the point: the map is for orientation, not walls. Pick a spike (the one or two domains you go deep on) and keep the rest at literacy — enough to reason and collaborate where they meet.

Three things people conflate

This map is knowledge domainswhat you know. Two adjacent things get mixed up with it, and naming them apart is half of using any of them well:

So: the field (this whole map) ⊃ the slice that system design composes ≠ the code-level craft of software design. They're different in kind — a body of knowledge, a scale-composition activity, and a code-structuring activity.

In Korean

"엔지니어링 fundamental 전부를 섭렵한다"는 한 사람이 18개 도메인을 다 깊이 갖는다는 뜻이 아니다 — 한두 기둥은 깊게, 나머지는 읽고 추론할 만큼(T자형)이라는 뜻이다. 지도는 벽이 아니라 방향이다.