I genuinely think that creating such distinction between a "Developer", a "Programmer" and an "Engineer" just creates unnecessary labels and undermines the competency of professionals in the industry. To be absolutely honest, I have never seen serious job adverts hiring said "Programmers" for roles such as the ones described in this article - as there should be no such thing.
Who would hire someone just to "write code" and "bug fix" without participating in key parts of the software process? Doing so is a pretty good recipe for failure, bad software and pretty unhappy people (obviously, I'm not referring to short-term contractors here, all cases have exceptions).
If you code, worry less about how your role is called; focus more on being a good professional by owning the software you write, being interested in good practices, testing, design, architecture at all stages of your career - the article saying that you can think of a type of profissional "like a competent cook [who] can really turn a recipe into a great meal" sounds like a joke...
If you're in a company that expects that sort of behaviour from you, as in "take these requirements and make it", I'd strongly suggest searching for new opportunities where you can grow professionally instead of just "following recipes".