I came to software from music production. It taught me one thing early. Engineering is a creative practice under constraint. Imagination, disciplined by logic. My best work shows up when curiosity, judgement, and taste have room to move.
Treat engineers like checklist machines and you buy predictability. You pay for it with invention. Every clean interface and resilient system starts as an idea. The craft is shaping that idea into form.
Freedom needs a frame
If you want better products and sharper teams, treat engineers as creative partners. Creativity needs freedom. It also needs the judgement to use what it finds.
The goal is not chaos. Guardrails prevent that. Good guardrails are a frame, not handcuffs. They focus attention, keep things safe, and speed up learning.
Give them this up front
- A sharp problem. Who the user is, the pain, why it matters now.
- Context. Constraints, trade-offs, adjacent systems, past attempts.
- Success criteria. Measurable outcomes, not just outputs.
- Guardrails. Security, privacy, compliance, performance budgets.
- Time horizons. Deadlines, stage gates, when you will reassess.
Avoid this
- Solutioning in the requirements. Describe the hill, not the path. If you are naming classes and functions, you have gone too far.
- Processes so tight they treat variance as failure instead of learning.
- Measuring activity over impact.
The point
Engineering runs on science, but the excellence is closer to art. The engineers I trust care how a thing feels to use, not just whether it passes. They notice the details everyone else walks past. Their systems work, but they are also clear, and you can feel a person behind them. The best work does not just solve the problem. You remember it.
Trust engineers as creative partners. Give them context and room, and they build beyond the brief. Overprescribe, and you get exactly what you asked for and nothing more.