Software engineering is not about writing code itself and it has never been. It is about removing ambiguity, encoding intent, and shaping conditions so that high-quality outcomes emerge with minimal friction. Over time, machines and abstractions have steadily elevated the dominant constraint in software delivery: first infrastructure, then deployment, then implementation, and now intent formation itself. Development tools (whether low-code/codeless environments, AI-assisted development, or higher-order programming paradigms) reflect this shift. They abstract away mechanics but do not eliminate the need for human judgment; they make the craft of software less about executing instructions and more about defining clear goals, context, and constraints that machines can faithfully act upon. This is not a loss of engineering relevance, but instead it’s a movement with the constraint, where engineers’ leverage comes from defining what is to be built, not how it is mechanically produced.