Раз заговорили про ответственность, давайте глубже.

За кадром в интересах другого эссе оставлю тему “а за что же отвечает-то программист”, ибо велика она, необъятна и по всей поверхности обмазана программистами, не желающими ни за что отвечать. Предположим, что общественность содрогнулась разумом и смогла сформулировать эти зоны. Скажем, раз ты эту строчку кода написал, ты за неё и отвечаешь. Раз ревьюирующий её вмёржил в мастер, он ТОЖЕ отвечает. И так дальше по цепочке до руководителей, пустивших код в продукт наружу. Утопия прям, ага.

Предположим, что в УК ввели статьи, предусматривающие наказание от 1 года до 15 лет за решёткой. А также ввели в культуру производства штрафы за то, что в УК не уместилось. Тут важно уточнить, что введут именно про программистов и для программистов, так-то и сейчас можно залететь на общих основаниях, если под режимом или по хитрому договору. А предположение затронет всех и везде. Твой код убил людей? Садись. Твой код привёл к простою завода на сутки? Штраф на пару пожизненных. Твой код продолбал миллион полезных чисел? Ну вот миллион и плати. Жёстко, угрюмо, но для модели самое то. К чему это приведёт?


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

И да, первые громкие дела будут болезненными. Мало внести изменения в УК, надо воспитать поколения, привыкшие к ответственности. Пока воспитываются новые, будут страдать старые, ползущие в будущее на старой инерции. Бунты будут проходить под лозунгами “мы всегда так делали!”, “деды не тестировали и мы не будем!”, “все ошибаются, сажайте страну!”

В “сажабельной” оклады будут выше. Просто потому, что кадров у них будет намного меньше. А во “всем пофиг” оклады могут упасть, т.к. они в свою очередь испытают резкий рост кандидатов, готовых работать даже с понижением (лишь бы не посадили). Но не сразу. Долгий период игры и контрактов по новым правилам. Не все работодатели и не сразу осознают, что уже через сутки без дополнительной мотивации у них вообще никто на работу не выйдет, потом от испуга задерут оклад до небес, потом индустрия обвыкнется и нормализует. Но эти качели с дикими индивидуальными случаями войдут в легенду.

Резко скакнёт вверх рынок сертификаций как софта, так и людей. Законодательство может не сразу успеть за практикой, но подтянется (уж что, а регулировать государства любят). Если можно будет делегировать ответственность на других, появятся как другие, так и плата за их услуги. Хотите использовать последнюю версию MongoDB? Либо на свой страх и риск используйте, либо ждите, пока сертифицирующий центр её проверит, поставит штампик “ОТК принял”, после чего и. И даже если баги там окажутся, и даже если из-за них нанесён ущерб, вы уже не отвечаете, ответит центр.

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

Программисты научатся говорить “нет”, а бизнес научится их слышать. Тут в целом начнётся интересный психологический сдвиг. Одно дело со стороны рассуждать о том, что тебя не касается и не коснётся. Другое дело не встретить сегодня на работе Васю потому, что он в суде приговор выслушивает. А через месяц увидеть offline у Вани, который в бегах в тайгу подался, дабы не выплачивать огромный штраф. Пока снаряды за горизонтом, сарказьм сарказьмирует, но тут-то они в окошко постучат, сразу интереснее жить и думать.

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

Но так будет не со всеми. В Китае 46 преступлений, за которые смертная казнь (от коррупции до наркотиков), всё равно 5000 казней в год. В новой разработке тоже найдутся камикадзе. Первыми падут те, кто не понял, что шутки кончились. Ребята, которым надо пять раз сказать “не влезай, убьёт”, а они всё равно на шестой раз влезут, т.к. надо было сказать семь раз. Падут оставшиеся под стрелой за бабло, но без умения обеспечить качество. Падут случайные и племяши знакомых, которых не успеют вычистить руководители. Также падут и руководители, переоценившие уровень своей разработки и решившие, что с той же пионерской бригадой можно жить в новом мире. Жатва будет собираться ежегодно, прореживая контингент.

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

Возможно, активизируется рынок “заградительных” решений. Более тонкие анализаторы кода, многослойное автоматическое тестирование, автоматические проверки безопасности, легко разворачиваемые стенды проверки на отказоустойчивость. Это тоже может породить свою нишу, в которой специализированные конторы смогут предоставлять недорогие облачные решения и сервисы, прохождение которых тоже могут прикрутить к сертификату качества.

Но всё равно ошибки будут. Меньше на пару порядков, а просочатся. Каждый такой случай будет вызывать шумиху в прессе и в тусовочке, раз за разом поднимая волну. Но общество, обнаружившее, что в каждом углу по десять программ (от прошивки утюга до “прошивки” Боинга), за сбои в работе которых наконец-то можно кого-то наказать, будет так же раз за разом эту волну гасить.


В целом любопытная штука с непредсказуемым результатом. Пользователи могут получить возможность выбрать софт, который надёжнее, а не тестировать вместо разработчиков на себе. Разработчики могут выбрать между режимами жизни и отношением к. Работодатели получат более жёсткую выборку квалификаций без рандомного подбрасывания монетки. А может всё оказаться и наоборот, если звёзды сойдутся. Если разрабатывать программы под УК настолько медленно, что рынок не согласится столько ждать и публично подпишется на “мы готовы терпеть ваш говнокод, просто сделайте это вчера”? Или программисты массово сбегут в какую-нибудь Нигерию, в которой всем будет плевать на подобное законодательство?

Уверен в одном: что-то меняться будет. Толчком послужит всё большее вливание AI в быт. Роботы-хирурги. Роботы-такси. Роботы-няньки. Роботы-пожарные. Роботы-строители. Они тоже будут ошибаться, их ошибки будут приводить к смертям. И в какой-то момент накопится такое количество смертей, после которого общество захочет кого-нибудь посадить. И не один раз, а системно. Тут-то о программистах и вспомнят. И я чёт пока для себя никак не могу решить, в какую из контор после этого хотел бы пойти, в “сажабельную” или во “всем пофиг”.