Все дело в том, что разработка ПО — это не просто алгоритмы или языки.
1. Во-первых, сводить все к знанию только одних алгоритмов — это дохлая затея. Если программист не разбирается, к примеру, в сетевых технологиях, не понимает, как работает операционная система и тд — ему не поможет знание quicksort и всех структур данных.
Так, если программист не владеет пониманием доступных ему в *nix среде готовых инструментов и пишет свой (для запуска джобов — свой крон изобретает, условно) — то это труба. Или человек не понимает устройства сетей, и даже не может предположить, что у него в веб-приложении не грузится определенная часть данных из-за неверно прописанных роутов или лагающего DNS-сервера.
2. Во-вторых, без опыта использования реальных стэков технологий (как ПО, так и осей/железа) программист с крутыми теоретическими знаниями может блистать на топкодере, но залажает примитивнейшую задачу по созданию масштабируемого приложения.
Читать далее |