1) Фарс ділових додатків :
Я думаю, що вся річ "Підприємства" - це дим і дзеркала. J2EE, .NET, більшість фреймворків Apache та більшість абстракцій для керування такими речами створюють набагато більшу складність, ніж вони вирішують.
Візьміть будь-яку звичайну Java або .NET ORM або будь-яку нібито сучасну основу MVC, яка робить "магію" для вирішення виснажливих, простих завдань. Ви в кінцевому підсумку пишете величезну кількість некрасивих шаблонів XML, які важко перевірити і швидко записати. У вас є масивні API, де половина з них полягає лише в тому, щоб інтегрувати роботу інших API, інтерфейсів, які неможливо переробити, та абстрактних класів, які потрібні лише для подолання гнучкості Java та C #. Нам просто цього не потрібно.
Як щодо всіх різних серверів додатків із власним синтаксисом затьмареного дескриптора, надмірно складними продуктами бази даних та групового програмного забезпечення?
Сенс цього не в тому, що складність == погана, це в непотрібній складності == погано. Я працював у масових корпоративних установах, де деякі з них були необхідні, але навіть у більшості випадків кілька домашніх сценаріїв і простий веб-інтерфейс - все, що потрібно для вирішення більшості випадків використання.
Я б спробував замінити всі ці корпоративні програми простими веб-рамками, БД з відкритим кодом та тривіальними конструкціями програмування.
2) Необхідний досвід n-років:
Якщо вам не потрібен консультант або технік для вирішення конкретних проблем, пов’язаних із додатком, API або рамкою, вам дійсно не потрібен хтось із 5-річним досвідом роботи в цій програмі. Вам потрібен розробник / адміністратор, який може читати документацію, володіє знаннями про домен у тому, що ви робите, і який може швидко вчитися. Якщо вам потрібно розробити якоюсь мовою, гідний розробник підбере її менш ніж за 2 місяці. Якщо вам потрібен адміністратор для веб-сервера X, за два дні він повинен прочитати підручні сторінки та групи новин та бути швидким. Нічого менше, і ця людина не варта того, що йому платять.
3) Загальна навчальна програма ступеня "інформатика":
Більшість ступенів інформатики та інженерії програмного забезпечення - це бики. Якщо ваша перша мова програмування - Java або C #, ви робите щось не так. Якщо ви не отримаєте кілька курсів з алгебри та математики, це неправильно. Якщо ви не заглиблюєтесь у функціональне програмування, воно неповне. Якщо ви не можете застосувати циклічні інваріанти до тривіального для циклу, ви не варті своєї солі як передбачуваний комп'ютер. Якщо у вас є досвід роботи з мовами x та y та орієнтація на об'єкт, він повний s ***. Справжній вчений-комп’ютер бачить мову з точки зору понять та синтаксисів, які вона використовує, і розглядає методології програмування як одну з багатьох, і має таке добре розуміння основних філософій обох, що вибір нових мов, методів проектування або мов специфікацій повинен бути тривіальним.