Загрузка данных


Здравствуйте! Я по поводу вакансии. 
Работаю на MacBook.
________________________________________
По стеку и опыту:
Работаю с Flutter на реальных проектах. Основной стек:
•	flutter_bloc — мой основной инструмент для управления состоянием. Использую связку с freezed для иммутабельных моделей и событий с состоями. Это дает жесткую типизацию и упрощает работу с копированием объектов через copyWith.
•	Firebase — отслеживание событий, пользовательские свойства, Remote Config, Firebase Cloud Messaging (пуши с обработкой в фоне и форграунде), Cloud Storage (База данных).
•	Сервисы монетизации: напрямую с AdMob и AppHud пока не работал. С AppHud —также не было опыта. С рекламой аналогично — с AdMob не работал, но со всем готов разобраться. 
•	AppsFlyer — встраивал SDK в проект 1 раз. Понимаю, что это для атрибуции трафика и отслеживания источников установок. Но в глубокую настройку не уходил.
________________________________________
Об AI:
Из инструментов использую:
•	ChatGPT — основной рабочий инструмент. Генерация виджетов, рефакторинг сложных участков, поиск ошибок, объяснение непонятных частей кода.
•	DeepSeek — беру, когда нужно быстрое решение без привязки к контексту. Часто накидываю туда небольшие задачи вроде "напиши кастомный декоратор для валидации" или "сгенерируй json-модель".
•	Qwen — использую для второстепенных задач, когда ChatGPT перегружен большим контекстом, а DeepSeek не справился.
•	GitHub Copilot — основная помощь в процессе кодинга. Автодополнения, подсказки типов, дописывание методов. Это мой ежедневный "автопилот" в VS Code. Помимо этого, он удобно помогает с написанием новых фич и внедрением их в проект, т.к. видит файловую структуру проекта.
Cursor и Claude Code — пробовал Cursor, но бесплатного лимита не хватило для постоянной работы. Claude не применял в принципе из-за того, что в моей стране жёстко ограничен доступ к нему. Но Copilot + ChatGPT закрывают 90% моих AI-задач. Так, что ограниченным себя не чувствую.
________________________________________
Мой рабочий процесс с AI:
1.	Когда появляется задача — сначала продумываю структуру сам, декомпозирую на подзадачи. В AI иду только за конкретикой: "сделай типовой BLoC для авторизации с валидацией email/пароля" или "помоги спроектировать таблицы".
2.	Промпт-инженерия — всегда пишу четкие инструкции. Например, для UI: "Верстка экрана профиля по макету Figma. Использовать Column + Expanded для растягиваемых секций. Аватарка с ClipRRect. Кнопка выхода — внизу экрана через Spacer." Чем подробнее промпт, тем меньше правок руками.
3.	Работа с большими файлами — если нужно изменить существующий код, скидываю в AI весь файл и говорю, что именно хочу поменять. Для рефакторинга через AI показываю несколько похожих виджетов и прошу вынести общее в кастомный класс.
4.	Параллельные сессии — иногда открываю ChatGPT и DeepSeek одновременно. В одном генерирую модели данных, в другом — пишу тесты к этим моделям. Это экономит время, не смешивая контексты.
5.	Проверка кода от AI — у меня несколько слоев проверки:
o	Первый слой — мысленный код-ревью. Бегло читаю результат, смотрю нет ли очевидных багов (вроде забытого импорта, некорректного nullable/required, неправильной логики ветвления).
o	Второй слой — тесты. Пишу юнит-тесты на сгенерированный код. Если тесты проходят — значит, AI написал работоспособный код.
o	Третий слой — кросс-проверка моделями. Если сомневаюсь в сложном куске логики, скидываю сгенерированный код в другую AI-модель (например, из ChatGPT в DeepSeek) и прошу найти ошибки или предложить альтернативу. Это часто помогает найти скрытые проблемы.
o	Финальный барьер — flutter analyze. Прогоняю код через статический анализатор. Если AI использует устаревшие методы или нарушает стиль — сразу видно.
________________________________________
Примеры из реальной работы:
Когда AI реально помог:
Писали приложение для интернет-магазина. Нужно было сверстать экран корзины с динамической высотой, анимацией добавления/удаления товаров и сложной логикой пересчета суммы со скидками. Я скинул в ChatGPT макет (текстовое описание, где что находится) и пример данных. Он сгенерировал виджет с анимацией. Я допилил поведение (добавил тряску при ошибке) и запушил. Сэкономил ~2 часа работы, которые ушли бы на ручную верстку.
Когда AI подвел:
Попросил настроить Dio-клиент для работы с REST API, с автоматическим обновлением токенов через рефреш. Модель сгенерировала код, но не сделала клиент синглтоном. В итоге на каждую новую страницу создавался новый экземпляр Dio, интерсепторы сбрасывались, и рефреш-токен не обновлялся корректно. Нашел это при ручном ревью — увидел, что класс не заинжекчен как синглтон, и все интерсепторы привязаны к инстансу.
Еще один случай: AI сгенерировал UI, но забыл про SafeArea внизу экрана. На реальном устройстве (iPhone с тачбаром) часть контента перекрывалась. Поймал на этапе ручного тестирования на физическом девайсе — добавил SafeArea и протестировал на других размерах экранов.
________________________________________
Как AI помогает вне кода:
•	Пишу черновики писем и сообщений для работы.
•	Делаю ресерч: быстро перевожу документацию с английского, ищу альтернативы библиотекам, сравниваю подходы.
•	Иногда использую для генерации mock-данных для тестов.
________________________________________