Personally I consider anyone who can be given a reasonably difficult[1] problem and solve it on their own[2] as knowing how to code.
[1] reasonably difficult - something that can't be solved by finding an appropriate tutorial (in a sense, the solution has to create new knowledge in your sphere of influence)
[2] solving on one's own - not solving through code archaelogy by frankensteining a solution together from random code snippets found online and/or nontrivially stitching together othe people's API's and libraries
Personally I consider anyone who can be given a reasonably difficult[1] problem and solve it on their own[2] as knowing how to code.
[1] reasonably difficult - something that can't be solved by finding an appropriate tutorial (in a sense, the solution has to create new knowledge in your sphere of influence)
[2] solving on one's own - not solving through code archaelogy by frankensteining a solution together from random code snippets found online and/or nontrivially stitching together othe people's API's and libraries