Обо мне

Помимо рабочего опыта:
- ex-организатор сообщества SPb Frontend
- со-создатель конференции HolyJS
- преподавательская деятельность в корпоративных университетах
- публичный спикер: СПб, Москва, Беларусь, Украина; преимущественно JS, но были выступления про дизайн и типографику, блокчейн, data science, WebSec, проектную разработку, SRE. В среднем 6-8 выступлений в год.

Считаю запуск продукта в общем случае более приоритетной задачей, чем идеальный код, однако склонен делать исключение для ситуаций, когда поведение системы не является целостным.
Имею достаточный и разнообразных опыт для изучения новых технологий в очень сжатые сроки.
Обладаю очень высоким уровнем экспертизы в JS, практически всех вопросах веб-разработки и node.js (но для ряда вещей в стиле you don't know JS скорее всего отвечу "не знаю, и я бы предпочел, чтобы линтер запрещал писать так").
Обладаю навыком системного мышления.
Есть опыт в качестве penetration tester-а и построения систем безопасности.
Способен аргументированно обсуждать конкретные и абстрактные решения касательно практически любого вопроса в разработке it-систем - от криптографии и построения децентрализованных систем до дизайна, пользовательского опыта и воронок продаж в сети.

Как минимум базовые (могу читать, взаимодействовать с другими разработчиками, реализовать простую логику) знания языков:
java, python, php, ruby, kotlin, go, lua, c, asm, awk, clojure, lisp, dart, elixir, elm, haskell, elixir etc
Опыт работы с технологиями на бэкэнде:
PG/MySQL, Redis, Elasticsearch (не только в рамках ELK), Neo4j, CouchDB/PouchDB, LevelDB, RethinkDB, Graphite, CockroachDB
Nginx, caddy, docker, k8s, ELK, GraphQL, Kafka, RabbitMQ
Tensorflow, keras
Опыт работы с технологиями на фронтэнде/js:
- DOM API, Canvas/WebGL API, Workers, Credentials Management, WASM, IndexedDB, Media APIs, sensors APIs, WebSockets, WebRTC
- React, next.js, AngularJS, Angular, Polymer, vue.js, RxJS, most,Redux, Mobx, GraphQL, CSS3, React native, cordova
- webpack, parcel, rollup, gulp, grunt, express, koa

Что-то еще - скорее всего забыл упомянуть.

Опыт работы
NDA
Санкт-Петербург
Lead Engineer, Software Architect, Product Owner
Ноябрь 2017 — По настоящее время (2 года)

Инфраструктурный блокчейн-проект.
Интеграция с смарт-контрактами и блокчейнами ряда систем (Eos, Ethereum).

Полностью контролировал команду разработки и администрирования, довел продукт с нуля до полного выполнения ТЗ, контролировал деятельность и взаимодействовал с командами маркетинга и дизайна.

Технический стек:
- фронтэнд: react+next+rxjs+node.js
- бэкэнд: python, pg, kafka, zmq; микросервисы-акторы
- инфраструктура: docker, kubernetes + helm, elk, prometeus + kibana

Ведущий мировой поставщик услуг по разработке программного обеспечения и цифровых платформ
Санкт-Петербург
Lead Software Engineer
Март 2016 — Январь 2018 (1 год и 11 месяцев)

Был приглашен как специалист по быстродействию фронтэнда на проект браузера генома (NGB) с отрисовкой данных генома на стороне клиента.

Поднял быстродействие с 10-15FPS на референсных hi-end машинах (MBP 15) до стабильных 60FPS на референсных mid-end устройствах и отзывчивости на любых, уменьшил потребление и исправил утечки памяти до уровня, который позволял использовать приложение даже на мобильных устройствах.

Выступал в качестве внутреннего консультанта в вопросах фронтэнд- и nodejs-разработки на большом количестве проектов.

Выступал в качестве team lead, software architect в запускаемом с нуля проекте инфраструктуры для работы с геномом - от HIPAA compliant терминалов для лабораторных исследований и медицинских учреждений до системы доступа к анонимизированным статистическим данным для исследователей, с опциональной единой системой авторизации.

Трудно выделить отдельные достижения, склонен считать себя stakeholder-ом в данном проекте. Проект успешно запустился с 6 отдельными порталами на момент запуска.

Из нового опыта: контролировал и направлял работу дизайнеров, команды фронтэнда, частично - команды бэкэнда для реализации построения единой системы с целостным API, внешним видом и понятной логикой работы.

We offer technology solutions for next-generation eCommerce systems.
Санкт-Петербург
Lead Engineer, Team Lead
Май 2015 — Апрель 2016 (1 год)

В качестве lead engineer:
- работа onsite в офисе заказчика в Сан-Франциско
- поддержание и развитие системы оркестрации на node.js - точка входа в API, балансировщик, системы авторизации и безопасности, защита от DoS - для сети магазинов (онлайн, оффлайн, мобильные приложения). Стек: node.js, express, redis, oracle DB, socket.io. Из сделанного - собственно, системы безопасности и защиты от DoS, мониторинг и оповещения безопасности, схема обновления без даунтайма.

В качестве team lead:
- разработка с нуля решения для поиска по большим данным и их отображения на стороне клиента. Из сложностей, которые нужно было решать - большое количество данных, которые необходимо было отрисовывать в частично аггрегированном виде на стороне клиента, использовалось большое количество новых для того времени наработок - от web workers до asm.js

Частная практика, работа без зачисления в штат
Санкт-Петербург
Node.js/фронтэнд-разработчик
Май 2014 — Февраль 2015 (10 месяцев)

Попроектно:
- высоконагруженное приложение на node.js+socket.io+redis:
существенно улучшил показатель использования процессорного времени, внедрил мониторинг graphite+kibana, внутренний дашборд состояния приложения и БД, расследовал и исправил ошибки связности и целостности данных в приложении и БД

- система для проведения онлайн-уроков на node.js, socket.io, vue.js
реализовал с нуля аналог практически полный adobe connect

- плагин + веб-приложение для Chrome/Firefox на vue.js для управления открытыми вкладками, плеером (youtube, вк, soundcloud etc), расширения функционала различных больших сайтов

Uprock
Санкт-Петербург
Фронэнд-разработчик, тимлид
Октябрь 2012 — Май 2014 (1 год и 8 месяцев)

Пришел как junior-разработчик, в течении года достиг уровня middle-разработчика, затем стал тимлидом (и, формально, CTO) в связи с уходом технического директора.

За время работы в uprock
- реализовал >10 медийных и 1 крупный контентный проект
- внедрил git(+git-flow),
- внедрил API First архитектуру,
- смог проанализировать для новых клиентов ЦА и статистику, после чего смог убедить сменить требования с ie8 на ie10,
- проводил penetration testing аудит для тех проектов, для которых это было необходимо
- внедрил автоматическое тестирование и деплой через CI,
- внедрил "реактивный" подход (веб-компоненты, x-tags, polymer), для ряда проектов - Angular, 
- SLA по времени работы и быстродействию, 
- сборку проектов (grunt, затем gulp), 
- использование препроцессоров (sass, затем stylus, slim, затем jade),
- разработал внутренний фреймворк для быстрого создания сложных one-page сайтов, 
- сделал обязательными использование New Relic и Sentry
- постоянно взаимодействовал с заказчиками, в том числе англоязычными

Itismine
Санкт-Петербург
Создатель, Product Owner, PM
Май 2011 — Апрель 2012 (1 год)

Собственный небольшой стартап в области технических средств защиты авторского права;
привлек инвестиции (~$60k),
собрал минимальную команду (юрист, сис.администратор, разработчик ключевого функционала),
нашел подрядчиков для разработки и маркетинга,
контролировал процессы.

Потерял контроль над компанией из-за ряда действий со стороны юриста, после чего покинул ее.

На 2018 год несколько проектов с аналогичной технической функциональностью обладают оценкой в десятки миллионов долларов.

Высшее образование
Государственная морская академия им. адмирала С.О. Макарова; ЛВИМУ
Санкт-Петербург
Факультет: Судоводительский
Сентябрь 2007—Февраль 2013 (5 лет и 5 месяцев)