Laughface
@Laughface

Нужно ли хорошо разбираться в алгоритмах джуну?

Добрый день, нахожусь в процессе обучения программированию. Часто ловлю себя на мысли что не сразу могу описать решение задачи в виде кода и многие советуют в таком случае изучать алгоритмы и прорешивать их. Вопрос в том, сильно ли важны алгоритмы для начинающего разработчика(джуна) и стоит ли уделять им более пристальное внимание на ранней стадии обучения или не стоит на них зацикливаться и хардтраить? Алгоритмы довольно глубокая тема и можно потратить ни один месяц чтоб в них разобраться + возможно стоит изучать сам язык и рабочие инструменты к нему, а алгоритмами заниматься уже для повышения квалификации? Хотелось бы узнать ваше мнение.
  • Вопрос задан
  • 693 просмотра
Пригласить эксперта
Ответы на вопрос 6
@kalapanga
Вопрос этот о необходимости знаний алгоритмов в той или иной форме всплывает здесь часто. Напишу своё субъективное мнение.
Начинающему программисту знание алгоритмов больше всего может пригодиться на собеседовании, если собеседователь не придумает ничего лучше, чем заставить Вас при нём писать реализацию вот такого-то алгоритма!
А потом может оказаться так, что Вы за всю жизнь не обошли ни одного графа (не писали код для этого), а для сортировки Вам всегда хватало стандартной процедуры из любимого языка.
По-моему, программист молодец, если он знает, например, сам факт, что методы сортировки могут иметь разную эффективность в зависимости от характера данных и при необходимости найдёт и выберет нужный. А держать все их названия и реализации в голове - надо ли? Всё, что не применяется на практике, один чёрт, забудется.
Ещё раз повторюсь, что это моё сугубо личное мнение, и я на нём ни в коем случае не настаиваю.
Ответ написан
Комментировать
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
Вопрос в том, сильно ли важны алгоритмы для начинающего разработчика(джуна) и стоит ли уделять им более пристальное внимание на ранней стадии обучения или не стоит на них зацикливаться и хардтраить

возможно стоит изучать сам язык и рабочие инструменты к нему, а алгоритмами заниматься уже для повышения квалификации

Совместить. Изучать инструмент + популярные алгоритмы, которые Вы будите применять в ходе разработки в рамках данного инструмента. Больше инструментов > больше алгоритмов.
Ответ написан
@alekcena
Нелинейный наставник
Ну, я когда начинал не изучал алгоритмы.
На работу это не влияло.

Для меня в самом начале были важнее навыки:
1) Декомпозиция задачи на мелкие, мелкие задачи оказывается решить не так уж и трудно.
Правильно описанная задача это половина решения.
2) Правильно гуглить как решить мелкую задачу.
3) Просто изучать смежные темы.
На одном знание языка, далеко не уедешь, алгоритмы конечно круто.
В большинстве случаев, алгоритмы приходят сами.
Как говориться "Учитель приходит тогда, когда ученик готов.

Когда я чуть подкачался. Для меня важным навыком оказалось
1) Читать документацию, как не странно, в ней можно найти 99% проблем.
2) Понимать конструкции языка программирования, бегло его читая.
3) Не использовать крутые конструкции, если они усложняют чтение.
Да, этим грешат все, кто познал много крутых штук.
Но по факту они кроме как усложнение, ничего не делают.
4) Понимание, что ты работаешь не один, следует из пункта 3.
Код нужно писать что-бы его можно было прочесть.

А уже потом, ты изучаешь алгоритмы, и понимаешь, что ты и так их используешь.
Тк как что есть алгоритмы? Все есть алгоритмы.
Ответ написан
Griboks
@Griboks
Вас просто не возьмут на работу, если вы не сможете на собеседовании рассказать про алгоритмы и структуры данных. А о чём ещё вас будут спрашивать? Опыта ведь у вас нет, проектов тоже нет, мест работы тоже.
Ответ написан
Комментировать
@Vitsliputsli
Часто ловлю себя на мысли что не сразу могу описать решение задачи в виде кода

А сразу и не надо. Это только поначалу ощущение, что нужно сразу бежать писать код. Кодинг лишь одна из стадий разработки, зачастую не самая долгая, да и не самая интересная. И некое знание алгоритмов вряд ли здесь поможет, просто нужна тренировка.
Алгоритмы крайне важны для определенных типов задач, причем их не надо учить, просто нужно знать какие есть типы, чтобы при необходимости было понятно что искать. Прочитайте книгу "грокаем алгоритмы", это не перегруженная терминами нудятина, читается очень легко, и даст представление об основных направлениях.
Ответ написан
@ByJumping
Смотрел один подскаст сеньера (не помню имя спикера). Он донес очень короткую мысль. Если в работе нужны знания алгоритмов, значит нужно изучать. Если работа не связана в основном с большим объемом данных, то не нужно. Например во фронтенде в 95% случаев (примерно))) не нужны алгоритмы. Поэтому если брать ваш случай, нужно понять на работе они вам нужны или в будущем будут нужны?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы