Андрей
Высший разум
(398719)
2 месяца назад
В умении выбрать из десятков разных способов решения задачи (т.е. алгоритмов) вариант, адекватный техническому заданию.
Алгоритмы - это и есть начальная база. А язык программирования - всего лишь вспомогательный инструмент для записи алгоритма в понятном компьютеру виде.
Constantine
Мыслитель
(6155)
2 месяца назад
Обо всём. Зависит от уровня. Как минимум, надо уметь применять готовые инструменты. Это необходимо всем. Но также желательно понимать, как работают те или иные алгоритмы, оценивать их производительность в разных условиях, чтобы выбрать лучший, а порой и реализовать руками. Это нужно тем, кто хочет быть покруче. А ещё лучше хорошо знать математику и придумывать собственные алгоритмы. Это доступно немногим, но и ценится намного выше. Как-то так в первом приближении.
Senior Backend Developer
Оракул
(74638)
2 месяца назад
Все правильно, что пишут выше в принципе, единственное добавлю - все сводится к ключевому принципу к тому, что приложению нужно зарабатывать деньги. Бизнес желает, что бы можно было быстрее развиваться и добавлять новые фичи. Поэтому важна не временная сложность каких-то алгоритмов, а в первую очередь - их простота и понятность. Поэтому ключевой навык - поиск простых путей для решения сложных задач.