If you teach someone to program, by definition they'll be a programmer.
Not really. Not by a long shot.
I can teach you to take a photograph, that doesn't make you a photographer.
You can teach someone the concept of coding, and they might even make a couple of simple programs.
That doesn't make you a 'programmer' any more than giving someone a driving lesson makes them a race car driver.
I've encountered people who could, in some ways, write code. But since they didn't have the slightest idea of how to do it well or effectively, they were dangerous amateurs who believed they were programmers. We had one guy (lasted less than a month) who wrote garbage code like a first year student with no real understanding. Trying to make him understand the difference between what he wrote and what we needed was futile. I eventually walked away from him, told him he was useless, and stopped giving him tasks. My manager, upon seeing his code, went the next step and got rid of him
Trust me. In practice, there is a very large difference between "knowing how to write some code 'n stuff" and actually being proficient at designing, writing, and maintaining software.
Hell, I've know a few people with Masters degrees in CS who are actually terrible programmers. They can make something which kinda works for their area of research, but in general, they were useless.
I even knew one guy who said he had a Masters in CS who had never coded before -- how that happened boggles my mind. That's like being a chemist who has never been in a lab.