Email: alex@nekipelov.net.
Год рождения: 1983.
Основной язык програмирования: rust или C++.
Linux или unix совместимые операционные системы.
Разработка backend части сервисов, высоконагруженных и
отказоустойчивых серверов.
Работа с большими данными (но не ML).
Работа вне России и зарплата в стабильной валюте. Удаленно или с релокацией.
https://www.wildberries.ru/services/o-nas
Team lead, команда разработки на rust
Апрель 2020 - настоящее время
Собрал с нуля команду разработчиков на rust и front-end. Вместе мы сделали следующие вещи:
1. Система видеонаблюдения для десятков тысяч камер. Она потребляет видео поток с камер, пишет архив видео (несколько месяцев, на сколько хватает места на серверах выделенных под хранилище), предоставляя удобную и быструю навигацию по архиву: выбор любого момента времени, скриншоты на timeline, ускоренное воспроизведение, экспорт куска видео для разбора инцидента. Просмотр live трансляций с камер через webrtc. Аутентификация и контроль доступа к камерам и каталогам.
2. Следующим проектом мы делаем объектное хранилище с S3 протоколом для огромного количества статики. Ключевые требования от руководства:
На данный момент хранилище находится на этапе тестового внедрения.
Используемые технологии: rust (почти все компоненты написаны на этом языке),
С++ (немного, только часть системы видеонаблюдения работающая непосредственно с видео,
rtsp и webrtc), clickhouse, postgresql, rtsp, webrtc.
Платформа: Linux
https://corp.mail.ru/
Team lead, команда антиспама
Октябрь 2015 - Апрель 2020
Работал над системой агрегации логов действий пользователей (для offline анализа математиками), аналог scribe с дополнительными возможностями. Поток больше 10 Гб логов в минуту.
Работал над системой агрегации статистики поведения пользователей (для использования сервисами в real-time). Система агрегировала и выдавала информацию по действиям каждого пользователя, каждого ip адреса, домена, отправителя и получателя. Миллионы событий каждую минуту.
Работал над ядром системы антиспама. Ядро представляет из себя клиент-серверное приложение, принимающее сообщения от клиентов для анализа на спам/не спам с помощью бизнес логики, написанной командой аналитиков на языке lua. Оно обслуживает проекты Почта, Мой Мир, Mail Агент, ICQ, Юла, поток сообщений в десятки тысяч сообщений в секунду, один только главный сервис работал на нескольких сотнях серверов. Мы анализировали большое количестве информации, например:
Помимо спам/не спам эта система должна была выполнять и продуктовые задачи, например группировка писем (личная переписка, социальные сети, рассылки, заказы), выявление полезной информации из писем для удобства пользователя (номер заказа, или авиа-билета). Детект фактов фишинга. При этом очень строгие временные рамки, допустим на сообщения ICQ 15-30 мсек, на письма не больше 300 мсек в среднем. Иначе будут серьезные технические последствия.
Проделал много работы по оптимизации всех сервисов, повышению стабильности и качества кода, внедрил Continuous Integration. Спроектировал большое количество новых сервисов.
Используемые технологии: C++, memcached, tarantool, redis, mysql,
lua, hadoop, hdfs, hypertable, kafka.
Платформа: Linux
http://corp.sputnik.ru
Team lead, команда разработки сервисов
Декабрь 2013 - Октябрь 2015
Первое время: участие в разработке backend-части множества сервисов (погода, афиша, тв-программа, финансы) для поисковой системы Спутник.
Через 4 месяца: team lead сервисов "Лекарства" (med.sputnik.ru) и "Мой дом" (dom.sputnik.ru).
Через год: team lead проекта считающего алгоритмы ранжирования (например Page Rank) на ссылочном графе (миллиарды вершин, триллионы ребер, кластера из десятков машин) и проекта поисковых виджетов (фильмы, персоны, рецепты, праздники).
Руководство командой программистов, участие в создании процессов деплоя и тестирования. Пропагандирование множества полезных практик: юнит-тестирования, непрерывной интеграции, переход на git, подход pull-request с pre-commit ревью кода и т.д.
Технологии: С++, hadoop, yarn, hdfs, hbase, zookeeper, redis, postgresql, map-reducehttps://www.vipole.com/en/
Ведущий программист
Март 2012 - Ноябрь 2013
Проектирование и разработка сервера для программы, основной функцией которой является обмен мгновенными сообщениями, видео, аудио звонки (в том числе и на стационарные телефоны) и конференции. От множества других подобных программ эта отличается полным шифрованием на стороне клиента.
Работа в этой компании я сделал:
Технологии: C++, асинхронность, redis, mongodb.
Платформа: Linux.
http://www.eme.ru,
http://www.eme-wms.ru
Team lead
Апрель 2005 - Март 2012
Разработка и проектирование ядра ERP (WMS, CRM) системы EME DB. Система является клиент-серверной распределенной платформой и включает в себя базу данных, HTTP сервер, редактор диалогов, внутренний язык программирования, система SQL-подобных запросов, генератор отчетов. Более подробная информация о системе доступна на сайте http://www.eme-wms.ru/.
2005 - 2006 Участие в различных проектах по автоматизации торговой, риэлторской и рекламной деятельности. Руководитель проекта по организации хранилища документов для крупной строительной компании. Участие в разработке ядра системы.
2006 - 2012 Руководитель команды разработки ядра системы. Поддержка старого кода (3 млн. строк), написание нового. Выполнено большое количество задач: оптимизация многий функций, написание профайлера для ядерного и прикладного кода, система тестирования интерфейса и записи действий пользователя, портирование программы на ОС Linux. Разработка Web приложений как для внутреннего использования, так и для клиентов.