Не специалиста, а мартышку.
Отличие профессионала от мартышки — в первую очередь в attitude и в ориентации на результат. Пример: нужно сделать XYZ на ABC. Профессионал с ABC работал давно и недолго, но имеет массу смежного опыта и работы с очень похожими вещами на GHJ и TYU.
Мартышка может пилить оный XYZ на ABC, но если завтра потребуется переходить на TRE, — будет тупить, тормозить, и работать в целом плохо (ибо широты кругозона немае).
Работодателю, однако, профессионал нужен отнюдь не всегда. Чаще нужна как раз мартышка, которая уже пилила конкретную золотую гирю. Мартышка допилит — и все хорошо.
Профессионалы обычно нужны либо в маленьких стартапах (где задачи бывают уж очень разнообразные — сегодня пишешь модуль к ядру Linux, а завтра сканируешь и вычитываешь веб-сайт на предмет поиска уязвимостей в perl-коде), либо в монстроидальных конторах, уже доросших до уровня бардака с "перебросками" людей куда попало, даже со снижением эффективности работы (могут себе позволить — денег много).
Профессионалов, увы, мало — в основном потому, что молодым профессионал быть не может (не успеет набрать достаточо опыта, в т.ч. жизненного, т.е. не относящегося к компьютерам). А немолодой профессионал уже хочет полениться и заняться чем-то, поглощающим меньше времени и сил. Например, управлением (в т.ч., увы, и манагерством — думаю, каждый может вспомнить массу случаев, когда хороший профессионал-программист становился плохим управленцем).