У меня есть довольно успешный знакомый, который считает, что сейчас очень ценятся "мастера на все руки": и фронтэнд, и бэкенд, и понимание всяких там, как модно нынче говорить DevOps.
Препод с универа, который тоже и зарабатывает неплохо и вроде как совсем не дурак - говорит, что "разобраться в MVC, MV... ruby, python" - часа 3-4 (сам работает со встраиваемыми системами по основному профилю)
Я лично считаю, что программирование - это инструмент. И язык, платформа, стек - всего лишь одна из составляющих решения определенной задачи.
Явно, не стоит делать соцсеть на perl, форум а-ля phpBB на nodejs или лэндинг на erlang.
Наверное, самое главное - это интерес и "подходящие" проекты. Подходящие - значит:
1) вовремя (ничего в данный момент не отвлекает от конкретного проекта)
2) осмысленно (или хорошо оплачивается, или доставляет много удовольствия)
3) хорошая команда или хороший настрой, если делаешь сам
4) хорошо вписывающийся в интересующий стек, что б не впихивать стек в проект и страдать.
Учить - это главное в такой профессии. А разные методологии, взгляды разных культур языка, разные подходы к решению одних задач - это, я считаю, не менее важно, чем углубленное изучение одного аспекта.
P.S.
Не думаю, что можно дать рабочую пошаговую инструкцию, как достичь успеха в разных стэках. если такой есть, было бы интересно и самому увидеть