1) Фарс бизнес-приложений :
Я думаю, что вся структура "Предприятия" - это дым и зеркала. J2EE, .NET, большинство фреймворков Apache и большинство абстракций для управления такими вещами создают гораздо большую сложность, чем решают.
Возьмите любую обычную Java или .NET ORM или любую якобы современную инфраструктуру MVC, которая делает «магию» для решения утомительных и простых задач. Вы заканчиваете тем, что пишете огромное количество уродливого шаблона XML, который трудно проверить и написать быстро. У вас есть массивные API, половина из которых предназначена только для интеграции работы других API, интерфейсов, которые невозможно переработать, и абстрактных классов, которые нужны только для преодоления негибкости Java и C #. Нам просто не нужно больше всего этого.
Как насчет всех различных серверов приложений с их собственным проклятым синтаксисом дескриптора, слишком сложной базой данных и продуктами для групповой работы?
Дело не в том, что сложность == плохая, а в том, что ненужная сложность == плохая. Я работал в крупных корпоративных установках, где некоторые из них были необходимы, но даже в большинстве случаев для решения большинства случаев использовались несколько сценариев собственного производства и простой веб-интерфейс.
Я бы попытался заменить все эти корпоративные приложения простыми веб-фреймворками, БД с открытым исходным кодом и простыми конструкциями программирования.
2) Требуется n-летний опыт работы:
Если вам не нужен консультант или технический специалист для решения конкретной проблемы, связанной с приложением, API или инфраструктурой, то вам действительно не нужен человек с 5-летним опытом работы в этом приложении. Что вам нужно, так это разработчик / администратор, который может читать документацию, у которого есть знания предметной области во всем, что вы делаете, и который может быстро учиться. Если вам нужно разработать какой-то язык, достойный разработчик поднимет его менее чем за 2 месяца. Если вам нужен администратор для X веб-сервера, через два дня он должен был прочитать справочные страницы и группы новостей и быть в курсе. Все меньше, и этот человек не стоит того, что ему платят.
3) Общая учебная программа по специальности «Информатика»:
Большинство степеней информатики и разработки программного обеспечения - бык. Если ваш первый язык программирования - Java или C #, то вы делаете что-то не так. Если вы не получаете несколько курсов, полных алгебры и математики, это неправильно. Если вы не углубляетесь в функциональное программирование, оно неполное. Если вы не можете применить инварианты цикла к тривиальному циклу for, вы, как предполагаемый специалист по информатике, не стоите затрачивать столько сил. Если у вас есть опыт работы с языками x и y и ориентацией на объекты, он полон s ***. Настоящий ученый-компьютерщик видит язык с точки зрения понятий и синтаксисов, которые он использует, и рассматривает методологии программирования как одну из многих и обладает таким хорошим пониманием основополагающих принципов, как выбор новых языков, методов проектирования или языков спецификаций. быть тривиальным