Читаете ли вы блог Хабр Карьеры? Если да — оцените, как мы справляемся. А если нет — расскажите, что читаете для развития карьеры. Пройти опрос (займет 5-7 минут)
Обо мне

Отличные знания языков Kotlin (пишу на нём около 4 лет, практически с момента релиза), Java 8-12 (более 6 лет).

Довольно хорошие знания Scala, Elixir, Go, Python 3. В меньше степени Erlang, Node.js, Groovy.
Предпочтения отдаются функциональному стилю программирования, но это не принципиально.

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

Очень инициативный, участвую во всех процессах команды.
Люблю и постоянно изучаю для себя что-нибудь новое.

Значительный опыт в построении архитектуры комплексных, масштабируемых и высоконагруженных систем. Опыт в организации проектов, людей и процессов разработки.
Умение работать в как в очень большой, так и в малой команде. Стараюсь разрабатывать в себе навыки во всех областях: от разработки до админства, от архитектурных навыков до лидерских.

Люблю писать качественный код, вести качественную разработку. Стараюсь как можно чаще придерживаться best practice, даже в мелочах. Покрытие тестами в разумных пределах и код-ревью считаю обязательными процессами любого длительного проекта (и жду этого от предлагаемой вакансии).

Знание английского языка на уровне B1-B2 (intermediate, upper-intermediate). Есть опыт работы и общения в англоговорящей команде.

Навыки:

Большой опыт в работе с многопоточностью, большой опыт работы с неблокирующей моделью, NIO.

Опыт работы с множеством JVM технологий: Spring (Core, Security, MVC, Webflux), Spring Boot, Spring Cloud (некоторые компоненты), Netty, Ktor, Vert.x (2 версии), RxNetty, Ratpack, Guice, Hazelcast, Akka (Core, Streams, некоторые компоненты Alpakka, HTTP), Netflix OSS, Http4K, Kodein, Java EE (основные спецификации: Servlet 3.0, JAX-RS, JAX-WS, CDI, EJB, Bean Valdation и некоторые другие; сервер - Weblogic, JBoss AS/ WildFly/ WildFly Swarm), Oracle ATG, многие другие.
RxJava, Reactor (в меньшей степени), реактивные концепции.
Сборщики: Gradle, Maven.

Опыт работы с различными СУБД: классические реляционные СУБД (в основном PostgreSQL, в меньшей степени MySQL), ClickHouse, BigQuery, ElasticSearch, Prometheus, InfluxDB.
Кэши: Aerospike, Hazelcast, Redis.
Key-value: etcd, Сonsul.
Опыт работы с Kafka, в том числе администрирование.
Также Kafka Streams, JVM и Go (Sarama) продьюсеры и консьюмеры.

Небольшой опыт работы с Hadoop (писал несколько Map-Reduce-ов), но неплохое теоретическое понимание. При необходимости могу легко обучиться экосистеме.

Опыт построения стриминговой обработки данных: Kafka, Kafka Streams, Apache Flink, Akka Streams + Alpakka.

Опыт в администрировании: Aerospike, Hazelcast, Elasticsearch. В меньшей степени PostgreSQL, Consul.


Пишу и считаю крайне необходимыми тесты: unit и интеграционное тестирование, нагрузочное. Предпочитаю BDD и TDD.

Опыт внедрения CI, CD: Gitlab CI, Concourse CI, Jenkins (в т.ч. Jenkins-X).

Опыт с Ansible.
Опыт в работе с контейнерными системами: Docker, Docker-compose, Kubernetes. Опыт внедрения Kubernetes (self-hosted) в проект с нуля.
Опыт администрирования Kubernetes. Могу легко поднять кластер Kubernetes на голом железе с сетью, шифрованием, балансировкой, хранилищем и т.д.
Среди K8S технологий опыт: Helm, Rook (Ceph), OpenEBS, Ingress (Nginx), Flannel, Weave.
Опыт внедрения облачной архитектуры в проект.

Знание структур данных, алгоритмов, паттернов и т. п.

Git, Gitflow, YouTrack, Jira, Asana.
Опыт работы по методологиям Scrum, Kanban.

Опыт работы с Linux (Debian и Ubuntu, в меньшей мере CentOS и RHEL). Работаю и живу также под Linux. Если рабочий комп - Mac, будьте готовы что я поставлю на него Linux (прецедент есть).

Мой GitHub: https://github.com/Yanislavcore

Профессиональные навыки
Опыт работы
Mobile ads
Senior Java Developer
Март 2019 — Март 2020 (1 год и 1 месяц)

Крупная международная сеть мобильной рекламы в сфере RTB и программатик. Сеть занимается продажей как first-party (большая часть) так и third party (через собственную DSP) саплая рекламных запросов как внутренним рекламодателям, так и внешним (через собственную SSP и другие интеграции).

Занимался разработкой ключевой высоконагруженной части системы, занимающейся подбором и выдачей рекламных кампании для запросов на рекламу от мобильных приложений с рекламными размещениями. В ходе работы принимал значительное участие в переработке старых legacy частей системы. Предложил, спроектировал и внедрил несколько новых ключевых сервисов системы.
Языки: Java 8/11, Kotlin, Scala, Go.
JVM стек: Kotlin Coroutines, Ktor, Guice, SQEngine.
Go: Mux, Sarama.
Kafka, Kafka Streams, Aerospike, Clickhouse, Vertica, MySQL.
ELK, Docker, Kubernetes (self-hosted), Helm, Jenkins, Ansible.

