Experience

********************************
Data engineer в BI проекте
********************************
Проект создавался как платформа для BI и построения отчетов для бизнес пользователей.
Основные задачи:
- интеграция с источниками данных
- построение инфраструктуры мониторинга data quality
- создание и поддержание инфраструктуры обеспечения правил доступа к данным
- общение с бизнес-пользователями, сбор требований и создание отчетов
Чем мы пользовались:
- scala - как основной язык разработки
- akka, akka http, apache http client - для разработки сервера
- scala-parser-combinators - для имплементации парсера Clickhouse SQL
- Apache Spark - для фидов данных из источников (в основном разные Oracle БД) в Clickhouse
- Clickhouse - как основное хранилище сырых данных и аггрегации этих дынных для показа в отчетах
конечных пользователей

*****************************
Dev Lead ABAC project
*****************************
Система контроля доступа построенная на принципе Attribute-based access control.
Система использовалась для обеспечения фильтрации данных в юзер приложениях. Основными
требованиями были обеспечение необходимого throwput (~5-15 мкс на запрос) и обновление
пользовательских данных на лету при изменении их в источниках.
Чего мы достигли:
- проинтегрировались с ~10 источиниками данных
- реализовали инфраструктуру поддержания up-to-date im-memory кэшей
- реализовали ~15 различных правил доступа к разным данным внутри организации
- с библиотекой проитегрировано ~20 систем
- реализовали возможность row-level access controll на уровне базы данных в BI системе, основанной
на ClickHouse
Технологии:
- java8 - основной язык разработки
- Spring DI, Configuration- для серверных компонент
- ANTLR4 - для DSL правил доступа
- GRPC - для клиент-серверного проктокола поддержания in-memory кэшей

Создал и "на общественных началах" поддерживаю 2 плдагина для Intellij Idea

Skills

Java Spring REST API JSON OOP Design Patterns REST Jenkins Mockito ClickHouse Apache Spark Akka

Highlights

ABAC - проект был на самом деле прикольный и о нем хочется рассказывать.
Интеграция с BI системой особенно интересна, потому что мы в результате стали на лету изменять клиентский SQL в зависимости от заданных в системе правил доступа.

Ну и по мелочи кроме того:
Мы сделали 24/7 систему в организации, которая живет 24/5 (в выходные системы выключаются для патчинга и релизов)
Мы сделали CI, который позволял в любой момент времени выпустить версию библиотеки, полностью готовую к проду.
Проект все еще активно живет и развивается после того, как я передал его другому разработчику больше года назад.

Looking for

Прямо сейчас моя область интересов это
1) data egeneering
2) SRE (но у меня нет hands-on опыта в этой области, кроме поддержки собственных приложений внетри организации)
3) database internal structures and algorithms - скорее хобби, которое иногда помогает с дизайном в data egeneering

$4250 / mo

  • Russia, Moskva
  • 5 years of experience
  • English: Upper-Intermediate
  • Office
  • Remote work
  • Published 8 December 2019