Как известно, в мире разработки ПО нет серебряной пули, и даже обычную пулю надо долго искать. Пули в мире ПО делают обычно из говна, потому что материала в изобилии, а технология его производства всасывается с молоком матери. Итого, если отбросить все маркетинговые заморочки, оборачивающие пули в конфетную обертку, и вскрыть сермяжную правду, получаем следующие тезисы.
- Откатоемкие технологии, где ынтырпрайзные коробки стоят миллионы бабла за каждое процессорное ядро, популярны не только в этой стране, а только разве что не в Антарктиде.
- При этом вся простота настройки и работы с ними существует только в воображении чувачков из отдела продаж, которые и продукта-то не видели. Для правильной установки и настройки нужно прочитать два талмуда, поиграться в конструктор типа генты, только все делать руками. Хорошо еще посетить пару платных курсов, где настраивать покажут после долгого трепа о достоинствах продукта.
- Нет, конечно, бывает автоинсталлятор, который круто смотрится на скринкастах и презентациях, и который даже работает иногда, но в реальном применении после него нужно править почти все.
- На самом деле можно ходить на курсы, прочесть все книжки и не узнать главного нюанса, из-за которого все либо глючит, либо тормозит, либо не работает на данной конкретной конфигурации. Для этого нужно нанимать чувака, у которого с этой системой 10 лет полового опыта. Судя по желаемой зарплате, чувак питается фуа-грой вместо гречки.
- Исходники программ не хотят открывать в основном не из-за патентов (таких контор, будем-ка честны, единицы), а из-за того, что код адски отвратителен, дыряв и вызывает рвоту.
- Если большой многоцелевой программный комплекс написан на одном языке, во имя святой унификации и простоты сопровождения, половина кода будет представлять собой жуткие костыли и упражнения по использованию надутого презерватива в качестве дирижабля — даже самый универсальный язык не учитывает специфики всех возможных задач.
- Если большой многоцелевой программный комплекс написан на разных языках, во имя использования оптимального инструмента для каждой задачи — половина кода будет представлять собой жуткие костыли для интеграции всего этого барахла — обертки, скрипты еще на нескольких языках, а список зависимостей будет длиной с Юлькин приговор.
- Документации много не бывает. Ее в основном вообще не бывает, в частности там, где она действительно нужна.
- Никогда не надо говорить, каково целевое разрешение экрана, при постановке задания на заказное ПО. Хотя спрашивать будут. Потом окажется, что с другим разрешением ПО не способно работать в принципе.
- Во время получасового даунтайма в связи с апгрейдом системы для пользователей этой самой системы главное — каждый день на работу приходить вовремя, а вдруг наконец-таки проапгрейдили.
- Те, кто практикуют апгрейд без даунтайма, обычно умалчивают, сколько времени длится цирк после такого апгрейда. А глюки там порой феерические, из-за того, что не весь код сразу раздуплил, что часть его проапгрейдили.
- Особая веселуха — это когда горячий апгрейд работающую программу настроит, и подымет все что надо, а постоянный конфиг и автозапуск прописать забудет. Перезагрузка-то рано или поздно случится.
- Несмотря на то, что только ленивый не кричит на всех углах, что у него-де TDD и покрытие тестами 100%, качество ПО деградирует просто-таки стремительно. Где они только набирают столько багов, с таким скрупулезным-то тестированием?
Добавляйте своего пессимизма, дамы и господа.