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

Автор разбирает, что отличает software engineering от программирования: инженерный подход — это итеративный процесс выбора решения на основе оценок, их проверки и обратной связи. На примере ускорения страниц товаров он показывает, как измерение проблемы, сравнение альтернатив и анализ расхождений между прогнозом и результатом превращают интуитивную догадку в обоснованное инженерное решение.
Инженерные решения опираются на оценки, поэтому качество решения зависит от качества оценок.
- mikewarot
> Фактически, в некоторых канадских провинциях такие должности в сфере вычислений, как «software engineer», «computer engineer» и другие, содержащие слово «engineer», (в принципе) зарезервированы за людьми, имеющими лицензию инженера от провинциального регулятора.
Самая рациональная позиция. Такую следовало бы ввести и у нас в США.
Правка: Да, я утверждаю, что Software Engineer должна быть лицензируемой профессией, а programmer — нет, и это было бы отличной заменой в случаях, когда строгость не нужна.
--
Если бы я был инженером, я бы ни за что не доверил ни один интерфейс к системе управления водоочистной станцией, который подключён к интернету и допускает внешнее управление. Просто как пример.
Взлом OPM в 2015 году[1] — худший случай с точки зрения национальной безопасности, который ясно доказывает, что никакие инженеры не участвовали в проектировании их компьютерной системы. Внешнее управление должно быть абсолютно запрещено, а этого не было. Не знаю, зачем эту базу данных вообще перевели в компьютер вместо картотечных шкафов в хранилище, и почему её вообще подключили к какой-либо другой системе, а не полностью изолировали в этом хранилище с ручным контролируемым извлечением данных по запросу.
[1] https://en.wikipedia.org/wiki/2015_Office_of_Personnel_Manag...
- randysalami
Я думаю, что только часть работы с ПО является инженерией, и если я называю себя software engineer (в контексте моей работы), то потому, что это действительно «систематический, дисциплинированный, измеримый подход к разработке, эксплуатации и сопровождению программного обеспечения». А не просто отговорка. В противном случае я кто-то другой — со словом software в названии или даже без него (даже если я работаю с ПО). Вне работы я по своей сути считаю себя software engine, но если работа требует, я без проблем отношусь к этому как к чему-то меньшему.
- woah
Если ты не можешь подобрать подходящие саженцы и ветки с нужной упругостью, чтобы построить мощную баллисту в любом регионе Европы, или спланировать и провести подкоп под крепостной стеной, ты не можешь называть себя инженером. ТОЧКА
- tfrancisl
Использование инженерного процесса проектирования делает это инженерией.
- kerblang
Автор начинает с описания кризиса сложности, который люди пытались решить на конференции NATO SEC в 1968 году, но затем говорит об инженерии как о решении задач, включающем расчёты и кэши.
Неудивительно, что кризис сложности продолжается? Зависимости выходят из-под контроля в современных системах, порождая всевозможный хаос, включая проблемы безопасности. Академия, похоже, мало этим интересуется.