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