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 domains — what 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자형)이라는 뜻이다. 지도는 벽이 아니라 방향이다.