Опыт работы
Май 2014 — Июль 2014
под nda
node.js developer
Санкт-Петербург
Обязанности и достижения

Бэкэнд-разработчик высоконагруженных приложений на node.js:перенос большей части API на socket.io + в socket.io api - перевод логики приложения на паттерн observer; интеграция с graphite, kibana; модуль анализа данных БД и построения отчетов на sails.js.Не вписался в коллектив: проект был некорректно выстроен с точки зрения архитектуры, при интеграции регулярно возникали проблемы, связанные с отсутствием документации, отсутствием единообразой логики в реализациях отдельных модулей, большим количеством deprecated-кода (без аннотаций) и невозможностью прямого получения необходимых данных, а так же паника при виде простейшего convention over configuration и нелюбовь к покрытию критичного кода тестами.Особую изюминку добавляло использование трех redis-серверов без карты размещения данных, при этом нотация двух логически связанных полей могла кардинально различаться, они могли быть разнесены на разные сервера, в качестве разделителей использовались четыре различных символа.К тому же убедился, что бэкэнд это интересно, но все же не мое.Поставленные задачи были реализованы

Октябрь 2012 — Май 2014
Uprock
фронтэнд-разработчик -> тимлид
Санкт-Петербург
Обязанности и достижения

Начал с фронтэнд-разработчика, со временем до ключевого разработчика, затем основного тимлида.Внедрил git(+git-flow), API First архитектуру, мотивированно перевел запросы новых клиентов с ie8 в ie10 в 80% случаев + мобильные устройства (каждый раз проводил анализ ЦА, источников траффика, выходило, что ie8-9 в их случае составлял в среднем менее 2 процентов целевой аудитории), доказывая, что за счет отказа от поддержки старых браузеров получаем меньшее время разработки и более высокое качество выходного продукта, внедрил автоматическое тестирование и деплой через CI.Внедрил "реактивный" фронтэнд (веб-компоненты, x-tags, polymer, corner.js), базовые требования к проекту по надежности и быстродействию, сборку проектов (grunt, затем gulp), использование препроцессоров (sass, затем stylus, slim, затем jade, второй переход был для быстродействия), разработал внутренний фреймворк для быстрого создания сложных one-page сайтов, сделал обязательными на большинстве проектов использование New Relic и Sentry для аналитики и отладки.Участвовал и вел разработку проектов с сильной графической составляющей (canvas, css3, webGL), сложных веб-приложений (AngularJS, Backbone.js - мало, rivets.js, внутренний, в скором времени опенсорсный изоморфный фреймворк Naginata), проводил обусификацию кода и пентест бэкенда (для нескольких промо-проектов с дорогими призами), осуществлял интеграцию со всем подряд (соцсети, различные шлюзы, CRM-системы, датчики с реального мира), строил кластер (точнее рой - была необходимость в очень большом количестве слабых машин для парралельной обработки данных), проектировал архитектуру видеопортала, который в дальнейшем и реализовал (imon.ru).Большинство проектов под NDA, либо просто недоступны, при необходимости, конечно, всегда есть возможность запустить локальную копию или сделать скриншоты для понимания реальной сложности реализованной задачи.Зачастую работал непосредственно с заказчиком, в том числе полностью вел переговоры с шведским офисом Philips(на английском).

Март 2011 — Март 2012
itismine!
фронтэнд-разработчик/pm
Санкт-Петербург
Обязанности и достижения

Создал с нуля, привлек инвестиции, запустил и начал раскрутку проекта.Суть - защита авторского права онлайн (технологический стартап, не юр. поддержка).Изучил технологию на базе новых на тот момент поправок в ГКРФ про авторское право и ЭЦП и имеющихся технологических решений, понял, что это может быть актуальным, собрал команду (бэкэнд-разработчик, системный администратор, юрист), начали разработку. Поняли, что своими силами не справимся - нужна была интеграция с "железными" решениями, смогли при помощи юриста найти и привлечь инвестиции, которые в итоге, к сожалению, вылились в силу моей нехватки опыта в данном вопросе в большую проблему, в итоге попытка изменить маркетинговую стратегию и привлечь более грамотного специалиста привела к остановке финансового потока ("вы и так эти деньги потратили непонятно на что").Покинул проект, когда понял, что потерял контроль над ним и не могу двигать его в том направлении, которое считаю верным.