Все верно с точнойстью до нескольких моментов:
0) Профессиональный рост — не самоцель. Цель — заработать деньги своими мозгами.
1) Вы навсегда останетесь программистом и никогда не займете руководящую позицию, поскольку на такие позиции выдвигают людей с длительным стажем работы в данной организации. А следовательно никогда не заработаете значительно бОльших денег, чем получают любые программисты.
2) Рано или поздно вас перестаунут брать на работу, поскольку работодатели, как Вы сами верно сказали, хотят стабильных сотрудников. И когда они видят в резюме, что вы нигда не работали больше 6-10 месяцев просто перестанут Вас брать на работу на этом основании.
3) Поддержка продукта — вовсе не бесполезный этап, поскольку именно на этапе поддержки Вы и начинаете понимать насколько удобный-неудобный для пользователя / устойчивый-не устойчивый продукт Вы написали. Ведь продукты пишутся для пользователей и фактически Вы предлагаете сбежать из компании в тот момент, когда Ваш продукт начинает использоваться и Вы начинаете получать реальную оценку своей работы (от тех, для кого Вы писали продукты). Только использование продукта в реальных условиях у клиента является настоящим испытанием для продукта — никакой отдел тестирования не заменит эту реальную проверку. В тестувую лабу можно сходить -поотлаживаться, к клиенту не сходишь — надо учиться отлаживаться удаленно. Тоже по системе создания логов программы — лог файл — часто единственное, что присылает Вам клиент, когда говорит, что все упало. Вобщем, с моей точки зрения, Поддержка — это огромный опыт, когда Вы и делаете главные выводы о том насколько качественный Ваш код. Программист, никогда не участвующий в саапорте клиента — на порядок слабее того, кто участвовал.