Какая стратегия развития оптимальна для профессионального и карьерного роста java middle разработчика?
Траектория роста из джуна в мидлы достаточно понятна: набивание руки на типовых задачах, расширение IT-кругозора до приемлемого уровня, получение базовых архитектурных навыков и т.д. А вот в каком направлении лучше двигаться java middle разработчику?
Например, у меня есть желание подтянуть знание фронтенд-технологий (изучить React, подтянуть CSS и т.п.), потому что хотелось бы ощущать себя специалистом, который в случае чего, может сделать веб-приложение полностью своими руками. С другой стороны, понимаю, что именно фронтендером я не буду, а профильный специалист все равно сделает быстрее и лучше. Поэтому возникает вопрос, стоит ли тратить на это время?
Аналогичные сомнения возникают при желании погрузиться в devOps (Jenkins, Ansible) и в архитектуру БД (планы выполнения и оптимизация запросов, более глубокое изучение архитектуры NoSQL БД).
Как, по-вашему мнению, стоит развиваться мидлу?
Расти в первую очередь "вширь" (например, бекендеру изучать фронт) или "вглубь" (например, взять Hadoop и изучить его до мельчайших деталей)? Или же стоит обратить внимание на прокачивание более общих навыков (например, управление командой разработки, методологии разработки или построение и анализ архитектуры информационных систем)?
Какие аспекты при развитии, на ваш взгляд, критически важны, какие просто желательны, а на какие вовсе не стоит тратить время?
понимаю, что именно фронтендером я не буду, а профильный специалист все равно сделает быстрее и лучше. Поэтому возникает вопрос, стоит ли тратить на это время?
- стоит. Потому что начальство не любит фифочек которые чуть что "ой это не моя работа!", всегда ценят людей которые решают задачи, а не тех которые работают диспетчерами перекладывая работу на других. Так что быть идеальным узким специалистом невозможно, да и вредно.
Антон Р., тут зависит от проекта. На небольших проектах с командой 2-3 разработчика действительно ценятся люди, которые могут и фронт, и бэк, и деплой настроить, однако даже в таких командах можно наблюдать определенную тенденцию к тому, что задачи, скажем, фронта в большей степени закрывает один разработчик, а задачи бекенда - другой.
А вот на крупном проекте руководитель наоборот сказал, чтобы я даже не думал трогать js-код, поскольку для этих целей есть фронтендеры)
Кстати, на тех же крупных проектах, диспетчерство, а именно умение определить специалиста, который способен наиболее быстро и эффективно справиться с задачей - достаточно ценный навык