Программист - разрабатывает в первую очередь алгоритм (технологию) решения задачи, а уж переводит его в программу на конкретном языке программирования - кодер.
Под это определение подходит не слово "программист", а слово software designer, охватываемое русским "разработчик (ПО)".
Есть ещё software engineer, тоже достаточно широкое. Оно примерно соответствует "программист", и включает в себя "
переводит его в программу на конкретном языке".
Не говоря уже о том, что:
1. зачастую и то и другое делает один и тот же человек, а разделение ролей в команде происходит по другим признакам и задачам;
2. современные технологии программирования, и задачи построения ПО, зачастую очень мало связаны с разработкой алгоритма (которая оказывается тривиальной, на уровне сборки из стандартных кубиков), и в основном сосредоточены на других аспектах, например, на объектной декомпозиции, data flow, use cases. Такими вещами на самом верхнем уровне занимается уже не просто программист, а architect.
Сисадмин (SYStem ADMINistrator)... разбираться в программировании (написании программ) не обязан...
Как раз обязан, как минимум на скриптовых языках, используемых в той системе, которую поддерживает. Это, конечно, далеко не то же самое, что "программирование вообще", в чём-то проще, а в чём-то сложнее.
И разумная классификация программистов - это в большей степени деление не по уровням квалификации, а на специализации.
Для работодателей - и по уровням квалификации полезна.
-- 07.02.2016 22:38:13 --XeyЭто вы взяли программиста из 60-х годов прошлого века? Они ещё умели вводить программу с пультовых переключателей, чтобы запустить загрузчик, который заглатывал уже первую колоду перфокарт диспетчерской системы...