Эту цитату, наверняка, все уже видели. Я склонен согласиться с ней. Сложно вести куда-либо компанию, реализовывать идеи, когда knight in shining armor пытается реализовать свои идеи, причём делает это сравнительно успешно.
Хороший программист — он как архитектор или художник: реализует свою потребность в самовыражении доступными ему средствами. Сложно заставить художника рисовать картину «Ленин на броневике» в духе соцреализма, когда у него в голове абстракционистские наброски.
Поэтому надо быть либо чертовски хорошим манипулятором, либо прирождённым лидером, чтобы перевести поток идей программиста в нужное русло.
Есть ещё третий вариант: уволить его, чтобы не мешал работать другим.
Дабы не доводить дело до крайности, не забывайте периодически бить его тапком, чтобы не зазнавался, и махать перед носом пресловутым бонусом (да, да — пряником), чтобы шёл к «цели» бодрым и весёлым шагом.
Если делать это умело — ваше сотрудничество будет долгим и продуктивным, иначе… третий вариант.