Что, как и почему это случилось...

One Man Army Chapter
КАК ВСЁ НАЧИНАЛОСЬ

КАК ВСЁ НАЧИНАЛОСЬ

Эфемерность результата и стеклянный потолок

За плечами более двадцати лет в графическом дизайне: от растра и вектора до 3D и моушна. В моем случае это почти никогда не было рисованием «для души» — только суровая коммерческая реальность с жесткими дедлайнами и надзором менеджеров. Со временем магия создания визуальных образов неизбежно превращается в конвейерную рутину. Ты ясно осознаешь, что уперся в глухой стеклянный потолок, а каждый новый рабочий день становится лишь техничным повторением того, что ты уже делал сотни раз.

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

Так созрела необходимость двигаться дальше, чтобы создавать нечто большее, гибкое и функциональное. Я не планировал радикально ломать жизнь и уходить в чуждые сферы — хотелось остаться в своей стихии, за тем же столом, но кардинально расширить систему координат. Пришло понимание, что весь накопленный визуальный багаж больше не должен быть финальной точкой. Он может и должен стать мощнейшим вспомогательным инструментом для инженерии и конструирования собственных, долгоживущих программных механизмов.

СМЕНА ПАРАДИГМЫ

СМЕНА ПАРАДИГМЫ

От видимых пикселей к скрытой логике

Интерес к программированию жил во мне давно, еще с конца 80-х и кружков информатики, где мы изучали Basic. Спустя годы случались спонтанные попытки погрузиться в код глубже — например, эксперименты с популярным Python в 2023 году. Но из-за отсутствия четкого плана и понимания финальной цели, все ограничивалось банальным выводом строк в консоль и простыми арифметическими операциями. Дальнейшее развитие требовало классического пути: профильных курсов или работы в студии, что казалось совершенно нереалистичным сценарием. Порог входа выглядел монолитной стеной.

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

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

ОТКРОВЕНИЕ .NET И ПРАГМАТИЗМ

ОТКРОВЕНИЕ .NET И ПРАГМАТИЗМ

Экосистема возможностей и отказ от «Игры мечты»

Настоящим катализатором погружения в разработку стала книга Джереми Гибсона Бонда о геймдеве на Unity и C#. Переход от внушительной теоретической части к практике привел меня в интерфейс игрового движка, который для человека, годами работавшего в 3D-редакторах, оказался на удивление знакомым и комфортным пространством. Но главным открытием стал не сам движок, а язык, который приводил его в движение. Я начал задавать нейросети вопросы, гуглить тонны информации, и передо мной начала вырисовываться глобальная картина.

Погружаясь в изучение C#, я начал осознавать истинные масштабы того, с чем столкнулся. Выяснилось, что язык является ядром колоссальной платформы .NET от Microsoft. Это было сродни инженерному откровению: передо мной открылся невероятно огромный, фундаментально продуманный мир. Пришло понимание, что в моих руках оказался ультимативный набор инструментов, позволяющий строить вообще что угодно — от мобильных игр до сложных веб-сервисов и десктопных приложений. Вопрос выбора технологического стека отпал сам собой.

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

ФИНАЛЬНЫЙ БОСС ДИСТРИБУЦИИ

ФИНАЛЬНЫЙ БОСС ДИСТРИБУЦИИ

Правило 80/20 и квест под названием релиз

В разработке есть известное правило: первые 80% работы над проектом занимают 20% времени, а оставшиеся 20% (полировка, вылов багов, сборка) высасывают 80% сил. Именно на этом этапе многие ломаются, оставляя жесткие диски кладбищем недоделанных прототипов. Благодаря теоретической базе я был к этому готов. Меня совершенно не смущало, что опытный профессионал мог бы дать моему коду низкую оценку. Главной целью было довести дело до конца: неказистый, но завершенный проект всегда лучше идеального, но брошенного. Процесс захватывал, даже когда приходилось надолго застревать над сложной логикой и с болью откатываться далеко назад, к стабильным версиям.

