Это программист в представлении безграмотного обывателя. На самом деле - программист низкого уровня пишет на языке машинных команд. Условно говоря - на языке которым говорит железка. А программист высокого уровня (т. н. прикладной) - на специальном языке, который более понятен и менее специфичен (условно говоря - крутит вереньеры, дергает рычаги и жмет на кнопки). Первый похож на мага, второй на обычного пользователя.