Я - кодер, бездумно вызубривший по самоучителю конструкции и стандартные приёмы работы, характерные для языка N. И умеющий решать стандартные задачи этими стандартными приёмами - в принципе не понимая, что такое качественный и эффективный код. Я - программист, имеющий должный уровень теоретической подготовки и умеющий находить оптимальное решение поставленной задачи. Имеющий опыт работы в том числе и на языке N. Оба персонажа могут с уверенностью сказать: "я знаю язык N". Только вот качество их работы будет совершенно разным. Язык - не показатель профессионализма, а всего лишь вспомогательный инструмент для записи алгоритмов.