Неразработчик, ИИ и Android Studio: промежуточные итоги после двух приложений

Неразработчик, ИИ и Android Studio: промежуточные итоги после двух приложений

Я — бизнес-аналитик, без изначальных навыков в программировании, дизайне или архитектуре. Пишу мобильные приложения с помощью чата с ИИ (Claude) и Android Studio. Это — промежуточный отчёт после публикации двух приложений в RuStore.

Суть эксперимента

Цель — не заменить разработчика, а проверить, насколько далеко можно уйти, если человек без технического бэкграунда использует ИИ как основного исполнителя. Я беру на себя роль постановщика задач, тестировщика и интегратора.

Результат — не демо или прототип, а реальные приложения, которые устанавливают, используют, оставляют отзывы и сообщают о багах.

Инструменты и схема работы

  • Claude — генерирует код, объясняет ошибки, предлагает решения, помогает с архитектурой.
  • Android Studio — сборка, запуск, отладка, внесение изменений (в основном через копипаст).
  • RuStore — публикация, обновления, сбор обратной связи.

Роли:

  • Я: формулирую задачи, проверяю поведение, воспроизводим баги, принимаю решения, интегрирую изменения, выпускаю обновления.
  • ИИ: предлагает реализацию, исправляет ошибки, подсказывает структуру, помогает думать.

Как я ставлю задачи ИИ

Качество результата зависит не от ИИ, а от точности описания контекста. Сейчас использую чёткий формат:

  1. Что сломано / что нужно получить (наблюдаемое поведение).
  2. Шаги для воспроизведения.
  3. Версия приложения или экрана (если важно).
  4. Ограничения: «без переписывания всего», «сохранить UI», «не терять данные» и т.п.
  5. Что уже пробовал: ошибки, логи, предполагаемые места кода.

Для багов прошу не просто «починить», а:

  • назвать вероятную причину,
  • указать, где искать (файлы, слои),
  • предложить 2–3 решения с рисками,
  • и только потом — конкретные правки.

Что изменилось с первой итерации

Раньше делал крупные фичи с нуля. Сейчас работаю иначе:

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

Это не делает меня разработчиком, но снижает риск «починил одно — сломал три».

Промежуточные результаты (факты)

1) Два приложения опубликованы

В RuStore доступны:

  • «168 Часов» — планировщик времени (168 часов в неделе как бюджет).
  • «F1 Tycoon» — простая игра.

Оба можно скачать и протестировать. Эксперимент остаётся публичным — иначе выводы не имеют веса.

2) Рост скачиваний после первой статьи

  • «168 Часов»: с 1 до 71 скачивания.
  • «F1 Tycoon»: с 13 до 45 скачиваний.

Это не вирусный успех, но уже не ноль. Появились реальные пользователи, которые используют приложения не так, как я ожидал.

3) Пришли реальные баги

Как только приложение вышло за пределы моего телефона, начались типичные проблемы:

  • нажатие в неправильном порядке,
  • перезапуск «не вовремя»,
  • ожидание сохранения состояния там, где его нет,
  • запросы на логичные, но неожиданные фичи.

Это переход от теории к реальности.

4) Кейс: таймер сбрасывался при перезаходе

Симптом: таймер в «168 Часов» обнулялся при возврате в приложение.

Как описал ИИ:

  • сценарий (старт → выйти → зайти),
  • ожидаемое поведение (восстановление),
  • текущее (сброс),
  • предположение: проблема в сохранении состояния.

Что предложил ИИ:

  • проверить, где хранится «истина» времени — в UI, памяти или на диске,
  • предложить хранить timestamp старта и пересчитывать при восстановлении,
  • указать типовые точки сбоя: жизненный цикл активити, persistent storage.

Время на исправление: около 2 часов — от воспроизведения до публикации обновления.

Вывод: баг не сложный, но реальный. Он был закрыт в реальном цикле релиза.

5) Добавлена новая фича: ручное создание активностей

Теперь пользователь может создавать активности вручную, а не только выбирать из шаблонов.

ИИ помог:

  • протянуть сущность через экран → модель → сохранение,
  • напомнить про краевые случаи: валидация, пустые значения, обновление списка, сохранение между сессиями.

Фича уже в обновлении.

6) Что я начал понимать (не «выучил», а ориентируюсь)

Появилась «карта местности»:

  • зачем нужны классы и почему их много,
  • почему изменение поля — это не одно место,
  • где живёт логика экрана, а где — хранение данных,
  • почему ошибки часто в нарушении контрактов между частями,
  • что такое «состояние приложения» — причина половины багов.

Это важно: эффективность работы с ИИ растёт не из-за ИИ, а потому что я задаю вопросы в правильные узлы системы.

Честный разбор: где границы

1) ИИ не отвечает за целостность проекта

Он может предложить изменения, но:

  • забыть обновить связанное место,
  • предложить несовместимые элементы,
  • или «починить» так, что сломается другой сценарий.

Архитектурная ответственность остаётся на человеке. Иначе проект превращается в набор заплаток.

2) Дебаг по описанию работает не всегда

Если проблема воспроизводима и локализуема — ИИ помогает быстро.

Но если она:

  • плавающая,
  • зависит от устройства,
  • связана с потоками,
  • или упирается в нюансы платформы,

— начинаются итерации «попробуй это/попробуй то». ИИ ускоряет расследование, но не заменяет его.

3) UI/UX — слабое место

Можно сделать «работает», но «удобно» — это другая профессия. ИИ:

  • не чувствует контекст пользователя,
  • не видит метрики поведения,
  • не несёт ответственность за когнитивную нагрузку.

Приложения функциональные, но UX — не эталон. Это цена нулевого бюджета и отсутствия профильных навыков.

4) Публикация и поддержка — отдельная работа

Залить в стор — не значит «готово». Нужно:

  • регулярно выпускать обновления,
  • думать про обратную совместимость,
  • обрабатывать отзывы как требования.

ИИ — помощник, но не процесс.

5) Граница «без знаний» существует, но не там, где думают

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

Реальность посредине: можно выпустить и чинить, но платишь временем и вниманием. И постепенно наращиваешь понимание — иначе не выдержишь темп.

Выводы

  1. Продуктовая реальность наступает быстро — уже при десятке пользователей. Баги и запросы приходят сами.
  2. ИИ позволяет не-разработчику доводить задачи до релиза, но только если человек — системный интегратор: формулирует, проверяет, воспроизводит, выкатывает.
  3. Скачивания маленькие (71 и 45), но достаточные: появились внешние баг-репорты, и можно перестать полагаться на «у меня работает».
  4. Эксперимент продолжается. Приложения живы, обновляются, получают пользователей. Судить нужно по траектории, а не по старту.

Что дальше

  1. Стабильность «168 Часов»: закрывать баги по отзывам, привести поведение таймеров к предсказуемому, добавить ручные тест-кейсы.
  2. Маленькие итерации: добавлять фичи только в рамках текущей структуры, не раздувать «на будущее» без подтверждения от пользователей.
  3. Подтянуть инженерную грамотность: не «выучить всё», а закрыть ключевые пробелы — жизненный цикл, хранение состояния, структура, диагностика.
  4. Следующий отчёт: будет, когда появятся измеримые данные — обновления, баги, решения, динамика. Сроков не обещаю.

Если хотите проверить — приложения в RuStore: «168 Часов» и «F1 Tycoon». Нашли баг? Вы не хейтер — вы тестировщик в бою. Это самый полезный фидбэк для эксперимента.

Читать оригинал