скажем так, сегодня гораздо выше ценятся архитектурные навыки, навыки паттернов, навыки, которые позволяют заниматься экстремальным программированием (solid, design patterns, DDD), нежели написание алгоритмов. Никто в большинстве бизнесов не будет заниматься доведением кода до идеала, обычно делается простая версия решения, оборачивается в некую стратегию, потом по ходу заменяется более идеальной реализацией. Сложные вещи обычно можно отложить на потом, если уметь правильно структурировать и организовывать код. Но это лично мое имхо.