Зарплаты разработчиков разных квалификаций в первом полугодии 2019 по данным сервиса зарплат «Моего круга»: читать исследование на Хабре
Обо мне

Активно увлекаюсь разработкой софта с 14 лет. Начинал с Python и фронтенда (SPA на первом Angular, потом Backbone/MarionetteJS). Спустя год переехал на Java/Spring, попробовал писать под Android и на Go, а в начале 2016 открыл для себя связку Kotlin/Spring. 

Почти 4 года (до осени 2017 года) у меня не было возможности полноценно совмещать работу и учебу, так что я старался развиваться за счет pet-project’ов и довольно редкого фриланса. Это был весьма ценный опыт, который очень пригодился в реальной работе. Но указывать pet-project’ы в опыте работы счел несколько некорректным, поэтому подробности моего становления как разработчика я вынес в свой блог.

Помимо непосредстванно backend-разработки у меня довольно много опыта с devops-технологиями: Docker, Kubernetes/Rancher/Swarm, Ceph, ELK-stack/Prometheus. Но работу чисто в роли devops-инженера не рассматриваю.

Очень люблю Kotlin, но понимаю, что в серверной разработке он все еще редкость. Поэтому вполне готов к "дауншифтингу" на Java: это не должно стать проблемой с учетом полного интеропа (и как следствие - использования одних и тех же библиотек).

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

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Первый российский банк с японским капиталом
Главный разработчик в отделе сопровождения ДБО
Июль 2019 — По настоящее время (5 месяцев)
Создаем удобную финансовую экосистему. Рушим стереотипы о банковских продуктах, делая их понятными и приятными
Kotlin/Spring Backend Developer
Февраль 2019 — Июль 2019 (6 месяцев)

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

Первый - инструмент, занимающийся построением временных рядов (метрик в стиле prometheus'а) в реалтайме на основе потока логов из Kafka (~10 млн. событий в час, ~200 мбит/с). Полученные данные отрисовывались в Grafana, аггрегировались в соответствии с развесистыми правилами и анализировались при помощи ML-моделей и stability index. Ну и алерты, конечно же. Стэк: Kotlin, Spring (Boot, Cloud, Data, Kafka), Kafka, PostgreSQL, Oracle DB, Kubernetes (OKD), TeamCity.

Второй проект - переписывание диспетчера, слушающего события из шины данных (IBM MQ) и прокидывающий их внутрь большой state-машины, занимающейся обработкой заявок на новые продукты. Kotlin, Spring, Oracle DB, IBM MQ.

В целом, работа в Тинькофф - офигенный опыт,  но рассчитывать на какой-либо значительный технический или карьерный рост здесь, как и в любой корпорации, не приходится. Ну и у меня есть масса вопросов к политике относительно джунов/сеньоров, к зарплатной политике и к развитию технических компетенций сотрудников,  но это уже совсем другая история.

Моб. прил. с базой ресторанов по всему миру, отзывами Посетителей, экскл. скидками и системой оплаты "кэшбэк".
Руководитель направления разработки ПО, Java/Kotlin backend developer
Май 2018 — Февраль 2019 (10 месяцев)

Поддержка существующей реализации (Python/Django/Postgres) и параллельное переписывание сервера на Kotlin/Spring + MongoDB/Elasticsearch/RabbitMQ + Angular/Typescript для внутренних интерфейсов.

Версию с новым бэкендом успешно запустили в декабре 2018, примерно спустя полгода активной разработки. Основные запросы стали работать в 2-10 раз быстрее (например поиск теперь занимает порядка 80-110ms против 700-1200ms раньше). 

Получилось примерно 25k LOC. Под капотом - активное использование Elasticsearch (n-gram search, geolocation decay functions, ранжирование по нескольким весам) и MongoDB (много разнообразных низкоуровневых запросов для обеспечения производительности и атомарности операций), большое количество инфраструктурных технологий, призванных обеспечить отказоустойчивость (Kubernetes с распределенным control plane, Weave Net, Ceph + RadosGW как замена AWS S3, кластеры MongoDB/Elasticsearch/RabbitMQ с автофейловером, CI/DI (Drone, self-hosted docker registry), Sentry, ELK-stack + Prometheus/Grafana для мониторинга и аналитики).

Для запуска платежной платформы использовался API альфа-банка (платежи привязанными картами, apple pay, google pay).

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

Делаем приложения для iOS и Android, сходим с ума по технологиям
Python Backend Developer
Октябрь 2017 — Апрель 2018 (7 месяцев)

Разработка и поддержка нескольких средненагруженных проектов. Основной стек - Python/Django, postgresql, rabbitmq, celery. Есть немного aiohttp, sqlalchemy, mongodb.

Так уж сложилось, что приличное количество рабочего времени я потратил на миграцию всех серверных проектов студии на новую инфраструктуру с Docker, Kubernetes, Gitlab, ELK-стеком для аггрегации и анализа логов, Prometheus для сбора метрик, Sentry в качестве системы отслеживания ошибок.

Высшее образование
Международный университет природы, общества и человека «Дубна»
Дубна
Факультет: Институт системного анализа и управления
Сентябрь 2018—По настоящее время (1 год и 2 месяца)
Воронежский государственный университет
Воронеж
Факультет: Прикладной математики, информатики и механики
Сентябрь 2017—Июнь 2018 (9 месяцев)