00 · Foundations

Mindset — product engineer vs software engineer

shippedprinciple → decision → workflow → artifact

Principle

When generation is cheap, the bottleneck moves up the stack — from typing code to choosing what deserves to exist, how it should feel, and what must stay human-owned.

A product engineer optimizes for outcomes in the world: users, revenue, trust, revision speed. A software engineer optimizes for correctness inside the system: APIs, tests, performance. AI-native builders sit at the intersection — and must not confuse the two chairs.

The decision

DEC_002

Product engineer     →  what / why / for whom
Software engineer    →  how / safely / for how long
AI-native builder    →  orchestrates both, owns the seam
Breadth of judgment vs depth of implementation — both matter, not always in the same person at the same hour.

What humans should own

OwnShare with AIDelegate to AI
Problem selectionDiscovery synthesisFirst-draft research
Taste and UX callsLayout explorationBoilerplate UI
Pricing and scopeOption comparisonScaffold code
Architecture betsTrade-off writeupsRepetitive implementation
What ships this weekTest ideasFormatter-level edits

Workflow

  1. Write the user outcome in one sentence before opening any tool.
  2. Ask: is today’s risk product or engineering? Pick the chair deliberately.
  3. Use AI to widen options early and narrow with human commits late.
  4. Keep a revision trail — what changed after user contact, not just what the model suggested.

Tooling

Cursor, Claude Code, Lovable, v0 — interchangeable for drafts. The mindset does not depend on which one you opened first.

Common mistakes

Further reading