Запускаем сервис оценки компаний как работодателей на «Моем круге». Узнать подробности
Профессиональные навыки
Опыт работы
Февраль 2018 — по настоящее время (6 месяцев)
SKU Grid
senior frontend developer
Санкт-Петербург
Обязанности и достижения

Разработка ПО

Декабрь 2014 — Февраль 2018 (3 года и 3 месяца)
senior javascript developer
Санкт-Петербург
Обязанности и достижения

SPA: инструмент для анализа позиций доменов в поисковой выдаче.

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

1. Основные обязанности.

Весь спектр задач по развитию фронта: архитектура, поддержка, внедрение нового функционала, стратегия технического развития, верстка, сборка и т.д. 

В начале: backbone.js + jQuery. Для графиков используется highcharts.js. А также: lodash, select2, etc.

Сейчас идет процесс миграции на react +  redux (+ redux-saga). Весь новый функционал пишется на новом стеке. Старый постепенно переписывается.

1.1. Что примечательного было сделано с технической стороны:

  • выделение приложения в отдельный репозиторий;
  • es5 -> es6/7;
  • обновление библиотек до актуальных версий;
  • миграция grunt -> webpack;
  • внедрение jscs, eslint; обновление кодовой базы под стандарт;
  • модернизация архитектуры
  • битвы с вебаком - оптимизация сборки;
  • разработка сервиса логгирования js-ошибок в браузере (отправка лога на бекенд(node.js), восстановление минифицированного кода по sourcemap, отправка результата в splunk). 
  • поддержание работоспособности приложения в условиях симбиоза архитектур: backbone + react/redux.

2. Кроме разработки занимался/занимаюсь:

  • организация виртуальных команд для работы над частью задач;
  • фасилитация периодичных межкомандных митингов(совещаний) frontend-разработчиков; курирование задач; выполнение lead-обязанностей. 
  • непосредственное участие в развитии архитектуры всего сервиса.
  • выступление на sprint review.

3. Рабочий процесс.

Agile, каноничный Scrum: двухнедельные спринты, planing, daily scrum, scrum master, scrum couches, sprint retrospective, etc. 

Большая свобода у команды: найм/увольнение коллег, выбор технологий, формирование sprint backlog, etc. 

Высокий уровень ответственности (uptime продукта, выпуск нового функционала, бекапы, etc). 

Команда обладает полным набором компетенций для поддержки и развития инструмента.

Июль 2013 — Декабрь 2014 (1 год и 6 месяцев)
Topface
Javascript developer
Санкт-Петербург
Обязанности и достижения

Работал я в отделе монетизации и экспериментов. Задачи:

  • прототипирование экспериментов;
  • реализация успешных, удаление неудачных;
  • поддержка клиентской части системы оплаты (куча разных провайдеров).

Рабочий процесс был построен по распространенной схеме:

  1. менеджер придумывает задачу;
  2. я эту задачу детально оцениваю;
  3. согласовываем сроки/ТЗ до приемлимых;
  4. реализация/тестирование задачи;
  5. доставка до пользователя.

Большую часть времени работал в паре в backend-разработчиком.

После тестирования код всегда проходил ревью.

По технической части:

использовался backbone-подобный внутренний фреймворк. Из внешних библиотек - lodash. Внутренний клиент-серверный xml-шаблонизатор. Огромное количество legacy-кода.

Из интересных задач:

  • анализ базовых классов и их потомков на предмет утечек памяти (нашел много интересного); 
  • система тестирования (ничего сложного: вопрос-ответ, хранилось всё в mongo);
  • реализация идеи в рамках хакатона, которая позже стала частью основного фукционала;
  • поддержка работоспособности приложения как в standlone варианте, так и в iframe в соцсетях (вк, fb, ok).
Август 2012 — Июль 2013 (1 год)
ООО "Восстания 6"
Full stack web developer
Санкт-Петербург
Обязанности и достижения

Начало карьеры.

Разрабатывал онлайн-шахматы.

Был найден javascript-движок шахматного AI с небольшой обвязкой: простой интерфейс и возможность играть.

Движок был построен так, что мог работать как в веб-воркере, так отдельно (полностью блокируя работы браузера, зато кроссбраузерно).

Основная работа заключалась в создании обвязки:

  • внешний вид;
  • работа с историей партии (save/load и т.п.);
  • режим онлайн-игры с человеком;
  • модернизация движка (отсутствовала возможность рокировки, режим шахмат Фишера)
  • настройка "силы" AI

По технологиям:

на клиенте jQuery, на сервере php и база на mysql

Это было начало моей карьеры, поэтому все задачи были интересными.

На этом проекте я был единственным разработчиком.

http://logic-games.spb.ru/chess/

Май 2012 — Июль 2012 (3 месяца)
Стартап (на тот момент не было названия)
javascript developer
Санкт-Петербург
Обязанности и достижения

Стартап не имел названия. Делал CRM для диспетчеров такси.

Не использовалось никаких фреймворков.

На этот момент у меня не было опыта js/php и опыта коммерческой разработки.

Только опыт академического с/с++ и turbo pascal (на примере лабораторных работ по реализации всяких сортировок и т.п.).

Работал с API. (Модернизация ошибочного решения передачи данных битовыми масками. Ошибочного, потому что требования слишком часто и сильно менялись).

Апрель 2012 — Май 2012 (2 месяца)
Yota
сотрудник технической поддержки
Санкт-Петербург
Август 2011 — Декабрь 2011 (5 месяцев)
Группа компаний МЭТР
стажер программист 1с
Санкт-Петербург
Обязанности и достижения
Работа с клиентами, доработка конфигураций, работа с выгрузками.
Февраль 2011 — Июнь 2011 (5 месяцев)
Юниум (бывший ФТК)
Преподаватель
Санкт-Петербург
Обязанности и достижения
Преподавание основ C# и основ web-конструирования.
Высшее образование
Сентябрь 2008 — Июнь 2013
СПбПИ
Технической кибернетики; ФТК
Санкт-Петербург
Специализация и достижения
Кафедра Системного Анализа и Управления (САиУ).