It depends. В начале частая смена работы помогает расширить кругозор и получить разный опыт, равно как и получить быстрый рост. Но бывают компании/команды, где хороший опыт и рост можно поиметь с нуля. Так что нужно смотреть по ситуации. Очень много молодежи выедают sign-on bonus и идут за следующим в другую компанию. У меня коллега пришел к нам после института, после первого года уже получил SDE-II, сейчас уже года 2.5 проработал SDE-II на разных проектах, и еще через пару лет, похоже, благополучно пойдет на SDE-III. Другой коллега в одной команде за 12 лет прошел от SDE-I до Principal Engineer - это очень высокая позиция в Амазоне. На текущем рынке заметный рост по зарплате можно получить в двух случаях - повышение и смена места работы - при неизменной позиции в одной компании от года к году рост base pay небольшой совсем (зарплаты на рынке зачастую растут быстрее), больше надежда на рост акций компании, если она, конечно, делится ими с сотрудниками.
У смены работы есть существенный минус - потеря visibility и предметной области, и с ростом это становится заметнее. Личный пример - на предыдущей работе в EMC я проработал 7 лет. Вот в этой книжке тогдашнего CEO EMC есть глава про меня и один из моих проектов. Плюшек с того проекта я поимел много, плюс с таким visibility работается легко, и многие вопросы решаются быстрее за счет “авторитета”. Сейчас работаю в Амазоне, 4.5 года как, и такого visibility нет и в помине, и вряд ли будет, да и предметная область меняется и разрастается, так что таким экспертом, каким я был в EMC, стать непросто. НО! Работаю-то я за деньги, а не за идею, и когда Амазон, с потерей вот этого всего, да еще и с понижением, предложил денег заметно больше EMC - ушел и не жалею.
Про большие компании vs. маленькие - тоже очень индивидуально. Большая компания может быть болотом, а может расти и развиваться как тот же Амазон. Соответственно плюшки в виде акций могут расти, а могут топтаться на месте. Обычно у больших компаний больше бенефитов, но тоже не всегда (особенно если под бенефитами подразумевать не только страховки и прочие денежные плюшки, но и условия работы - тут часто маленькие компании впереди. Пример - жила-была небольшая компания Dispatcher с офисом в большом доме в пригороде Парижа - просторно, винный погреб, бильярд, сад с беседкой, где все сотрудники вместе обедали, пили вино, и наслаждались жизнью в обеденный перерыв. И никаких тебе пробок и проблем с парковкой. А потом пришла EMC, купила их, и перевезла в тесный open space в центре Парижа). Маленькая компания, если это начинающий стартап, может хорошо выстрелить и принести хорошие дивиденды. Мое мнение - первую работу лучше поиметь в большой современной компании, и с полученным опытом пробовать удачу в стартапах, пока семьи и детей нет - потом спокойнее в большой компании. Дети выросли - можно и обратно в стартап (это в США. В России по-другому).
Независимо от размера компании и прочих факторов - если показался потолок, дальнейшего развития не видно - пора менять компанию. В больших зачастую можно попробовать поменять команду сначала. Но менять надо, ибо ничем хорошим это не закончится. Также нужно менять если менеджер дурак, или с командой неладно - думать надо в первую очередь о себе - своем профессиональном и финансовом росте.
Сумбурно получилось, но вот как-то так.