Больная сторона технического профессионализма.
Есть такая проблема, что когда программист становится достаточно профессиональным (и из-за этого дорогим), то постепенно ему начинают выдавать задачи связанные с его специализацией (так как он решает их быстро и эффективно). И получается, что он все больше и больше специализируется в одной области.
В тоже самое время, среднячка вполне могут перекидывать на разные технологии, платформы и т.п.
Таким забавным образом получается, что программист именно из-за своего профессионализма тормозит свое развитие вширь (причем достаточно серьезно).
Да, естественно можно что-то почитать или мелкое делать для того, чтобы совсем мозги не засохли. Но все равно, одно дело уделение развитию вширь один час в день, причем не на реальных проектах. Другое дело, как у среднячков, восьми часовое развитие в ширь.
Кстати, даже переход на другую работу в этом смысле не спасает. Достаточно редко серьезный разработчик готов идти на крупное понижение зарплаты, чтобы поменять свой профиль. А без понижения, разработчика чаще всего будут готовы брать только на то направление, где он уже специалист.
Кстати, именно последний пункт меня веселит. Учитывая, что действительно хороший разработчик, в течении недели освоит новый язык на приемлемом уровне. В течении пару месяцев будет достаточно хорошо разбираться с новой платформой/фрейморком, а через пол года он уже обгонит большинство среднячков и хорошистов.
Да, я понимаю, что часть этого времени будет инвестирование и так в дорогого специалиста. Но меня слегка удивляет, когда выбирают взятие среднячка и постоянное инвестирование в его ошибки, взятию профессионала и инвестирование в первый месяц-два.
P.S. Из обсуждения с СОТОНА: Чем меньше компания, тем чаще профи затыкает все дыры.
Когда компания растет, то профи очень усердно начинают применять именно для одного направления.