Частная практика, работа без зачисления в штат
Октябрь 2018 — Март 2019 (6 месяцев)

В одиночку занимался небольшим проектом под заказ знакомых. Система мониторинга социальных сетей с целью поиска и выявления пользователей, групп/пабликов и связанных трендов определённой группы.
В итоге проект оказался довольно неудачным, но дал много опыта. В данном проекте занимался всем видом работ: от бизнес-аналитики и согласования требований до реализации и администирования системы. Система небольшая по коду, но довольно затратная по ресурсам - в пике до 60 виртуалок (~8CPU/32Gb).
Технологии:
Kotlin 1.3 (JDK 11), Akka (remote, http, streams, cluster), Alpakka, Ktor, Selenium для веб-краулинга.
Node.JS, Puppeteer для веб-краулинга.
Kafka, Elasticsearch, Aerospike, Clickhouse, PostgreSQL.
Kubernetes (self-hosted), Helm, Ansible.

Auditorius
Москва
Старший разработчик
Апрель 2018 — Ноябрь 2018 (8 месяцев)

Компания - один из крупнейших независимых игроков на рынке RTB рекламы на рынке России.

Ключевой продукт компании - DSP (Demand-side platform) - достаточно зрелая, но активно развиваемая высоконагруженная и высокодоступная система. В пике система способна обрабатывать до 60К запросов в секунду. В качестве хранилища используется кластер Aerospike c выделенным RAM объёмом >2ТБ, сотни ТБ логов в Hadoop и BigQuery.

Кроме DSP (монолит) в системе порядка 30 вспомогательных как средних по размерам сервисов, так и микросервисов.

В рамках проекта занимался разработкой и развитием DSP системы, внутренней DMP (Data Management Platform) и вспомогательных сервисов.
Занимался развитием и разработкой архитектуры системы и проекта в целом. Значительную часть времени уделял аналитике, код-ревью, организацией процессов разработки и воркфлоу.
Большое количество времени уделял организацией работы команды. Занимался менторством и частичным руководством 2-3 Junior разработчиков.
В ходе работы произвёл крупные архитектурные преобразования в проекте, внедрил облачную архитектуру, внедрил в проект Kubernetes (self-hosted), перенёс на него микросервисы (ранее, они работали под docker-compose), внедрил полноценный CI (ConcourseCI) для большинства компонентов и CD для деплоя на Kubernetes, внедрил в проект EFK/ELK.

Стек технологий:
JDK 8/10 + Lombok, Spring 4/5, Spring Boot 1/2, Spring Data JPA/MongoDB, Spring Security, некоторые компоненты Spring Cloud (от многих в итоге отказались).
Некоторые мат.модели и мат. тесты на Python 3.
Docker, Compose (для интеграционных тестов), Kubernetes, Helm.
Базы: Postgres, Mongo, Hadoop, BigQuery, Aerospike.
ELK/EFK (внутри K8S FluentBit, остальные сервисы через Logstash), ConcourseCI, Rundeck, Prometheus, Grafana, Nexus, Nginx (в том числе Ingress).

Сервис для создания интернет-магазинов
Разработчик
Ноябрь 2017 — Февраль 2018 (4 месяца)

Разработка и ведение отдельных модулей развивающегося IoT проекта. Kotlin, Java 8 и достаточно минималистичный технический стек (Http4k, Kodein, Jdbi).

Лидирующий поставщик на рынке информационных технологий и консалтинговых услуг
Разработчик
Сентябрь 2017 — Ноябрь 2017 (3 месяца)

Разработка в крупном проекте для Теле 2 на Java. Oracle ATG, Endeca, Weblogic, Oracle SQL - кровавый энтерпрайз. Было весело, но быстро надоело.

Олимп
Москва
Разработчик
Март 2016 — Июль 2017 (1 год и 5 месяцев)

Первый коммерческий опыт в разработке. Немного Scala, затем и Kotlin. Разнообразный технический стек: Spring, Spring Boot, Ratpack, Guice, чистый Netty местами, Hazelcast, RxJava, JDBI, Kotlin Expose... Netflix OSS (Eureka, Ribbon, Hystrix), Docker, Микросервисы.  Postgres, ClickHouse (как ни странно), Mongo, Influx.

Некоторое время (3-4 месяца, пока не ушёл) занимался руководством небольшой выделенной команды (сам и ещё 2 человека). Делегирование задач и ответственности, проведение код-ревью, наставничество. 

Ушёл из-за некоторой специфики в сфере деятельности компании.

Высшее образование
МИРЭА — Российский технологический университет
Москва
Факультет: Институт информационных технологий – Информационные системы и технологии
Сентябрь 2015—Июль 2019 (3 года и 10 месяцев)

Специальность 09.03.02 "Информационные системы и технологии".

В университете учился дабы не попасть в армию, тем не менее закончил с красным дипломом.