«Со смертью кодинга инженеры повернутся лицом к остальной части человечества»

Разработчик AnyPerks о будущей автоматизации программирования

Разработчик компании AnyPerks Лорен Мендоза написала на Medium заметку о том, что написание кода и профессия программиста переоценены и в будущем необходимость в них снизится.

Редакция vc.ru публикует перевод материала, выполненный командой студии мобильной разработки Live Typing.

С файлами на компьютере можно обращаться множеством способов. В основном людям удобно оперировать ими через визуальный интерфейс, поэтому они используют файловый менеджер Mac Finder. Но можно пойти другим путем и заморочиться с командной строкой в приложении Terminal. В работе с одной и той же информацией может быть несколько подходов.

Веб-приложения тоже могут быть представлены по-разному: в виде архитектурных диаграмм, макетов или в формате диалога. Мы, разработчики, постоянно имеем дело с кодом, но есть подозрения, что такой подход не самый интуитивный и продуктивный.

Когда-то я писала электронную музыку в программе Reason. В ней наглядно представлены связи между отдельными блоками: просто бери провод и тяни его из одного гнезда к другому. Этим она в свое время меня и покорила. Провода лучше выпадающих меню, которыми были заражены передовые программы 2000-х годов (по схожим причинам я очень люблю Adobe Flash CS3 Professional). С интерфейсом Reason я осознавала, что делала, поэтому музыки я создала больше, чем Flash-роликов.

Нам не хватает веселья

Не знаю, как так получилось, но в какой-то момент представители ИТ-сферы стали разработчиками, а из разработчиков получились инженеры программного обеспечения. Мне нравится, когда меня называют инженером: ещё бы, я же посвятила «обучению» три месяца. Вот только быть инженером — значит решать новые проблемы и копать глубже. Это интеллектуальная работа, на какую наша работа не очень похожа.

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

Воспроизводимость одного решения в похожих случаях — сильная вещь. Работники автомобильного завода получают на руки инструкции и чертежи, чтобы не создавать дизайн автомобиля с нуля, а повторить его, ничего не перепутав. Упрощение инструкций приводит к тому, что по ним может работать любой сотрудник, даже самый низкоквалифицированный. Впоследствии ему на замену приходит робот. Роботы делают скучную монотонную работу, они для этого и придуманы — инженеры же должны решать новые и интересные задачи.

Не накидать ли побольше CSS

Пожалуй, это неоспоримый факт: чем оригинальнее дизайн твоего интерфейса, тем сложнее людям в нем разобраться. Есть исправно работающие пользовательские сценарии, есть выбитый в камне визуальный язык. Так зачем выдумывать новый? Это контрпродуктивно.

Чтобы работа в интернете шла гладко, нам нужно использовать основные элементы и тасовать их для достижения цели: «металл, черный цвет, зло», «бизнес, респектабельность, голубой цвет», «хипстеры, веселье, Apple» или «мило, мама оценит». Несколько ключевых слов — и вот вам готовый стиль. И пропади оно пропадом — писать код, чтобы подвинуть что-то на пять пикселей.

Нужно умерить пыл

Написание кода у инженеров считается священным Граалем. «Правильные инженеры пишут код, — говорит правильный инженер. — Написание кода — как раз то, что делает тебя правильным инженером». Многие соединяют свое «эго», свою идентичность с тем, что они пишут код. Не исключено, что таким людям нужна помощь психолога, и я не шучу. Я сама становлюсь таким человеком.

Ни модно-молодёжный синтаксис, ни прокачанные навыки не делают человека хорошим инженером, и умнее он тоже не становится. Ты можешь быть одновременно отличным кодером и ужасным инженером. Но ещё несколько лет — и настоящую ценность обретут навыки быстрого, масштабируемого и творческого решения реальных проблем людей.

Кодить — это тупо

Кодинг предполагает опечатки. Более того, он дает простор для «творчества», и тогда код получается с душком. А вообще, код — в большинстве случаев попросту громоздкая штука. Инженеры копаются в синтаксисе, опечатках и отступах, проводят линтинг, исправляют ошибки, спорят о стилях и лучших практиках и создают ярлыки для того, чтобы часть кода писала себя сама. Это абсурд и трата времени.

Будущее близко

Подход GraphQL от Facebook в некоторых случаях снижает необходимость в бэкенд-разработчике и в ближайшие годы заменит собой привычный REST. Вы когда-нибудь задумывались, зачем между клиентом и базой данных воткнут сервер? С этим следовало бы уже завязать.

Стартап Algolia позволил улучшить поиск. Я не знаю, как они это делают, но точно знаю, что компьютер дешевле и лучше человека в вопросах оптимизации структурированных данных.

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

Инженеры по всему миру на один лад пишут аутентификации, системы обмена сообщениями и прочие бесконечные фичи, ставшие общим местом. И многие из них думают, что это круто.

Решение

Задача продуктового менеджера — сделать продукт таким, каким он должен быть, и не иметь никаких дел с кодом. Единственное, о чём нужно думать компаниям — об уникальности их разработки, а всё, что уже придумано, просто следует использовать заново. Всем, кто испытывает энтузиазм по поводу опенсорса, хочу сказать, что большинство проектов — отстой, они не поддерживаются и не используются компаниями-энтерпрайзами. Компании изобретают велосипед и делают двойную работу.

