О себе
Профессиональный fullstack-разработчик с 18-летним опытом в коммерческой разработке. Поработав на разных позициях, включая команду Кинопоиска (Яндекс), я пришел к четкому пониманию: моя самая сильная сторона и главный профессиональный интерес — это hands-on разработка.
Поэтому я целенаправленно ищу позицию, где смогу полностью сфокусироваться на написании кода и решении конкретных инженерных задач, оставив в стороне менеджерские функции. Ищу сильную команду, где смогу быть максимально полезен именно как практикующий специалист, работающий на передовой.
Ключевые навыки
> * Frontend: JavaScript (ESNext), TypeScript, React (Hooks, Context, custom renderers), Next.js, GraphQL (Apollo Client), Webpack, PWA. Глубокое понимание рендеринга в браузере.
> * Backend: Node.js, Nest.js, Serverless (AWS/Yandex Cloud), Docker. Опыт проектирования и реализации REST/GraphQL API.
> * Специализированный опыт: Разработка сложных систем статистики и визуализации данных. Опыт работы с 3D (Three.js), рендерингом в Canvas. Интеграция сторонних API, включая нестандартные задачи (например, SIP-телефония с Discord через реалтайм аудио-ресемплер на JS).
> * Инструменты и процессы: Git, CI/CD, Jest. Опыт работы в больших монорепозиториях и распределенных командах.
В одном из e-commerce проектов по удаленке я занимался разработкой PWA, чтобы магазин стабильно работал даже при плохом интернете и обходил ограничения сторов. Сайт позволял, управлять корзиной и заранее в фоне закэшированными товарами и даже совершать покупки отображая оптимистичный интерфейс. Нам было главное зафиксировать намерение клиента, и технологии не должны были мешать ему его выразить. С нуля построил архитектуру на Service Workers, которая кэшировала каталог и корзину, благодаря чему ключевые функции работали полностью в офлайне. Важно, что я внедрил эту технологию еще до того, как это стало общим трендом, что дало бизнесу реальное преимущество. К счастью, проект был гибким к "новым" на тот момент технологиям.
Когда я работал над высоконагруженным аналитическим сервисом для таксопарка с трекингом в реальном времени, мы столкнулись с замедлением разработки из-за ужасного технического долга потому что им видимо до меня в команде никто не занимался, ребята попросту не знали такой термин. Я предложил и реализовал переход на микрофронтенды, и сделал это в свободное время. А также доделал их активные таски с доски заодно, чтоб они не мучались с инеграцией в новую архитектуру. Выходные так выходные =). Это позволило нам наконец нормально разделиться, и на дейликах мы в основном рассказывали что да как у кого идет, а не обсуждали как двум людям делая две задачи не поломать тесты. Честно считаю, что архитектор должен оставаться практикующим разработчиком, а не только менеджером, потому что "снизу то виднее"
Для улучшения процесса разработки (DX) в большой команде я при помощи ИИ создал много CLI-инструментов, которые вручную то и лень писать было кому бы то ни было, которые автоматизировали рутину, после чего все мои ребята подсели на ИИ, хотя в работе мы его не использовали. Также сейчас я прорабатываю концепцию AIX (AI Experience), чтобы эффективно встраивать ИИ-инструменты в наши процессы и снижать технический долг, однако делаю это для своих хобби проектов.
В финтех-проекте, где цена ошибки была максимальной, я отвечал за надежность модуля обработки транзакций. Я настоял на использовании TDD (разработка через тестирование) и добился 100% покрытия кода юнит-тестами (в буквальном смысле 100% ковередж). Дополнительно настроил e2e-тесты в стейджинге, которые проверяли все критичные сценарии от логина до успешной оплаты, использовал всякие хитрые приемы для пограничного поведения вроде манкитестинга или Гориллатестинга, чтобы интерфейс **отображал** правильную ментальную картину для пользователя и не расходился с реальностью (ведь транзакции долгие, и нужно было найти баланс между оптимистичным обновлением и правдой).