Портал №1 по управлению цифровыми
и информационными технологиями

Инженеры ли вы?

Не только в Кремниевой долине широко используется термин “инженер”, чтобы обозначить технического специалиста. Любой, кто не относится к продажам, маркетингу или проектированию в ИТ – это он.

“Мы ищем инженеров” – похожее объявление можно увидеть в разделе вакансий какого-нибудь стартапа. Что может означать, что угодно: от программиста Java Script до специалиста по робототехнике. Правильно ли это? И кто это – инженер в разработке? На эту тему в своей заметке рассуждает Ян Богост (Ian Bogost), академик и член редакции технологического раздела портала The Atlantic.

Термин, вероятно, является сокращением от “инженера по программному обеспечению”. Инженер – это звучит гордо. При этом в отношении “классических” инженеров действуют определённые нормы и правила, требования к сертификации, постоянному образованию. Инженерные дисциплины заявляют, что несут ответственность за общественную безопасность и надёжность. А ИТ вследствие широкого использования где ни попадя обесценивают понятие “инженер”…

На протяжении последних лет невозможно не заметить масштабные сбои в работе программного обеспечения. Утечки данных в таких видных компаниях, как: Target, Home Depot, BlueCross BlueShield, Anthem, Harvard University, LastPass показывают лишь небольшую часть проблем с информационной безопасностью, вызванных современными компьютерными системами. Но эти проблемы являются наиболее актуальными и запоминающимися. Системы могут таить риски как для отдельного человека, так и для общества, риски, на которые мы никогда не пошли бы в более осязаемых конструкциях – таких как мосты, здания, электростанции, системы противоракетной обороны. Обновление Apple iOS 9 приводило к “окирпичиванию” некоторых телефонов, делая невозможным их дальнейшее использование. Web-сервисы, например Google Docs, иногда таинственным образом “падают”, оставляя пользователей, чья работа зависит от них, в большой беде.

Информационные технологии стали инфраструктурой, но они не работают, как инфраструктура, замечает Ян.

Когда речь заходит о зданиях, сооружениях, мостах, электростанциях, лифтах и прочем, инженерные дисциплины были и будут по-прежнему определяться как профессиональными стандартами, так и требованиями к опыту и обязанностям инженеров. Но попытки в течение 50 лет превратить разработку программного обеспечения в одну из инженерных практик потерпели неудачу.

К 1960-м годам крупные системы Министерства обороны США в основном управлялись компьютерами. Но создание таких систем было потрясением – сорванные сроки поставки, превышение бюджета, ненужная сложность полученного продукта. В конце десятилетия Научный комитет НАТО выступил спонсором двух конференций, посвященных разработке инженерного подхода к созданию программного обеспечения.

Отчёт конференции 1968 года говорит о том, что сама фраза “программная инженерия (software engineering)” является провокационной, подразумевая необходимость разработки программного обеспечения на основе теоретических основ и практических дисциплин – как в обычном инженерном деле. Создание программного обеспечения не имело и не имеет ничего общего с промышленным производством или строительством, где изменения сложно или невозможно внести после первоначального воплощения. И почти через 50 лет после конференций Научного комитета НАТО, некоторые из предупреждений его участников по-прежнему актуальны. «В конкурентной гонке, чтобы предоставить заказчикам новейшие технологии, мы совершаем большие прыжки в пропасть неизвестной ширины и глубины». Похожие ощущения сохраняются и сегодня.

В поздних 70-х, с появлением персонального компьютера произошла компьютерная революция: каждый, кто обладал ПК, мог и программировать на нём. Такая демократизация разработки вызвала, в свою очередь, революцию в среде пользовательского и бизнес-ПО. И увеличила риски. Разработка систем класса MS Excel или бэк-офисной системы авиакомпании сродни строительству моста или здания. Такие случаи требуют инженерного подхода. В то время как проба пера в программировании, создание приложения для скачивания в BBS (теперь – магазин приложений) – нет. Неформальность в разработке программного обеспечения еще больше ускорилась с ростом Интернет, начиная с середины 90-х годов, и продолжается по сегодняшний день.

При этом, продолжает Ян, попытки движения в сторону формализации требований и применения инженерного подхода к разработке ПО есть. Так, например, Национальная Палата экзаменаторов в области инжиниринга и инженерных изысканий (NCEES) США начала предлагать тестирование для инженеров-программистов. Экзамены были подготовлены в сотрудничестве с IEEE, который поддерживает Центр знаний по программному обеспечению (SWEBOK).

Вполне возможно, череда серьёзных сбоев программного обеспечения приведёт к изменению общественного мнения. Появится запрос на изменение и реформирование стандартов разработки ПО. И постепенно дело дойдёт и до правильного названия профессий. Ну не называем же мы графического дизайнера или управляющего хедж-фонда инженерами. Разве они создают что-то, связанное с инфраструктурой, что-то связанное с интересами всего общества?

В Канаде многие инженеры-строители носят железное кольцо, символизирующее этические обязательства, которые налагает на них их профессия. По легенде кольца сделаны из металла обрушившегося при строительстве Квебекского моста. Инженеры несут бремя ответственности перед обществом, и их конкретный опыт в качестве конструкторов и строителей мостов или зданий – или программного обеспечения – произрастает из этой ответственности. Только после принятия этого факта инженер построит что угодно: будь то мосты, здания или программное обеспечение.

Комментариев: 1

  • AlexanderK

    Мысль про социально ответственное ведение бизнеса (IT-related) или выполнение отдельных видов деятельности (software development)? Как-то в кучу всё у автора: и информационная безопасность не такая, и риски какие-то мало кем осознанные. А в итоге и инженеры не инженеры, ну или, как минимум, пусть так себя не называют 🙂 Забавно.

    P.S. “The title “engineer” is cheapened by the tech industry.” ≠ “А ИТ-технологии вследствие широкого использования где ни попадя обесценивают понятие «инженер»…”. Да и “ИТ-технологии” это прям что-то … 🙂


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

DevOps
Kanban
ITSM
ITIL
PRINCE2
Agile
Lean
TOGAF
ITAM