Почему разработка ПО — это инженерия, а не просто написание кода

What makes software development engineering

Почему разработка ПО — это инженерия, а не просто написание кода

Автор разбирает, что отличает software engineering от программирования: инженерный подход — это итеративный процесс выбора решения на основе оценок, их проверки и обратной связи. На примере ускорения страниц товаров он показывает, как измерение проблемы, сравнение альтернатив и анализ расхождений между прогнозом и результатом превращают интуитивную догадку в обоснованное инженерное решение.

Инженерные решения опираются на оценки, поэтому качество решения зависит от качества оценок.
  1. mikewarot

    > Фактически, в некоторых канадских провинциях такие должности в сфере вычислений, как «software engineer», «computer engineer» и другие, содержащие слово «engineer», (в принципе) зарезервированы за людьми, имеющими лицензию инженера от провинциального регулятора.

    Самая рациональная позиция. Такую следовало бы ввести и у нас в США.

    Правка: Да, я утверждаю, что Software Engineer должна быть лицензируемой профессией, а programmer — нет, и это было бы отличной заменой в случаях, когда строгость не нужна.

    --

    Если бы я был инженером, я бы ни за что не доверил ни один интерфейс к системе управления водоочистной станцией, который подключён к интернету и допускает внешнее управление. Просто как пример.

    Взлом OPM в 2015 году[1] — худший случай с точки зрения национальной безопасности, который ясно доказывает, что никакие инженеры не участвовали в проектировании их компьютерной системы. Внешнее управление должно быть абсолютно запрещено, а этого не было. Не знаю, зачем эту базу данных вообще перевели в компьютер вместо картотечных шкафов в хранилище, и почему её вообще подключили к какой-либо другой системе, а не полностью изолировали в этом хранилище с ручным контролируемым извлечением данных по запросу.

    [1] https://en.wikipedia.org/wiki/2015_Office_of_Personnel_Manag...

  2. randysalami

    Я думаю, что только часть работы с ПО является инженерией, и если я называю себя software engineer (в контексте моей работы), то потому, что это действительно «систематический, дисциплинированный, измеримый подход к разработке, эксплуатации и сопровождению программного обеспечения». А не просто отговорка. В противном случае я кто-то другой — со словом software в названии или даже без него (даже если я работаю с ПО). Вне работы я по своей сути считаю себя software engine, но если работа требует, я без проблем отношусь к этому как к чему-то меньшему.

  3. woah

    Если ты не можешь подобрать подходящие саженцы и ветки с нужной упругостью, чтобы построить мощную баллисту в любом регионе Европы, или спланировать и провести подкоп под крепостной стеной, ты не можешь называть себя инженером. ТОЧКА

  4. tfrancisl

    Использование инженерного процесса проектирования делает это инженерией.

  5. kerblang

    Автор начинает с описания кризиса сложности, который люди пытались решить на конференции NATO SEC в 1968 году, но затем говорит об инженерии как о решении задач, включающем расчёты и кэши.

    Неудивительно, что кризис сложности продолжается? Зависимости выходят из-под контроля в современных системах, порождая всевозможный хаос, включая проблемы безопасности. Академия, похоже, мало этим интересуется.

Ещё за этот день

2026-09-29