Алексей Некипелов

Email: alex@nekipelov.net.
Год рождения: 1983.

Что мне интересно

Основной язык програмирования: C++. Также мне интересны rust и ruby.
Linux или unix совместимые операционные системы.
Разработка backend части сервисов, высоконагруженных и отказоустойчивых серверов.
Работа с большими данными (но не ML).

Ключевые навыки

Опыт работы

Mail.Ru Group

https://corp.mail.ru/
Team lead, команда антиспама
Октябрь 2015 - настоящее время

Работал над системой агрегации логов действий пользователей (для offline анализа математиками), аналог scribe с дополнительными возможностями. Поток больше 10 Гб логов в минуту.

Работал над системой агрегации статистики поведения пользователей (для использования сервисами в real-time). Система агрегировала и выдавала информацию по действиям каждого пользователя, каждого ip адреса, домена, отправителя и получателя.

Работал над ядром антиспама. Ядро представляет из себя клиент серверное приложение, принимающее сообщения от клиентов для анализа на спам/не спам с помощью бизнес логики, написанной командой аналитиков на языке lua. Оно обслуживает проекты Почта, Мой Мир, Mail Агент, ICQ, Юла, поток сообщений в десятки тысяч сообщений в секунду.

Проводил собеседования с кандидатми. Проделал много работы по оптимизации сервисов, повышению стабильности и качества кода, внедрил Continuous Integration.

Используемые технологии: C++, memcached, tarantool, 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-reduce
Платформа: Linux

LLC "Vipole"

https://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 приложений как для внутреннего использования, так и для клиентов.