My first role was "Programmer." That was the actual title. A business analyst would drop a defined ticket on my desk; I would write the code, and when I was done, I would throw it over the fence to a QA tester, who would decide whether it was finished and ready for release. I didn't talk to users. I didn't weigh in on requirements. I wasn't involved in what happened after the deploy. Someone else figured out what to build, someone else verified that it worked, and I lived in the narrow middle. I think about that title a lot now because the rest of the industry has been stuck framing software engineering the way my old title did. Ask a software engineer what they do, and most will say something along the lines of "I write code." Recruiters screen for it. Bootcamps teach it. GitHub measures it. The entire field has organized itself around a single step in a much longer process: implementation. Implementation is, at most, a quarter of the job.…