Обо мне

Специализация и профессиональные навыки:
Языки:
- Прекрасно: PHP, JavaScript, SQL
- Middle: JAVA, go
- Junior: ActionScript, C#, C++, C
- В процессе глубокого освоения: Android platform
Фреймворки:
- Фронтенд: jQuery, jQuery UI, Ember.js, Batman
- Бэкенд: yii, revel
СУБД:
- MySQL/Percona (уверенно)
- Redis (в процессе освоения)
- MongoDB (так себе)
- PostgreSQL (тыкаю палочкой)
Управление проектами и исходным кодом:
- Git, Subversion
- BaseCamp, Redmine
- Wiki, PhpDoc, JavaDoc
Прочее:
- Amazon Web Services, Google Fusion Tables
- HTML, CSS
- XML, json, Google Protocol Buffers(protobuf)
- Люблю семейства IDE от JetBrains
- Уверенный пользователь Linux (CentOS/Ubuntu/Debian)

Профессиональные цели:
Самореализация и развитие

Награды, сертификаты, портфолио, проекты:
Закрытые исходники:
Fprints.ru (разработка), Zapravka.in (поддержка), Forprints.ru (поддержка)

Открытые исходники:
Mangos (getmangos.com) – open source World of Warcraft server
Bh_engine - движок для цитатника аля bash.org.ru (https://xp-dev.com/svn/bhengine/)
SocialAPI(единый интерфейс для доступа к API социальных сетей и сервисов) - ссылка на репозиторий будет опубликована после написания основных адаптеров социальных сетей
Euler Project - культовый ресурс с головоломками для программистов. Репозиторий с решениями: https://github.com/DeusModus/euler

Членство в обществах и ассоциациях:
Клуб любителей вертолетов и парусников

Дополнительная информация:
Подтягиваю английский(читаю/пишу нормально, а с разговорным хреново).

Готовлю репозиторий с интересными алгоритмами.
Уже закончил практически все значимые алгоритмы сортировки. Как только будет готова платформа для просмотра и тестирования этого добра выложу на гитхаб.

Проникся симпанией к golang. Зарёкся после четырех успешных опытов применения на продакшне сесть за opensource игру. Очень уж хочется реализовать схему clientside js+backend go связать с protobuf и веб-сокетами, но на работе пока такое не нужно.

Профессиональные навыки
Опыт работы
Июнь 2015 — по настоящее время
Clickadu
Tech Lead
Прага
Февраль 2014 — по настоящее время
Winner Solutions
TeamLead
Санкт-Петербург
Обязанности и достижения

Обязанности:
- Против ветра

Достижения:
- Пока сухой

Февраль 2014 — Апрель 2014
SMTDP
CTO
Санкт-Петербург
Май 2013 — Январь 2014
Embria
Ведущий разработчик
Санкт-Петербург
Обязанности и достижения

Обязанности:
- Разработка архитектуры проектов компании
- Разработка, поддержка и внедрение процессов тестирования и деплоймента продуктов
- Определение технологий, решающих конкретные задачи максимально эффективно
- Решение нетривиальных задач
- Коммуникация и нахождения точек соприкосновения с системными программистами

Достижения:
- Спроектировал и написал систему деплоймента продуктов компании
- Спроектировал и написал фреймворк для ускоренной разработки интерфейсов desktop приложений на html/js
- Кесарю кесарево - часть задач, решавшихся в компании с помощью php+apache теперь решается более эффективно с помощью golang
- Написал прототип бекенда для свободной системы дистрибуции обновлений Google Omaha, что позволило понять возможность использования данной системы для продуктов компании
- Написал веб-сервис, на лету подписывающий win32 бинарники произвольными данными без потери цифровой подписи, решило кучу проблем в выявлении источников установок продуктов
- В кротчайшие сроки освоил базовую часть Android Platform и позволил компании выйти на рынок мобильных приложений

Июль 2012 — Январь 2014
Эмбриа
Разработчик ПО
Санкт-Петербург
Обязанности и достижения

Обязанности:
- Поддержка бекенда существующего высоконагруженного приложения
- Разработка новых продуктов компании
- Участие в разработке архитектуры проектов
- Написание и поддержка Batman(фреймворк для разработки модульных html5 приложений(ключевики: модульность, тестиуемость, сборка)
- Поддержка каркаса для создания расширения для популярных браузеров
- Интеграция продуктов с существующей инфраструктурой(percona реплики, сервера под статику, средства деплоя)
- Прозрачное и поддерживаемое взаимодействие с сервисами других компаний из группы Embria(адаптеры, прокси-классы, обертки)

Достижения:
- Переписал API руками, позволив проекту почувствовать себя свободно на имеющихся мощностях
- Наладил систему deployment`а бекенд и фронтенд частей
- Предложил схему реорганизации приложения, которое в минимальные сроки позволит осуществлять быстрое наращивание функционала
- Провел поверхностный анализ системы, выявил уязвимые ко взлому/нагрузкам места и устранил проблемы
- Внедрил на фронтенде Ember.js и разделение кода и представления(шаблонизация на клиенте, обмен данными через API)
- После расширенного анализа программной системы сократил 10 миллионов обращений к БД в сутки(30/70 : write/read)
- Перевел весь код, относящийся к модели данных на PDO, морально устаревший php mysql ext выброшен на свалку
- Провел масштабную чистку БД и отделил зерна от плевел, удалив около 8 миллионов бесполезных строк
- Организовал раздачу статического контента(1 гигабит/сек в среднем, до 15 гигабит/сек в пиках) через CDN

Декабрь 2010 — Июнь 2012
Разработчик ПО
Санкт-Петербург
Обязанности и достижения

Обязанности:
- Управление проектом - составление списков задач, распределение между сотрудниками.
- Разработка fprints.ru - разработка решения, удовлетворяющего постоянно меняющемся требованиям.
- Поддержка трех других сайтов компании. Тестирование - функциональное тестирование.
- Разработа и поддержка средства для синхронизации интернет-магазина и ERP системы.
- Написания всевозможного дополнительного инструментария в виде desktop приложений.
- Интеграция с внешними API.

Достижения:
- Заставил CMS Web-Asyst Shop-Script работать в 6 раз быстрее.
- Написал программу, которая безопасно синхронизирует сайт и 1С за 2 минуты(фото, характеристики, варианты фильтрации, товары, каталог, описания, etc)
- Внедрил использование basecamp для управления проектами и сэкономил всем кучу нервных клеток.
- Оставил права на запись в репозиторий(svn) только себе. Привил культуру работы с патчами. Вражеский код не пройдет.
- Выдержал вести один проект два года с небольшими перерывами(1-2 недели) на дополнительные. Для своего возраста считаю выдержку достойной уважения.
- Написал крутое ajax оформление, которое активно работает с состояниями - заобновляйтесь страницу, вы ничего не потеряете.
- Поставил, настроил sphinx и отшлифовал поиск так, что можно искать что угодно и как угодно.
- Интегрировал огромную базу совместимости между товарами(существующими и несуществующими) и сделал возможным искать товары и по совместимости тоже
- Установил и настроил nginx для отдачи статики, настроил правильные заголовки и ускорил работу сайта.

Декабрь 2009 — Ноябрь 2010
MobiShop
Программист
Санкт-Петербург
Обязанности и достижения

Обязанности:
- Разработка площадки для электронной коммерции
- Платформа для размещения товарных предложений на внешних площадках
- Содание простейших средств учета продаж/доходов/расходов
- Написание утилит для анализа рынка(цены, остатки конкурентов)

Достижения:
- Написал программу, которая выдает цены всех значимых конкурентов в yandex.maket и прочих площадках по данному товарному предложениюю
- Привил учет финансов, приходов, расходов, чем сэкономил кучу нервных клеток всем работникам компании
- Увеличил продажи в 5 раз, управляя размещением каталога
- Сумел сэкономить компании время на copy-paste характеристик, написав парсер некого стороннего авторитетного сайта

Высшее образование
Январь 2010 — Май 2015
СПбГУАП
Вычислительных систем и программирования (Вычислительных и радиоэлектронных систем); 4
Санкт-Петербург
Январь 2010 — Январь 2013
СПбГУАП
Вычислительных систем и программирования (Вычислительных и радиоэлектронных систем); 4
Санкт-Петербург
Специализация и достижения

Заочка с свободным посещением. Был еще политех, который пришлось бросить из-за финансовых проблем.
В целом считаю, что self-actualization в нашей стране намного важнее любого образования. Очень много читаю, стараюсь учиться системно с созданием прочной основы для будущего здания.

Рекомендательные письма
frontend • знакомый

Широкий и фундаментальный охват предметной области, Разработчик с большой буквы. Прекрасно сможет руководить.

Письмо написано 14 февраля 2014 в 17:00