Всем привет.
Программировать я очень давно начал. Помню, как мне папа, прочитав журнал, вытравил плату и купил микросхемы, и, используя два больших калькулятора для бухгалтеров, разрезав их и склеив, собрал мне ZX Spectrum. У меня отец работал в Толмачёво инженером, который обслуживал большие ЭВМ и тренажёры для лётчиков "Аэрофлота".
В общем, я был, наверное, первый счастливчик в Новосибирске, у кого был персональный компьютер дома. Тогда ещё бизнесмены не успели продавать ZX Spectrum и кассеты к нему с играми, а у меня уже всё было. Я помню, как первые программы я не на кассетный магнитофон записывал, а на большой катушечный, сорри, не помню, как называется, но явно не магнитола и явно не магнитофон.
Я помню, первую программу продал кабельному телевидению. Она была написана на Бейсике, и там был простой интерфейс: вводишь номер объявления и текст, и так можно 10 объявлений задать. Потом запускаешь, мол, делай бегущую строку, и на кабельном телевидении моя программа внизу под фильмами бегущей строкой показывала рекламные сообщения.
Когда моего отца спросили, мол, как отблагодарить ребёнка, или можно бесплатно, отец сказал: "Ни в коем случае. Его спросите, что он хочет за проделанную работу". И я тогда, помню, запросил 10 рублей! И мне их оплатили! Вот было счастье при зарплате обычного работяги 100- 200 или инженера 200-300 рублей в месяц.
В общем, технологии шли вперёд, и у меня появился дисковод. Это было бомба! Не надо ждать 5 минут, когда с кассеты или с катушек загрузится программа. Программа грузилась за секунды!
Потом у меня появился IBM PC 286. В общем, как вышло: в России была приватизация, и всем раздали ваучеры. У меня была возможность его продать за 10 рублей. И, кстати, отец сказал, что не будет меня лишать будущего и выбора и даст мне самому распорядиться ваучером. И помню, как я, придя в место, где можно было обменять ваучер на акцию, меня, как 18-летнего пацана, спросили, куда я вложил ваучер. Потом меня показали по местному ТВ, и все девчонки во дворе кричали мне в форточку: «И как ты вложил ваучер?»
Ну, в общем, я, когда отца спрашивал, куда его вложить, он мне сказал такую вещь: "Вот смотри, ты ваучер вкладываешь, и предприятие, в которое ты вложил, равномерно по вложенным ваучерам раздаёт свои акции". В итоге я понял: если я вложу в предприятие, которое никому не нужно, то получу на свой ваучер максимум акций. И я выбрал "Трансметалл". Спросил у девушки в окошке, мол, в какое предприятие ещё не вкладывали ваучер. Она сказала, что все вкладывают в "Газпром" и так далее, а вот в "Трансметалл" никто. Ну вот я туда ваучер и вложил.
По итогу через год мне приходит письмо, мол, мы компания такая-то, скупаем акции для контрольного пакета, и вам такие деньги обещаем. Спрашиваю отца, что делать. Он говорит: "Сынок, если они контрольный пакет купят, то потом, имея акции, ты даже дивидендов не увидишь. Они всё через подставные фирмы выведут". Ну, в общем, я сходил на предприятие, и они сказали: "Вот ты офигеть, у тебя столько акций, что даже те, кто у нас всю жизнь работали, им и такого даже близко не дали".
По итогу я продал все акции и спросил отца, что делать. Он сказал: "Купи вот рядом с домом 3 овощехранилища на этапе стройки". Но я выбрал другое: купил IBM PC 286 и был счастлив. Это мега-мощный компьютер со своим монитором и с жёстким диском на несколько мегабайт! А батя потом через 4 года меня спросил: "Вот помнишь, ты мог 3 ячейки овощехранилища купить?" Я говорю: "Помню". "Скажи, сколько сейчас они стоят?" Я ответил, что в 10 раз больше. И он сказал: "И сколько бы сейчас компов мог бы купить?" Я говорю: "10 штук". Но я сделал свой выбор, не жалею. Это задало мою профессию и трек в жизни.
В итоге я на этом новом компе освоил Си и ассемблер. Помню, как я первый вирус создал, и в теле вируса написал тем, кто антивирусы пишет, мол, а может ли быть компьютерный вирус полиморфным, и будет ли он сам эволюционировать и развиваться. Помню, было приятно получить ответ в отчётах версии антивируса, мол, отвечаем на вопрос от создателя вируса такого-то: не может быть, чтобы компьютерный вирус смог, как живой, эволюционировать.
Дальше был университет. Первый взрыв мозга, это SQL! Я сидел и читал книгу в университетской библиотеке, как делать SQL-запросы, и как это просто, понятно и круто. Потом у меня были семестры по Си и C++, где Романов Евгений объяснял, что такое алгоритмы и сортировки разными способами. Потом была преподавательница Лилия Макаревич, которая меня погрузила в мир Java. Как это круто, быстро писать и не париться со срывом стека и так далее.
Потом был профессор в магистратуре, который мне объяснял, что такое нейронная сеть, что такое перцептрон и как строят компьютерное зрение. Мол, ИИ-модели жрут много CPU, и когда на вход подаётся большая картинка, то ИИ едет по картинке небольшим окошком по 40 на 40 пикселей, и если она увидела всплеск, что тут вертолёт, то в логе пишет: вот в таких координатах на фото был вертолёт!
Далее я, учась в магистратуре, познакомился с Сергеем Резинкиным. Он занимался тем, что в его фирме использовали Rational Rose, где они накидывали UML-диаграммы, а потом генерировали CRUD-код! Понятно, что он был не оптимальным и так далее, но 90% кода они генерировали, а потом тупо правили, дописывали и допиливали. Ничего вам не напоминает про кодогенерацию в наше время с ИИ-агентами? :)
Потом я попал в геодезическую компанию и на Java освоил технологию EJB и JBoss-фреймворк. Вот был взрыв мозга. Всё для тебя придумали: просто пиши минимальный код, а всё вокруг за тебя сразу решает многие проблемы.
Потом я ушёл в свой первый стартап: MyLivePage. Тут я не стал использовать корпоративные технологии типа Java, а сразу всё кодил на PHP, MySQL, Lighttpd, и вместо Docker и Kubernetes у меня был rsync/ssh, через которые я управлял файловыми хранилищами и вообще всей инфраструктурой деплоймента (если че тогда докера и кубера еще не существовало). Отдельное спасибо Виктору Коцубинскому, который имел высокие компетенции по DevOps, ранее работая в IP-телефонии. Кстати, в итоге у MyLivePage через несколько раундов инвестиций был свой дата-центр стоимостью под 1 млн долларов. Обслуживала система десятки миллионов пользователей и сотни миллионов просмотров страниц в сутки как живыми пользователями, так и поисковыми краулерами, которые 30% трафика составляли.
Далее я устроился в компанию Jetico как Java-разработчик, который писал сервер и фронтенд консоли управления, позволяющей шифровать и удалять данные на компьютерах клиентов. Я в этой компании уже работаю 11 лет. Я помню, как начинал писать всё руками. И как радовался, что есть автокомплит в JetBrains-продуктах, и как был доволен хорошей интеграцией в дебаг-режиме, где можно расставлять брейкпоинты и пошагово отлаживать код и понимать, что не работает.
Потом ситуация изменилась, появился GitHub Copilot. Ну, это реально бомба была. Ты пишешь название функции или строчку кода, и система сама понимает, что у тебя вокруг, и предлагает готовый код как автокомплит! Это была бомба! Притом я Copilot не первым заюзал. Сначала я офигел, что можно чат-боту сказать: мол, вот смотри, есть такие структуры данных, напиши для них код на таком-то языке, чтобы они в БД сохранялись. И он выдавал рабочий код. Его копипастишь и он работает!
Потом началось другое. Стали появляться задачи, которые нужно как рядовому программисту внедрять в продукты: не только ИИ пользоваться, а встраивать его в продукты. Первым продуктом был Jetico Search. Сначала это был рядовой поисковик, который ищет по ключевым словам и регуляркам. Потом появилась идея использовать ИИ для поиска.
Первая реализация была простая: просто с каждого документа или с его чанков насчитать векторы через эмбеддинг и потом по ним искать. Потом пошло дальше: я стал не просто искать близкие по смыслу векторы по поисковому запросу, я стал тренировать ИИ-модель, которая имеет тренировочный датасет векторов и проходит эпохи и валидацию, чтобы выдать максимальный матч при классификации документов. Но это была только первая ласточка и узкая задача.
Дальше - больше. Пришло осознание, что сейчас все крупные компании не просто так прикручивают ИИ к продуктам. Смысл какой: вот ты стоишь в интерфейсе пользователя, у тебя есть выбор, почитать документацию продукта, скучно и долго, покликать интерфейс, чтобы разобраться, скорее всего, покликаешь, что-то не получится, и закроешь продукт и забудешь.
А тут новая реальность: ты стоишь в интерфейсе, и у тебя снизу или сбоку есть чат-окно, где ты можешь сказать: "Слушай, я вот хочу примерно сделать такое. Ты можешь это сделать?" И AI-агент отвечает: "Да, у меня есть такие вот API и тулзы, я могу этот ваш запрос исполнить, вызывая их. Только уточните, и я сделаю". Ты уточняешь, он делает вызовы API программы, и ты получаете то же самое, не читая документацию и не кликая в интерфейсе, чтобы понять, как это сделать.
У меня простой вопрос: а как у вас в компаниях? Эта трансформация от GUI, клик-клик, форму заполнил, переходит к добавлению ИИ-агента, который может по простому запросу от юзера сделать то же самое, вызывая за него API программы?
Просто сейчас я как раз делаю свой новый стартап, и там хочу применить эту новую парадигму. Есть GUI, но тут же снизу или сбоку, если юзер в напряге изучать и кликать, он тупо просит текстовым сообщением или голосом надиктовывает, что ему надо сделать, и программа делает!
У меня вообще вопрос: а если так дальше пойдёт, то что будут делать UX/UI-эксперты? Ведь их работа не станет такой ценной, чтобы GUI упростить, если программу можно просто попросить человеческим языком, и она всё сделает!
