О навыках

  • Начал изучать 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
  • желание осваивать новые технологии
  • люблю делиться опытом и вдохновением
  • умение работать в команде

Mine word cloud

Высшее образование

Август 2013 — Июнь 2015 -> ВГТУ, Факультет информационных технологий и компьютерной безопасности. Информационные системы и технологии. Магистр. Красный диплом.

Сентябрь 2009 — Июнь 2013 -> ВГТУ, Факультет информационных технологий и компьютерной безопасности. Информационные системы и технологии. Бакалавр.

Иностранные языки

Cвободное общение с носителями языка и чтение технической документации на английском.

Закончил Oxford Language Centre. Cдал на Intermediate (2008).

Статьи на Хабрахабре

  • Анализ дружеских связей VK с помощью Python — получение данных с помощью API ВКонтакте, обработка и построение графа общих друзей. Использование VkScript и хранимых процедур. Работает в 12 раз быстрее конкурентов. Анализ дружеских связей VK с помощью Python
  • Анализ дружеских связей VK с помощью Python. Продолжение — добавление функции получения данных о «глубинных» друзьях (друзья-друзей сколь угодно глубоко), горизонтального масштабирования, 148 алгоритмов для анализа графов, улучшение алгоритма получения данных. При 2х рабочих станциях - быстрее в 60 раз по сравнению с конкурентами. Визуализация графов. Анализ дружеских связей VK с помощью Python. Продолжение

Спикер

Мастер-классы

  • 9 - 10 июля 2016 Ментор и член жюри на хакатоне GeekDay. Пост

  • 29 мая 2016 Тренер на Django Girls

  • 24 мая 2016 Мастер-класс для студентов МАИ. Провели мастер-класс для студентов, идея - аналог FaceMash. Фото.

  • 6 февраля 2016 Тренер на первом Django Girls. О том, как это было читайте в посте.

Хакатоны

10-11 декабря 2016

Первое место, Strip Hack Moscow 2016. Команда BroCard. Win

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)

Администраторский интерфейс: Admin

Карта станций: Android1

Экран с инфой: Android2

Проект прошел во второй тур.

31 мая 2015

Победа в хакатоне «Делай Город» по созданию сервисов, игр и приложений для улучшения городского пространства. Участвовал без команды. Проект Graffiti. Пост.

Проект представляет собой веб-сервис для добавления на карту фотографий граффити на улицах города, которые можно комментировать, обсуждать, а также искать граффити рядом с местоположением пользователя.

Graffity позволит лучше понять и выявить субкультурные зоны Москвы и показать художественную ценность уличного искусства. Сервис может использоваться и как инструмент для сбора данных и анализа развития городских пространств.

Graffiti

Прочитанная литература о 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)

Опыт работы

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
  • 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 — сдай жилье или сними.

Flatty Me представляет собой бесплатную площадку для размещения и поиска объявлений о сдаче недвижимости. Предоставляем простой и удобный в использовании сервис для добавления объявлений на неограниченный срок. Присутствует функция платного продвижения объявлений.

Проект постоянно обновляем, недавно появилась подписка на рассылку объявлений с Avito.

Об обновлениях читайте в новостях Flatty Me.

Старый ролик о проекте на YouTube.

Scheduler

Scheduler начинался с консольного приложения, потом обзавелся веб-версией. Когда учился в университете, постоянно путал номера учебных недель, не мог найти нужных преподавателей и т.д.

В итоге разрабатываемая система стала моим дипломным проектом. Внутри:

  • генерация расписания учебных групп в зависимости от недели
  • генерация расписания преподавателей
  • интерфейс администратора
  • подсистема уведомления студентов
  • поисковая оптимизация (автоматически генерируемый sitemap и т.д.)
  • кэшировние
  • подсистема вывода информации для мобильных устройств
  • security testing
  • twitter bootstrap

Использовалась Django 1.4, за хостинг и поддержку никто не платил, ак что у меня не было ни сил, ни желания продолжать работать над проектом. Раньше использовался данный домен.

Навбар:

Scheduler Навбар

Список факультетов:

Scheduler список факультетов

Страница факультета:

Scheduler Страница факультета

Расписание для группы:

Scheduler Расписание для группы

Список преподавателей:

Scheduler Список преподавателей

Расписание преподавателей:

Scheduler Расписание преподавателей

Профиль студента:

Scheduler Профиль студента

Web Page Perfomance Test:

Scheduler Web Page Perfomance Test

Сайт хостился в виртуалке Ubunru Server, 128MB RAM, 2GHz CPU.

Еще

Профиль в Stack Overflow на русском

Профиль пользователя Lev на веб-сайте Stack Overflow на русском,Q&A for программистов

В свободное время решаю задачки с проекта Эйлера:

Project Euler

Участвовал в Python-викторине DataArt и победил:

Python Quiz