Сейчас я размышляю над таким интерфейсом, который по принципу drag-and-drop позволит создавать разработки со всеми нужными фичами, с клиентской и серверной частью и без строчки кода. Понятия не имею, как я буду это делать, но, думаю, пущу в ход уже упомянутые навыки работы с Adobe Flash CS3 Professional. Ладно, шучу. Скорее всего, я сделаю это на React.

Выгоды

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

Оздоровление инженерной среды

Разработчикам неистово переплачивают, и многие (в том числе и я) чувствуют свое право на те деньги и привилегии, которыми они (я) наслаждаются. На самом же деле разработчик не умнее и не лучше любого другого специалиста. Со смертью кодинга инженеры повернутся лицом к остальной части человечества, а не будут лишь маленькой прослойкой социально и экономически обособленных людей.

Что делать? Уходить в виртуальную реальность и созидать там. Я купила себе шлем HTC Vive и просто зависла, настолько это круто.

0
163 комментария
Написать комментарий...
Lex Lex

Еще с появления narod.ru периодически появляются статьи о том, что программисты больше не нужны.

Ответить
Развернуть ветку
Фаиз Мангутов

Ну так теперь уже для того чтобы создать простой интернет магазин программисты действительно не нужны.

Ответить
Развернуть ветку
Lex Lex

Но спрос на них не исчез.

Ответить
Развернуть ветку
Фаиз Мангутов

Предложение растет, стоимость работы падает и в ближайшее время сайты будут делать не инженеры, а какие нибудь контент менеджеры которые будут готовы за копейки делать простую монотонную работу.
Ну и в дальнейшем все это вытеснит ИИ.

Ответить
Развернуть ветку
Дмитрий Атеев

Их и сейчас делают контент менеджеры. Берется цмс типа битрикс, к ней там из админки все картинки-баннеры. Главное тексты и видео, вот тебе и интернет магазин. Программисты тоже нужны, но как правило для выявления вылезающих косяков. Такие обычно на фрилансе сидят и делают все за пару часов

Ответить
Развернуть ветку
Николай Костиков

Программисты нужны для написания сервисов, которые выполняют нестандартный функционал и берут за это очень нехилые деньги. Если вам нужно будет что-то, чего битрикс не умеет, то контент-менеджер не сделает это за вас. Так что спрос на разработку будет до тех пор, пока бизнес будет соревноваться друг с другом в УТП (а это сама суть конкуренции). Коробочные CMS нужны для точно такого же коробочного бизнеса.

Ответить
Развернуть ветку
Фаиз Мангутов

Ну вот раньше надо было сервис обратной связи самому писать или искать скрипты и встраивать их на сайт.

Теперь просто заходишь на страницу сервиса генерации форм и можно даже сгенерировать из этих форм интернет магазин))

Так же произойдет со всеми популярными функциями, а программисты-инженеры будут заниматься инженерией, а не черновой работой аля "сборщик автомобиля по чертежам"

Ответить
Развернуть ветку
Николай Костиков

Вы берёте самые элементарные задачи и на их основании утверждаете, что уже в самом ближайшем будущем программисты будут не нужны, но тут такое дело, что программирование куда шире, чем сваять форму обратной связи. Это вообще не программирование, а так, детские игры. Круг задач куда шире и никакими коробочными решениями там не пахнет.

Ответить
Развернуть ветку
Фаиз Мангутов

Это начало которое матерые программисты не замечают.

Все начинается с малого.
Когда будет более менее рабочий ИИ даже сложные не коробочные решения будут реально выполнимыми без программиста при помощи менеджера проекта.

Ответить
Развернуть ветку
Николай Костиков

Когда будет более-менее рабочий ИИ, люди будут отдыхать, а роботы работать, потому что он всё будет делать за них и это относится не только к программистам.

Ответить
Развернуть ветку
Фаиз Мангутов

ну программисты, юристы, шоферы и т.п. профессии где люди работают по жестким правилам первыми ощутят появлении ИИ.

Ответить
Развернуть ветку
Николай Костиков

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

Ответить
Развернуть ветку
Фаиз Мангутов

Вы не поняли смысла статьи и поэтому не понимаете нас.

Есть программисты которые в определенных рамках работают и пишут программы так же как на заводе рабочий собирает автомобиль по чертежа, а есть программисты-инженеры чья работа состоит "из проектирования архитектуры кода, и это в большей степени требует умения оперировать абстрактными понятиями и конструкциями."

Первых заменят "кирпичики", а вторых чуть позже ИИ.

Ответить
Развернуть ветку
Николай Костиков

Нет первых и вторых. Есть высококвалифицированные и низкоквалифицированные, а низкоквалифицированный труд в силу его простоты всегда и всюду автоматизировался, это касается каждой профессии в мире и происходит на протяжении примерно всей нашей истории. Мануфактуры заменялись конвеерами с подачи Генри Форда, лошади заменялись автомобилями. Но рынок ручной сборки как существовал, так и существует до сих пор. А главный юмор в том, что для участников этого рынка ситуация стала лучше, потому что ценность специалистов возросла в несколько раз из-за их малочисленности. И тот же человек, который пишет на ассемблере сейчас будет получать огромные деньги, потому что это очень высококвалифицированный труд, который никакие новомодные Свифты или Руби не заменят.

Ответить
Развернуть ветку
160 комментариев
Раскрывать всегда