К основному содержимому
#Management

Is Software Engineering Real Engineering? • Hillel Wayne • GOTO 2023

#Management #Leadership #Engineering #Software #Philosophy

Это выступление Hillel Wayne пытается ответить на философский вопрос: software engineer - это тварь дрожащая или право имеет называться инженером:) Этот вопрос появился из цитат ученых по computer science навроде цитаты Gerald Weinberg

If builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization. Ну и в тему этой цитаты автор вспоминает историю с leftpad.

Для поиска ответа автор пошел через опросы настоящих инженеров, которые одновременно работали в области software engineering, а дальше устроил им интервью с тремя вопросами

I. Are we really engineers? II. How similar are we to engineers? III. What can we learn from each other?

  1. Первый вопрос потянул за собой выяснение термина "engineering", на который было три варианта ответа: physical, consequential, licensed. Дальше автор разбирает каждый пункт и приводит примеры, отвергая все гипотезы. В итоге, остается самое простое, что engineering - это то, что делают инженеры ("what engineers do"). Забавная рекурсия:) Тут еще автор проходится по подходу "Software craftmanship", в котором авторы пытались отстроится от традиционных инженерных дисциплин (без понимания того, как они работают).

  2. Дальше автор переходит к сходствам и отличиям между software engineering и традиционными инженерными областями. В итоге, получается, что

  • В сходствах: итеративность, высокая степень непредсказуемости, неформальность (в традиционных дисциплинах не всегда)
  • В различиях: скорость изменений - быстрая в software и медленная в традиционных инженерных дисциплинах, наличие жестких ограничений (в традиционных дисциплинах - это законы физики), консистентность - в диджитал мире корректно написанная программа будет работать, а в реальном мире работоспособность зависит от окружающих условий (температура, давление, ветер, ...) В общем, тут тоже отличия не критичны.
  1. Ну и последний вопрос, а чему мы можем научиться друг у друга Здесь автор отмечает два момента:
  • Up-front planning time
  • Responsibility Забавно, что с этим сталкиваются все, кто проектируют API и контракты, систему плагинов или любой as-a-Service продукт.

В итоге, автор приходит к выводу о том, что если мы хотим себя называть инженерами, то никто нам не может помешать это делать:)

#Management #Leadership #Engineering #Software #Philosophy