<programmer friend> == human => ?
<programmer friend> == ChatGPT => ?
In your example the human and ChatGPT are interchangeable. In my example, they are also interchangeable. Your situation yields a "probably not" answer. My situation yields a "probably" answer. These answers contradict each other, despite their identical basis and despite both being correct answers. Therefore, it must be that this human/ChatGPT comparison must not be the locus of the difference between the answers.
I think people ought to take a breath and think about what is actually fundamental about programming. It might be "code"; but then we've sort of just kicked the can down the road, because now we've got to figure out what's fundamental about code and how that means something is or isn't programming. And without this sort of definition, it really isn't meaningful to ask whether this or that thing is programming.
I'd say the label programmer has far more in common with guitarist than with electrician and I think calling it a title is muddying the waters, even though it can also be a title. (I also think because we use the term that way, some people prefer other titles that make it clear they are professionals.)
However, the point I was making wasn't that people who have used ChatGPT but otherwise haven't programmed necessarily are programmers, but that: (1) Code isn't fundamental to programming. We can imagine programming interfaces other than code that people--even people who spend most of their work time doing it and understand their tools--can use to create programs. (2) A ChatGPT-derived copy-and-paste language is not fundamentally different than other higher-level languages in that it is simply an abstraction.