Резюме
О навыках
- Начал изучать Erlang
- Telegram Bots
- scrapy
- pytest
- HTML, CSS, JS;
- Bootstrap
- Git, mercurial
- Travis CI
- aiohttp
- Django
- Bottle
- Pony ORM
- Peewee ORM
- Mysql
- PostgreSQL
- Python 2.7 / 3
- RQ
- Celery
- Tornado
- Redis
- CouchDB
- Docker
- RabbitMQ
- Supervisord
- Django REST Framework
- Nginx
- fabric
- *nix
- VK API
- Amazon Web Services
- Google Cloud Messaging
- Business Model
- SEO
- желание осваивать новые технологии
- люблю делиться опытом и вдохновением
- умение работать в команде
Высшее образование
Август 2013 — Июнь 2015 -> ВГТУ, Факультет информационных технологий и компьютерной безопасности. Информационные системы и технологии. Магистр. Красный диплом.
Сентябрь 2009 — Июнь 2013 -> ВГТУ, Факультет информационных технологий и компьютерной безопасности. Информационные системы и технологии. Бакалавр.
Иностранные языки
Cвободное общение с носителями языка и чтение технической документации на английском.
Закончил Oxford Language Centre. Cдал на Intermediate (2008).
Статьи на Хабрахабре
- Анализ дружеских связей VK с помощью Python — получение данных с помощью API ВКонтакте, обработка и построение графа общих друзей. Использование VkScript и хранимых процедур. Работает в 12 раз быстрее конкурентов.
- Анализ дружеских связей VK с помощью Python. Продолжение — добавление функции получения данных о «глубинных» друзьях (друзья-друзей сколь угодно глубоко), горизонтального масштабирования, 148 алгоритмов для анализа графов, улучшение алгоритма получения данных. При 2х рабочих станциях - быстрее в 60 раз по сравнению с конкурентами. Визуализация графов.
Спикер
- Moscow Python Meetup №46 - Анатомия баннерной системы Lamoda. В докладе рассмотрим баннерную систему, разработанную в Lamoda. Поговорим о функционале этой системы, из каких частей она состоит, расскажем о планах, и узнаем, с какими трудностями пришлось столкнуться на пути в прод.
- Moscow Python Meetup №34 - Lightning talk про Telegram-бота на Python. Рассказываю про то, как сходили на хакатон и создали настоящего Telegram бота, с которым можно работать, как с обычным интерпретатором Python. PythonAwesomeBot.
- Moscow Python Meetup №33 - доклад о Jupyter Notebook. Показал примеры его использования и рассказал, чем он может быть полезен для разработчика.YouTube, презентация доступна на github. Анонс, отчет, IT.Mail.Ru.
- Moscow Python Meetup №30 - доклад посвящен продолжению анализа дружеских связей VK с помощью Python — YouTube. Основано на моих статьях Анализ дружеских связей VK с помощью Python и Анализ дружеских связей VK с помощью Python. Продолжение.
- Рассказываю на Python Community Voronezh Meetup (DataArt) о github.com/stleon/vk_friends (Анализ дружеских связей VK с помощью Python) — YouTube
Мастер-классы
-
20 мая 2017 Тренер на Django Girls (Lamoda)
-
9 - 10 июля 2016 Ментор и член жюри на хакатоне GeekDay. Пост
-
29 мая 2016 Тренер на Django Girls
-
24 мая 2016 Мастер-класс для студентов МАИ. Провели мастер-класс для студентов, идея - аналог FaceMash. Фото.
-
6 февраля 2016 Тренер на первом Django Girls. О том, как это было читайте в посте.
Хакатоны
10-11 декабря 2016
Первое место, Strip Hack Moscow 2016. Команда BroCard.
24 апреля 2016
#1 Global Chatbots Hackathon. Сделали Python Telegram бота PythonAwesomeBot.
Прошли в финал
10-11 октября 2015
Участие в хакатоне «DATA.GOV.RU HACKATHON #2». Проект Народный экологический мониторинг.
Состав команды:
- Alan Mologorsky. Ведущий инженер-разработчик электронных устройств в RAMBLER&Co. Создание устройства-метеостанции.
- Anton Svetlov. Android-разработчик в RAMBLER&Co. Разработка Android-приложения.
- And me :) Инженер-разработчик Python в RAMBLER&Co. Backend (API + Admin panel)
Администраторский интерфейс:
Карта станций:
Экран с инфой:
Проект прошел во второй тур.
31 мая 2015
Победа в хакатоне «Делай Город» по созданию сервисов, игр и приложений для улучшения городского пространства. Участвовал без команды. Проект Graffiti. Пост.
Проект представляет собой веб-сервис для добавления на карту фотографий граффити на улицах города, которые можно комментировать, обсуждать, а также искать граффити рядом с местоположением пользователя.
Graffity позволит лучше понять и выявить субкультурные зоны Москвы и показать художественную ценность уличного искусства. Сервис может использоваться и как инструмент для сбора данных и анализа развития городских пространств.
Прочитанная литература о Python
- Python documentation
- Mark Lutz «Learning Python»
- Mark Lutz «Python. Pocket Reference»
- David Beazley «Python. Essential Reference»
- Luciano Ramalho «Fluent Python»
- Brett Slatkin «Effective Python: 59 Specific Ways to Write Better Python»
- Много-много статей как с Хабрахабра (Избранное), так и с других источников.
Периодически читаю доки используемых библиотек и фреймворков.
Часто просматриваю доклады, презентации и хожу на митапы (Moscow Django Meetup, Piter Py, Minsk Python Meetup, Python Community Voronezh Meetup).
Прочитанная литература о бизнес-моделях и стартапах
- Стив Бланк, Боб Дорф «Стартап. Настольная книга основателя»
- Александр Остервальдер, Ив Пинье «Построение бизнес-моделей. Настольная книга стратега и новатора»
Доп. прочитанная литература
- Фредерик Брукс «Мифический человеко-месяц»
- Том Демарко и Тимоти Листер «Человеческий фактор. Успешные проекты и команды»
- Дмитрий Айвалиотис «Администрирование сервера NGINX»
- Scott Chacon, Ben Straub «Pro Git»
- Sam Newman «Building Microservices»
- Michael Fitzgerald «Introducing Regular Expressions»
- Derek DeJonghe «Nginx CookBook» (1-3 parts)
- Thomas A. Limoncelli «Time Management for System Administrators»
Опыт работы
12 января 2017 — сейчас -> Lamoda. Старший разработчик, Отдел разработки онлайн-магазина, Департамент разработки программного обеспечения, Дирекция информационных технологий.
20 июля 2015 — 10 января 2017 -> RAMBLER&Co. Старший инженер-разработчик Python. Участие в проектировании архитектуры проекта, разработка и поддержка внешнего и внутреннего функционала проекта, разработка и поддержка корпоративных и публичных API, автоматизация бизнес-процессов, планирование задач.
Самостоятельное проектирование компонентов проекта, участие в оценке и планировании задач, улучшение и рефакторинг существующего кода, оценка трудозатрат на будущие проекты, менторство и помощь сотрудникам.
Май 2010 — Май 2015 -> Phoenix Universe. Team Lead. Консультирование, решение технических задач, принятие проектных решений, реализация. Руководство группой разработчиков (от 3 до 5), опыт работы с аутсорсом. Специализированное направление проектов — веб-разработки.
До Python разрабатывал на Java, PHP.
Для веб-проектов использую связку
- Nginx
- Python 3
- aiohttp
- PostgreSQL
Бывают разные проекты и разные задачи.
Проекты на Github
Весь список можно найти тут
- Есть private projects, в основном там используется Nginx + aiohttp/tornado + aiopg/ponyorm/peewee
- dive_into_erlang - постигая Erlang (in progress).
- hacker_rank_tasks - решаю задачки с hacker rank.
- ios-tests - как только появился swift..
- kgb-db - шуточная “статья” про дело-ориентированную бд =)
- python-bot - бот с хакатона. Пишем инструкции в телеграм, Python их выполняет. Интерпретатор в телеграме!
- habr_favs - Word Cloud меток избранных статей на Habrahabr и Geektimes.
- Graffiti Map - указанный выше проект с хакатона. Вы можете размещать фото граффити на карте и добавлять к этому фото географические координаты. Также есть карта со всеми граффити, которые добавили другие люди.
- Асинхронный многопользовательский чат - клиент-серверное асинхронное приложение, реализующие многопользовательский чат с комнатами и приватными сообщениями. Каждый запрос от клиента или сервера валидируется проверкой целостности сообщения. Описан протокол взаимодействия и схема запуска сервера. Доки.
- Тестовое задание для Многобайт — спроектировать и реализовать структуру классов, базу данных и API для управления объектами Дата-центров.
- Алгоритмы — собираю коллекцию алгоритмов, пополняю ее в свободное время.
- OmgSite. Проблематика заключалась в том, что огромный поток клиентов генерил еще больший список для анализа их сайтов. Ребятам, работающим в SEO-отделе, требовалось проанализировать каждый сайт. Этот инструмент делался на скорую руку, но стал необходимым для анализа и аудита сайтов. Осуществляет быстрый и качественный сбор информации в автоматическом режиме, достаточно указать интересующий сайт. Код не очень красив и оптимизирован, так как за него мне ничего не заплатили.
- vk_friends — Информационная распределенная система по получению, построению и анализу социальных графов из сети ВКонтакте. + 2 статьи на Хабрахабре. Строит граф дружеских связей в vk.com, собирает друзей пользователя рекурсивно сколь угодно глубоко. Самое быстрое решение в мире на данный момент.
- Тестовое задание для HH — найти медиану и баланс весов.
- HTTP уведомления от Яндекс.Деньги для Django — принимает http-уведомления от Яндекс.Деньги (https://money.yandex.ru/embed/). Записывает получаемую информацию в БД. Инструмент был создан после значительного вклада в https://github.com/stleon/Yandex-Money-Direct-Payment-HTTP-Notifications-Django, но у них было столько ошибок, что легче было написать самому.
Примеры работ на Django
Flatty Me
Flatty Me — сдай жилье или сними.
Flatty Me представляет собой бесплатную площадку для размещения и поиска объявлений о сдаче недвижимости. Предоставляем простой и удобный в использовании сервис для добавления объявлений на неограниченный срок. Присутствует функция платного продвижения объявлений.
Проект постоянно обновляем, недавно появилась подписка на рассылку объявлений с Avito.
Об обновлениях читайте в новостях Flatty Me.
Старый ролик о проекте на YouTube.
Scheduler
Scheduler начинался с консольного приложения, потом обзавелся веб-версией. Когда учился в университете, постоянно путал номера учебных недель, не мог найти нужных преподавателей и т.д.
В итоге разрабатываемая система стала моим дипломным проектом. Внутри:
- генерация расписания учебных групп в зависимости от недели
- генерация расписания преподавателей
- интерфейс администратора
- подсистема уведомления студентов
- поисковая оптимизация (автоматически генерируемый sitemap и т.д.)
- кэшировние
- подсистема вывода информации для мобильных устройств
- security testing
- twitter bootstrap
Использовалась Django 1.4, за хостинг и поддержку никто не платил, ак что у меня не было ни сил, ни желания продолжать работать над проектом. Раньше использовался данный домен.
Навбар:
Список факультетов:
Страница факультета:
Расписание для группы:
Список преподавателей:
Расписание преподавателей:
Профиль студента:
Web Page Perfomance Test:
Сайт хостился в виртуалке Ubunru Server, 128MB RAM, 2GHz CPU.
Еще
Профиль в Stack Overflow на русском
В свободное время решаю задачки с проекта Эйлера:
Участвовал в Python-викторине DataArt и победил:
Вопросы работодателю
Чтобы не забыть что-то важное, написал список вопросов работодателю. Pull Requests приветствуются