Давать джуну задачи с постепенным повышением сложности. Регулярно уточнять, над чем работает, чтобы вовремя замечать, когда буксует или движется не в ту сторону. Если где-то буксует, личным примером показывать подход к проблеме, отладку, сбор нужной информации, перебор вариантов решений. На этапах проектирования и ревью объяснять хорошие практики разработки, плюсы и минусы разных решений.
Если человек начал работать без какого-то фундаментального образования, на мой взгляд, на старте работы не стоит заниматься образованием. Стоит научиться решать прикладные задачи проекта, то есть, понять стек технологий и предметную область. А уже после можно добавить фундаментальный вектор развития.
Согласен. Алгоритмы и математика - на мой взгляд, примеры универсальных способов усилить любые прикладные навыки. Занятия математикой тренируют умение выявлять закономерности в данных, в процессах. Этот навык переносится в решение прикладных задач. Математическая подготовка ускоряет погружение в новую предметную область, в новую проблему. Как вы заметили, синусы при этом, скорее всего, не пригодятся. А пригодится умение быстро составить очень краткую и достаточную точную модель производства, рабочего процесса.
Но ценность фундаментальной подготовки лично я стал ощущать лишь спустя время после получения этой самой подготовки. Если человек уже трудится в разработке ПО и пропустил этап такого фундаментального самообразования, то у него может возникнуть вопрос: "Зачем мне знать алгоритмы сортировки? Как это знание поможет мне получить более интересный проект или больше денег? Вот с книгой по новому ЯП польза очевидна. С его знанием будет больше доступных проектов, вакансий."
А нужны сортировки, графы, стеки и т.п., чтобы усилить навыки решения проблем посредством кода. Эти навыки нужно применять каждый день на любом проекте. Хотелось разложить по полочкам связь книг по алгоритмам с решением практических задач.
Давать джуну задачи с постепенным повышением сложности. Регулярно уточнять, над чем работает, чтобы вовремя замечать, когда буксует или движется не в ту сторону. Если где-то буксует, личным примером показывать подход к проблеме, отладку, сбор нужной информации, перебор вариантов решений. На этапах проектирования и ревью объяснять хорошие практики разработки, плюсы и минусы разных решений.
Если человек начал работать без какого-то фундаментального образования, на мой взгляд, на старте работы не стоит заниматься образованием. Стоит научиться решать прикладные задачи проекта, то есть, понять стек технологий и предметную область. А уже после можно добавить фундаментальный вектор развития.
Согласен. Алгоритмы и математика - на мой взгляд, примеры универсальных способов усилить любые прикладные навыки. Занятия математикой тренируют умение выявлять закономерности в данных, в процессах. Этот навык переносится в решение прикладных задач. Математическая подготовка ускоряет погружение в новую предметную область, в новую проблему. Как вы заметили, синусы при этом, скорее всего, не пригодятся. А пригодится умение быстро составить очень краткую и достаточную точную модель производства, рабочего процесса.
Но ценность фундаментальной подготовки лично я стал ощущать лишь спустя время после получения этой самой подготовки. Если человек уже трудится в разработке ПО и пропустил этап такого фундаментального самообразования, то у него может возникнуть вопрос: "Зачем мне знать алгоритмы сортировки? Как это знание поможет мне получить более интересный проект или больше денег? Вот с книгой по новому ЯП польза очевидна. С его знанием будет больше доступных проектов, вакансий."
А нужны сортировки, графы, стеки и т.п., чтобы усилить навыки решения проблем посредством кода. Эти навыки нужно применять каждый день на любом проекте. Хотелось разложить по полочкам связь книг по алгоритмам с решением практических задач.