---
id: "prereq-strategic-programming"
type: "prereq"
source_timestamps: ["00:00:42", "00:04:45"]
tags: ["architecture", "system-design"]
related: ["concept-tactical-vs-strategic-programming", "claim-skills-are-ceiling", "framework-strategic-ai-delegation", "entity-a-philosophy-of-software-design"]
---
# Strategic Software Design

## Why this prerequisite

Because AI handles tactical implementation (see [[claim-ai-eaten-tactical]]), the human operator must possess strong **strategic design skills** to effectively direct the AI and prevent it from generating unmaintainable spaghetti code.

This is the prerequisite that determines the ceiling — see [[claim-skills-are-ceiling]] and [[quote-skills-are-ceiling]].

## What to study

- [[entity-a-philosophy-of-software-design|A Philosophy of Software Design]] (Ousterhout) — tactical vs. strategic, deep modules.
- *Clean Architecture* (Robert C. Martin) — separating implementation details from domain logic.
- *Domain-Driven Design* (Eric Evans) — ubiquitous language and bounded contexts.
- Scoping practice: breaking features into AI-deliverable units.
- Interface and API design.
- Test architecture: contract tests, integration scenes, observable behavior.

## Connection

The operationalized version is [[framework-strategic-ai-delegation]] and the career-shift directive is [[action-shift-to-strategic]].
