Я никогда не уклоняюсь от разговоров с подчиненными о повышении зарплаты, и при принятии человека на работу предупреждаю сразу - разговор о повышении зарплаты начинает он, а не я. Соответственно, когда программист подходит ко мне с вопросом о зарплате, я вижу в этом прекрасную возможность повысить его производительность - это повод для серьезного разговора, причем начатого по инициативе программиста. Мы начинаем разбирать, почему зарплату нужно повысить, и на каких основаниях это надо сделать.  Стоит остановиться на этом подробнее.

Почему вообще повышают зарплату разработчику? За его возросшие знания и опыт, которые делятся на три составляющие:

  а) знания разработчика о компании - людях, отделах, процедурах, правилах и т.п. Мы тратим деньги на то, чтобы обучить всему этому новичка, т.е. эти знания имеют ценность и должны быть учтены в зарплате.

  б) Знания разработчика о проекте - предметной области, структуре проекта и кода, установившиеся коммуникативные каналы. Эти знания имеют огромную ценность для компании.

  в) знания разработчика в области программирования - языки, платформы, паттерны. Обычно только эта часть и оценивается при повышении зарплаты - как способ удержать разработчика от перехода в другую компанию. Это - распространенная ошибка.

На самом деле, для компании более всего ценна вторая составляющая знаний разработчика, а не третья. Хотя бы потому, что третья составляющая может быть сравнительно недорого развита на соответствующих тренингах, если речь не идет об архитекторе. Более того, она легко может быть приобретена с наймом нового работника. Но ее совершенно недостаточно для эффективной работы - если только речь не идет о компании, сдающей программистов в аренду. Оценки на вход в проект взятого на работу программиста в проект лежат в диапазоне от трех до шести месяцев.

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