Опыт
Опыт работы
Руководитель направления разработки
Отвечал за планирование и координацию разработки различных ИИ-компонентов, а также исследования и экспериментальные разработки в области языковых моделей с собственной памятью. Также занимался обучением моделей, тестированием возможностей, и интеграцией через OpenAI-совместимое API.
Ведущий Rust-разработчик
Разработка бэкенда на Rust, используя фреймворк Actix, для системы управления персональными данными. Плюс, интеграцией с «умными устройствами» через MQTT. Также занимался организацией тестирования и авто-документирования API.
Software Developer
Mealmind свой проект
Когда вы работаете разработчиком программного обеспечения, вам платят за то, что вы умеете делать в данный момент. Это создает порочный круг, когда вы получаете все больше и больше специализированных знаний, а переключение на что-то принципиально новое становится всё более трудным.
Вот почему, в 2017 году я оставил свою последнюю удобную работу и решил потратить некоторое время на расширение своих познаний в новых направлениях, которые меня интересовали.
Mealmind стал для меня испытательным полигоном, способом догнать новые IT-технологии во множестве областей, включая:
Я улучшил свой Rust, который использовал для обработки данных (tokio, SeaORM), а также для backend и frontend. В итоге заменил многие части, написанные на JavaScript и Python, на Yew и Actix.
Много занимался Deep Learning (нейронные сети) в целом. Имел возможность поработать с различными архитектурами нейронных сетей, реализуя все своими руками, с нуля:
- Различные RNN (LSTM, GRU, и подобные).
- CNN, например WaveNet (в применении к временным рядам), вариационные автоэнкодеры для обработки изображений.
- Transformers для обработки естественного языка, такие как GPT, BERT, и их производные,включая давно привлекающие внимание разновидности, такие как Reformer и Nyströmformer.
- Глубоко погрузился в Reinforcement Learning и self-supervised learning.
В процессе мне пришлось учиться логированию экспериментов, подстройке гиперпараметров, регуляризации и оптимизации, научиться структурировать такие ML-проекты и использовать предварительное обучение для экономии усилий.
Я привык читать, разбирать и воспроизводить сложные научные работы (например, в области Reinforcement Learning и NLP, теории оптимизации).
Освоил вычисления на GPU с OpenCL, включая написание собственных ML-ядер.
Получил опыт развертывания с помощью контейнеров, их управления и оркестровки, используя Docker, Kubernetes и Ansible.
Хотя я не новичок в мониторинге, на этот раз мне пришлось создавать его самостоятельно, используя Eclipse Mosquitto, Grafana и Telegraf.
К сожалению, из-за... скажем так, глобальных политических и рыночных изменений, мне пришлось оставить проект. Тем не менее, я благодарен за тот обширный опыт, который он мне дал.
Senior Software Developer
IPONWEB BIDSWITCH
IPONWEB специализируется на технологии и инфраструктуре программного управления торгами на рынке онлайн-рекламы в реальном времени. Одно из подразделений компании, BidSwitch, было создано, чтобы помочь решить многие из основных технических проблем и трений, которые препятствуют взаимосвязи платформ и торговле на уровне инфраструктуры.
Изначально я присоединился к команде как веб-разработчик фронтенда и бэкенда, используя Django и Angular.
За время работы в компании я помог запустить несколько внутренних проектов, которые впоследствии переросли в новые продукты или их части: в частности, пользовательский интерфейс BidSwitch, сбор статистики и формирование финансовой отчетности для клиентов, прогнозирование рекламного трафика, автоматической проверки объявлений, некоторые API для клиентов.
Последние годы работы в компании я провел, в основном, сосредоточившись на высоконагруженных бэкенд-проектах, занятых как обработкой и анализом больших объемов данных с торговых площадок, так и взаимодействием с другими сервисами. За это время я использовал C++ и Python, имел большой опыт работы с PostgreSQL и нереляционными кластерами Cassandra и MongoDB, а также со многими критическими частями современной ИТ-инфраструктуры, включая автоматический мониторинг, тестирование, сбор сообщений об ошибках через Sentry, непрерывную интеграцию и доставку, сборку Debian-пакетов.
Senior Software Developer (фрилансер)
Проектировал и разрабатывал сайт онлайн-рынка актеров, играющих роль Деда Мороза и Снегурочки на новогодних праздниках, а также предоставляющих смежные услуги. Интегрировал проект с системой онлайн-платежей QIWI.
Senior Software Developer (фрилансер)
Smart Links специализируется на показе рекламных объявлений в текстах сайтов-партнёров. Я отвечал за
- Проектирование и внедрение высокопроизводительной и горизонтально масштабируемой морфологической системы для русского и украинского языков. Из-за гибкости этих языков, наивное сопоставление и поиск слов становится невозможным. Морфологическая система опирается на сложное дерево языковых правил и словарей для преобразования слов в их инфинитивные формы в реальном времени.
- Разработку и реализацию распределенного анализатора HTML-контента для рекламной системы, а также привязки к Python для некоторых ее частей.
Система была написана на языке C и полагалась на ZeroMQ для обеспечения связности компонентов при масштабировании. Она была способна обрабатывать сотни документов (HTML-страниц) в секунду на русском или украинском языках на обычном домашнем компьютере, нормализовать тексты и определять ключевые части текстов, на которые можно нацелить рекламу.
Senior Software Developer (фрилансер)
Artela.ru (startup)
Отвечал за проектирование и реализацию универсального магазина цифровых услуг, таких как VoIP телефония, веб-домены, хостинг.
Здесь я впервые применил в коммерческом проекте познания, почерпнутые из книги Алана Купера "Об интерфейсе" и других подобных отечественных и зарубежных изданий. Получил практику написания пользовательских историй и проектирования цельной структуры пользовательского интерфейса.
В процессе реализации, интегрировал магазин с несколькими системами онлайн-платежей: Webmoney, Яндекс.Деньги и Paypal.
Senior Software Developer (контрактор)
Новостное агенство Gzt.ru
Архитектура и разработка новостного портала - как бэкенда, так и, частично, фронтенда (сильно кастомизированная административная панель Django).
Получил хороший опыт использования Django на сложном динамичном ресурсе с большим трафиком, что потребовало кропотливого проектирования модели данных, оптимизации крайне сложных запросов и кэширования на разных уровнях.
Software Developer со-основатель
Domik63.ru Информационный портал по недвижимости Самарской области
Разрабатывал серверную и клиентскую часть портала:
- поиск недвижимости по заданным критериям, с подпиской на обновления
- размещение и оплату онлайн-объявлений
- форум по вопросам недвижимости
- полнотекстовый поиск на сайте
- инструмент, позволяющий агенствам недвижимости любого размера публиковать и обновлять свои базы жилья через простые Excel-таблицы.
Senior Software Developer
Интер-М, веб-студия
Бэкенд-разработчик на текущие проекты.
Senior Software Developer
Unkom, веб-студия
Пришёл как Perl-разработчик после университета, позднее мигрировал на PHP.
Разработал систему управления контентом для сайтов студии и собственный движок форума, которые были использованы для построения многочисленных сайтов правительственных организаций и бизнесов. Наиболее запоминающимся были сайт и форум развлекательного телеканала МузТВ.
Какое-то время участвовал в разработке CRM на Java.