Обо мне

Специализация и профессиональные навыки:
Разработка распределеннных, параллельных, хайлоуд систем на Erlang, Java.
SemanticWeb
Системы с элементами ИИ(e.g. Jess,CLIPS,Rete,)
Знаком с: Haskell, Clojure
СУБД: BerkeleyDB, H2 DB, TimesTen, Oracle10g, AllegroGraph (RDF Store)
Платформы/каркасы: Spring, GridGain, J2EE
Другое: Linux,Emacs,Eclipse, NetBeans, Hudson, Maven, Git, SVN

GitHub: https://github.com/vjache

Профессиональные цели:
R&D

Награды, сертификаты, портфолио, проекты:
http://code.google.com/p/demetra-store/
http://code.google.com/p/singularete/
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B7nLXNeHcq-9YmFkY2M2YjEtYzUxNi00YzAyLTllY2EtNDNmMTQxMGZjNjYx&hl=en

Дополнительная информация:
Предпочтительно иметь работу на синей, восточной ветке метро, т.к. живу во Фрязино и добираюсь как правило от м.Щёлковская. Есть правда вариант от м.Комсомольская, тоже ничего.

Профессиональные навыки
Опыт работы
Сентябрь 2014 — по настоящее время
SiFox
Erlang Developer
Москва
Обязанности и достижения

Эта компания восновном имеет дело с телеком проектами как субподрядчик для таких гигантов как Билайн и Мегафон. Я реализовал различные модули для нескольких проектов, но моим основным проектом был LPS где я выступал как архитектор и разработчик. Если коротко то целью системы было отслеживание местоположения пользователей Wi-Fi в поездах московского метро. Система должна была обеспечивать RESTful API для доступа к данным о местоположении (поезд, вагон, между какими станциями метро, и к какой ст.метро движется) в реальном времени. LPS сканировала через телнет сетевые устройства поезда и восстанавливала топологию (последовательность вагонов) состава, а также собирала события от базовых станций(SNMP) в метро и от точек доступа(RADIUS) в вагонах тем самым восстанавливаю всю картину. Использовались такие инструменты Erlang/OTP, mnesia, RabbitMQ, cowboy.

Что сделал в компании:
* Дизайн проекта LPS
- Релизация основных эрланг узлов по хранению, обработке и анализу событий
- Поддержка диалога (багтрекинг, фичереквесты) по проекту LPS
* Реализация библиотеки Apache Avro формата для Эрланга (доступно на github https://github.com/SIfoxDevTeam/eavro )
* Компонент переходник на Java для “перекачивания” событий из внешней системы (с которой мы интегрировались) в наше приложение. Исполльзовались Java SE, JMS (IBM driver), Concurrency primitives (java.util.concurrency), multithreading - executors, futures, thread pools etc., Erlang jinterface (для сериализации данных в эрланговские термы)
* Для одного из проектов делал интеграцию Erlang приложений с прдуктами семейства Apache, а именно с Apache Flume, Apache Kafka. Для последнего писал клиентскую часть в связи с чем пришлось достаточно глубоко разобраться как с протоколом Kafka так и с его работой в целом.
* Учавствовал в проекте Personal Cloud Call Center на Java. Использовались такие технологии как Spring/Jetty/JPA/SQL, TypeScript, Swagger, Oracle DBMS, liquibase.
* Множество других небольших компонентов для проектов компании

Декабрь 2010 — Апрель 2014
Erlang программист/ Тимлид
Москва
Обязанности и достижения

Проектирование и разработка системы сбора, обработки и хранения биржевых данных(котировки и трейды). Обеспечивается высокая пропускная способность системы, устойчивость к высоким накрузкам, эффективное кэширование агрегатов для последующей раздаче их различным потребителям, в том числе и торговымтерминаламотображающими графики в реальном времени.
Erlang/OTP( практически полное владение платформой, есть проекты на github, e.g. zlists, elips, etc), git, JIRA, Trello, Agile

Что сделал в компании
* Дизайн распределённой архитектуры TickDB (это был набор Эрланг-узлов на разных серверах)
* Реализация основных компонентов системы среди которых ферма агрегирования данных, кэширование(eLevelDB based), ретрансляция, мониторинг
* Планирование проекта и координирование нескольких программистов (использовался в компании Trello)
* Java компоненты для приёма и перераспределения биржевых сообщений. Использовались такие технологии как conrurrency primitives, multithreading, Java BerkeleyDB, LevelDB(JNI), JAXP, UDP Sockects, JDBC (для чтения метаданных из Postgres).
* Небольшие доработки в клиентском приложении написанном на Scala.

Январь 2009 — Ноябрь 2010
Senior Java/Erlang developer
Москва
Обязанности и достижения

Проектирование и разработка системы распределённых вычислений для идентификации паттернов в геномах на основе алгоритма SPLASH. Прототип системы реализован на языке Erlang.

Также учавствовал в анализе проектировании архитектуры системы для анализа сбоев происходящих в датацентре с целью поиска корневой причины (RCA - Root Cause Analysis).

Также учавствовал в написании вспомогательных модулей на Java для систем распределённого кэширования.

Также учавствовал в разработке PAAS на Python.

Апрель 2003 — Январь 2009
Java/C# разработчик, Руководитель отдела разрабтки
Москва
Обязанности и достижения

Разработка архитектуры и реализация ПО на C# и Java, а также руководство группой разработчиков.

Система визуального анализа графовых данных баз знаний на основе семантических сетей. Клиент серверное приложение на C#.

Система для сбора, анализа, агрегации и визуализации (Веб интерфейс) семантических данных из новостных источников. Разработка велась на языке Java. Система состояла из семантического хранилища, веб-портала, а также систем лингвистического анализа текстов(дата майнинг когнитивных карт).

Высшее образование
Сентябрь 1993 — Сентябрь 1999
МФТИ-Долгопрудный
Проблем физики и энергетики; ФПФЭ
Долгопрудный
Специализация и достижения

Инженер-физик,
Элементарные взаимодействия и космология.

Январь 1993 — Январь 1999
МФТИ
Проблем физики и энергетики; ФПФЭ
Москва