Потребность
Именно профессиональная карьера меня как программиста началась с 1С. Программирования там было не очень много, больше проектирования и значительно больше - предметной области. Позже, когда решал задачу разработки комплексного решения, программирование таки появилось - уперся в ограничения платформы. В совокупности с другими факторами где то в 2009-2011г родилась мысль сделать свою аналогичную платформу. Основной мотиватор был именно в снятии ограничений и увеличению простоты. Имея удобный инструмент, можно автоматизировать весь мир!
Пришлось подтягивать знания, экспериментировать. В 2014м была отправлена на покой первая версия. В 2017 и 2020 - вторая и третья. Не смотря на короткий срок жизни, на каждой из них было хотя бы одно реальное внедрение. А на разработке решения на третьей версии я даже заработал. К 2025-му четвертая уже была весьма хороша. Если закрыть глаза на некоторое количество тех долга, я был ей доволен. Но не был доволен тем, что за 15 лет так и не нашел способа превратить инженерный проект в коммерческий. Сомнение, которое было всегда со мной, превратилось в вопрос ребром: где и что я упускаю?
Общаясь с шефом одной из компаний в которой я работал ранее, узнал слово Lovable. Попробовал. Да, это круто. Время обратить внимание и начать пользоваться нейросетями - пришло. Дальнейшие шаги и мысли были уже неизбежными. Логично же - если нейросеть будет вести разработку, используя платформу, где все узкие места, в которых при классическом подходе она часто стреляет себе в ногу, спрятаны внутри, то на выходе будет значительно более надежный продукт. Эксперименты заняли у меня буквально несколько дней. И остановились. И я остановился.
Как не хотелось себя обмануть, инженерный подход и логика приводили каждый раз к одному и тому же: проще, быстрее, надежней и дешевле такой подход реализовать не с моей платформой, а с платформой 1С.
Я переваривал этот вывод наверно неделю, если не больше. Но совсем рядом, впереди, ожидал следующий: с помощью платформы я пытался решить проблему, которая не может быть решена техническими средствами. Сложность разработки является технической только лишь в некоторых областях. Основная сложность разработки решения для бизнеса находится в другой плоскости. Платформа, конечно, может облегчить имплементацию, но не более. Простым процесс разработки она не сделает.
Инженерное решение, платформа, приложение, сервис - сами по себе мир лучше не сделают. Какой тогда смысл заниматься их разработкой, если они никому не принесут пользу?
В середине 2000-х мы небольшой, но очень бодрой командой разрабатывали сложное решение для автоматизации деятельности компаний, занимающихся сбором лома черных металлов. Начинали, работая на крупнейшем в те годы предприятии этого сектора в своем регионе, привлекли внимание генерального партнера-закупщика и получили заказ на разработку системы для всей сети. Продукт получился отличный. Опыт коллег в предметной области позволил сделать решение, в котором нам удалось втиснуть качественный управленческий учет внутрь регламентированного бухгалтерского. Система решала управленческие и отчетные задачи одновременно и без противоречей. Но был один минус.
Она была никому не нужна.
Прозрачный учет дает компаниям много плюсов, но, одновременно с этим, приносит качество, которое для многих из них является минусом. Прозрачность. Учет делает или невозможными или предельно открытыми любые махинации на местах. С учетом того, что генеральный закупщик по условиям партнерства тоже контролирует деятельность компании сети, прозрачный учет в дочках был не выгоден никому: рядовой персонал не мог скрывать свои дела от начальников участков, те, были как на ладони для руководства компании, а оно, в свою очередь, оставалось неприкрытым от генерального партнера.
Разработка механизма закрытия месяца в этой системе для меня было вызовом. Алгоритмическая сложность была не очень высокой, но огромное количество деталей и нюансов просто не влазило в контекстное окно. На презентации, демонстрируя сопутствующий проведению закрытия отчет, я сказал, что поставлю ящик пива тому, кто найдет в этом процессе ошибку. Не поставил. Система, над разработкой которой кипели мозги около двух лет, в которую были вложены не только силы, но и частички души тех, кто ее делал, канула в небытие после первой пары внедрений.
В конце 10-х я трудился в стартапе над системой, предназначенной для сведения к нулю рутиных действий офисных сотрудников. Посыл был классный: у каждого работника с пяток и более разношерстных приложений. Зачастую, много времени тратится на перетаскивание разной информации туда сюда. Современный софт позволяет разного рода интеграции, но во-первых - это реализация таких интеграций стоит денег, во-вторых - не весь софт современный. Приложение над которым мы работали имело множество разных функций, начиная с очевидных - работы с файлами, почтой и тому подобному, заканчивая возможностями произвести клики мышкой и ввести данные в произвольном приложении или сайте. Продукт был годный. Продажи росли. Уперлись мы - в интерфейс. Алгоритм действий задавался с помощью визуального редактора. Для небольших процессов это проблемы не создавало. Однако потенциальные возможности были широкие - клиенты хотели автоматизировать на самом деле сложные процессы. Пять сотен строк кода - это мелочь, а пять сотен блоков, соединенных стрелками - это ад. Инициатива предоставить возможность описывать процесс кодом была отклонена: такой подход уничтожал “магию” продукта - просто и визуально автоматизировать требуемый процесс. Отказ от такой функции, в тоже время, уничтожал возможность автоматизации сложных процессов. Осознав, что моя деятельность направленна на поддержание иллюзий, я понял, что пора искать другое место работы и, спустя несколько месяцев, ушел.
Не знаю, как развивалась эта система дальше, но недавно мне пришлось подбирать аналогичное решение на текущем месте работы и я заглянул к ним на сайт. Я анализировал много разных систем. Часть из них были open source, где компания разработчик предоставляла услуги хостинга и поддержки. Часть из них были проприентарные, но четко и предельно понятно описывали свой функционал, тарифную политику и в несколько кликов позволяли получить ограниченный демо доступ, для возможности оценки пригодности решения для своих задач. Часть решений, в том числе и то, над которым я когда-то работал, имели качественный продающий сайт, с громкими маркетинговыми лозунгами и красивыми скриншотами, но ни четкого описания функционала, ни понятных тарифов, ни возможности протестировать решение - не было.
Может, кто-то скажет, что это ничего и не говорит о продукте, но я в очередной раз понял, что решение уйти из этой компании было верным.
Следующее место работы тоже было стартапом. В отличии от предыдущего, на продажи тут вообще не заморачивались - разработка была “с чувством, с толком, с расстановкой”. Одну только задачу семантического лейаута элементов интерфейса я решал более полугода. Критические мысли о целесообразности подобных изысканий напрочь заглушало вознаграждение, про которое жутко неудобно было сказать друзьям. Довольно длительное время я мотивировался еще и тем, что сложный проект и очень грамотный шеф в совокупности сильно прокачивали мои личные навыки. Спустя несколько лет, как можно предположить, финансирование стартапа закончилось, а продукт так и не увидел своих клиентов. Где-то в этот же период пришло понимание, что работа “в стол” хоть и приносит доход, но забирает больше, чем дает. Появилось ощущение пустоты.
Лето я попытался потратить на развлечения. Если в работе счастья нет, то, возможно, его можно найти в том, что нравится? Питбайк, пилотажный кайт, мебель из массива, квадроцикл, слэк лайн, синтезатор, пневматическая винтовка, радиоуправляемые модели, параплан, готовка хлеба, сап борд… Упорство не всегда приносит результаты. Ни один вариант не давал того, чего мне не хватало.
А чего мне не хватало?
Ответ, как это нередко бывает, был прямо перед носом, но я его не замечал. Оглянувшись назад и критически посмотрев на свой профессиональный путь, я понял тривиальную вещь: я получал от своего труда то, что мне нужно лишь на старте своей деятельности. Я работал инженером по 1С, бегал по клиентам и выполнял простые доработки. Искренняя благодарность бухгалтера за кнопку, которая позволяет экономить несколько часов в неделю - многого стоит. Никакое вознаграждение не компенсирует отсутствие смысла и пользы в твоем труде.
Мне повезло найти работу в реальном секторе. Здесь тоже следят за архитектурой ИТ систем и приложений, чистотой кода и рациональными практиками. Но на первом месте всегда - бизнес результат. И если когда-нибудь у меня появится выбор за чем гоняться - удобством работы кассира в супермаркете или красотой инженерного решения, я буду выбирать первое. Теперь я знаю почему.
ИТ это средство, а не цель. Я давно так говорю. Но сказать - это одно, а понять - другое. Осознать - третье.