I write code.<p>Some people think that diminishes what I do. I don't just sit at a computer and type code in from start to end. I have to plan, design, revise, and test. I have to read and criticize. I have to consider very high-level structures and very low-level structures. Therefore, I should say I do something much grander than "write code." Something about "science" or "engineering."<p>It's surely not science. Calling it "engineering" would be fair. Sometimes I do. I don't see what's wrong with calling it "writing," though. After all, don't I write code principally for other humans to understand, and only incidentally for machines to execute? Writers plan, imagine, write, revise, test, and rewrite. Writers read and criticize. Writers consider high-level structures and low-level structures. Writers produce rivers of words one afternoon and struggle with a single line the next. Writers excise large sections of their work with mixed feelings of triumph and regret.<p>Writing code is what I do. If the language had evolved differently, I would be proud to call myself a "code writer" or simply a "writer." The closest equivalent seems to be "programmer," so that's what I call myself. Or, on my resume, as a concession to corporate dullness, a software engineer.