Who, given a problem, can find the resolution
algorithm, ie the logical steps to reach the solution, and
implement it in a programming language.
A programmer familiar with more than one language, decide which one to use as needed.
Note:
HTML and
CSS are not programming languages.