Java ETL Middle / Senior

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Кадровое агентство: подбор IT-персонала, топ-менеджеров

Описание вакансии

Условия работы

Наш клиент, продуктовая IT-компания создаёт системы и решения в сфере интеллектуальных игр (I-gaming).

Продукты компании разрабатываются на основе 3-х ключевых технологий: искусственный интеллект, data driven и machine learning.

Задачи:
- Делать хорошую поставку данных. Тут есть дотягивание существующего кода до приличного состояния; допиливание модных классных фич типа пересесть на стриминг; организация поставки новых вещей, которых никто раньше не трогал.
- Поддержка поставки. Надо реагировать на алёрты, и быстро чинить. Для этого надо писать правильные алёрты, включая дописывание в места, где их не хватает.
- Формирование витрин. Есть кучка разных потребителей, которым нужны данные (BI, аналитики, ML, бухгалтерия, вообще говоря вся компания). Хочется, чтобы им было удобно, причём достигать это не только их руками.

У нас есть довольно много данных. Не с точки зрения байтового объёма, тут до BigData пока не дотягиваем, в теребайты всё ещё помещаемся. А вот с точки зрения смысловых байтов уже что-то нормальное выходит, RPS в десятки на вечное хранение всё-таки присутсвует.

Очень хотим, чтобы данные поступали хорошо, поломки быстро чинились, хранилось всё в удобном для потребления виде и всё прочее что обычно хотят от ETL. Для этого наконец-то оградили ETL от всего остального, что делается, и формируем команду.

Для реализации потребуется:


- внезапно, опыт разработки на Java.
- знание ООП. Что-то из шаблонов проектирования, паттернов хорошего кода и цитат из книжек по чистому коду.
- знание теории хранения данных. Всякое про CAP теоремы, как жить если хранилище медленное, но нужны данные от 2 минут назад, чем отличается OLAP от LDAP.
- терпимость к legacy коду. Ультимативного "работает — не трожь" нету, но при этом множить на ноль весь накопленный код и писать вообще всё с нуля тоже не будем.
- уметь писать код, который легко поддерживать. Написанное здесь будет жить долго (а в идеале вечно), поэтому скилл про навесить алёрты и юнит-тесты обязателен.
- знаешь, как выглядит хороший рабочий процесс. Не в плане поспорить за Канбан против Скрама, а понимание что заказчик, не получивший ответа про точность поставки, попробует угадать её сам.

Будет плюсом, если ты:


- готов делать как реально надо, а не как хочется кому-то там;
- знаешь кучу баек с предыдущих мест работы;
- задаешь правильные вопросы, умеешь донести и обосновать свою позицию;
- видел ТЗ длиной в 20 символов (или меньше) и тебя не смущает помогать думать заказчику;
- умеешь в архитектуру. Нарисовать схемку так, что реально написанное через полгода имеет что-то похожее с нарисованным;
- понимаешь диалектичность бытия, умеешь балансировать между «работает» и «красиво»;
- в состоянии прочитать и понять хотя бы общий смысл определенного раздела документации на английском языке;
- просто сокровище, а не кандидат.

Что есть в стеке?


- Clickhouse как основной Data Lake, PostgreSQL как популярный выбор вторичных хранилищ
- Airflow как главный шедулер
- Kafka как почти шина данных
- Java, как ни странно. В частности, очень много хорошего легаси кода.
- Кучка всякого на питоне сбоку, что творит как-то Transform, а иногда и полный ETL
- Всякий ML, тоже сбоку. Есть простой, есть сложный

Бонусы

Общие условия:

-окладная система оплаты труда;

- пересмотр заработной платы по итогу встреч по развитию (performance review);

- оформление на работу с первого дня, больничные и отпуска согласно ТК РФ;

- график работы с гибким началом и окончанием рабочего дня.

Место работы:

- удаленно или офис Новосибирск, Омск, Питер;

- комфортное рабочее место с необходимым железом и периферией;

- не open space;

- наличие бюджета на благоустройство рабочего пространства;

- обеденная, спортивная, игровая и lounge зоны.

Поддержка сотрудников:

- частичная компенсация расходов на медицинские услуги, бассейн, массаж;

- оборудованный массажный кабинет в офисе;

- частичная компенсация расходов на спорт;

- компанией арендуются футбольный и волейбольный залы;

- материальная помощь к важным событиям и в сложных жизненных ситуациях.

Обучение и развитие:

- 100 % оплата профильного обучения по индивидуальным заявкам;

- частичная компенсация затрат на непрофильное обучение;

- регулярные шаринги знаний, хакатоны, митапы, трансляции, киберспортивные турниры;

- изучение английского языка для всех желающих 2 раза в неделю.

Корпоративная жизнь:

- профессиональные и государственные праздники;

- масштабные выезды на природу с семьей для активного отдыха;

- участие в благотворительности (по желанию).

Дополнительные инструкции

телеграмм @marina_chirko