Но оказалось, что дописать логику и собрать рабочий билд — это лишь половина пути. Когда DRiot был технически готов, передо мной открылась полная картина того, что на самом деле означает дистрибуция. Изначально релиз в Google Play казался легкой прогулкой. На деле же это обернулось тяжелейшим квестом: запутанные и нелогичные системы проверок, декларации безопасности, возрастные рейтинги и обязательный 14-дневный карантин закрытого тестирования. Благо, сообщество разработчиков оказалось живым и отзывчивым, и найти людей для тестирования на Reddit по принципу «test-for-test» не составило труда. Но объемы бюрократии поражали воображение.

Параллельно у меня на руках был и готовый билд для iOS, но его релиз требовал наличия Макбука и глубокого погружения в инфраструктуру Apple. Бегать по знакомым и одалживать технику ради публикации не было никакого желания. Я принял абсолютно прагматичное решение: для первого проекта Google Play подходил идеально, а узкий закрытый «аквариум» экосистемы Apple стал мне просто неинтересен. Весь этот бюрократический этап сильно выматывал, но он воспринимался как битва с финальным боссом. И когда игра наконец-то оказалась опубликована, я испытал трудноописуемое чувство победы — первый полный цикл соло-разработки был успешно закрыт.

ИНФРАСТРУКТУРНАЯ СТЕНА

ИНФРАСТРУКТУРНАЯ СТЕНА

Урок inNote и разворот в открытый веб

После первого завершенного проекта пришло желание расширить горизонты и посмотреть, на что еще способна платформа .NET. Следующим шагом стала десктопная разработка — создание приложения inNote. Технически это был невероятно интересный вызов: проектирование кастомного интерфейса, работа с локальными данными, написание собственного сервиса и упаковка всего этого в аккуратный инсталлятор. На этом этапе казалось, что если у тебя на руках есть отличный, стабильно работающий продукт, то с его выпуском не возникнет никаких проблем. Я хотел не просто выложить приложение в сеть, а пройти весь путь коммерческого релиза, чтобы понять, как работает эта система изнутри.

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

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

АБСОЛЮТНАЯ СВОБОДА И ДРЕВНИЕ СВИТКИ

АБСОЛЮТНАЯ СВОБОДА И ДРЕВНИЕ СВИТКИ

Парадоксы веба и пайплайн соло-разработчика

Разработка в одиночку требует жесткой дисциплины, иначе проект неизбежно превратится в хаос. Постепенно у меня сформировался четкий рабочий пайплайн: Project Vision -> Tech Stack -> Roadmap -> Dev Log. Я не причисляю себя к набирающим популярность «вайбкодерам», которые просто просят нейросеть сгенерировать всё за них. В моем процессе ИИ — это продвинутый спарринг-партнер. Мы обсуждаем концепты, я показываю ему архитектурные наброски, он помогает найти узкие места, но финальные решения и логика всегда остаются за мной. Отдельным открытием стало ведение Dev Log'а: он не только структурирует поэтапные шаги разработки, но и спасает саму языковую модель, когда у нее «замыливается» контекст и ей нужно быстро напомнить глобальную суть проекта.

Выход в открытый веб с разработкой inHub подарил долгожданное чувство пространства, где дышится гораздо легче. Здесь нет корпоративных ограничений, модераторов и закрытых «аквариумов». Строка "public object InHub { get; private set; }" работает здесь буквально: это моя территория и мои правила. Но вместе с этой свободой пришло столкновение с удивительным парадоксом. Сама веб-разработка технологически кажется застрявшей в прошлом. Ручное написание HTML с его бесконечными тегами воспринимается как расшифровка древней письменности. Для инженера, привыкшего к нодовой логике, где архитектура и визуал собираются узлами в реальном времени, этот ручной синтаксис выглядит архаизмом, который давно должен был уйти глубоко «под капот».

Несмотря на этот диссонанс, стратегическая задача выполнена. inHub построен с нуля на ASP.NET Core и стал независимым цифровым домом, объединившим разрозненные проекты, логи и эксперименты. Текущая архитектура — это не финальная точка и не конец истории. Это лишь надежный, полностью контролируемый фундамент для исследования новых областей. Путь продолжается.