Backend программист (python), тех лид

Цель

Разработать клиентское приложение для распределенной системы аналитики (далее Клиент).

В Клиента передаются данные из систем Заказчика (механизм выгрузки/загрузки данных разрабатывается параллельно и не входит в рамки данного проекта). На основании полученных исходных данных Клиент выполняет трансформацию данных, рассчитывает примерно 200 показателей и выводит графики/дашборды на портал. На уровне базы данных показатели представляют собой OLAP-кубы с настраиваемой аналитикой.

Основные задачи

• Проработка архитектуры решения, поиск наилучшего варианта решения по каждому функциональному блоку

• Реализация механизма трансформации данных, полученных из существующих систем, в т.ч. инструмент меппинга справочников, монитор контроля трансформации данных с обработкой ошибок

• Реализация алгоритмов расчета показателей. Рассчитывается примерно 200 показателей в разрезах аналитики, настраиваемых по каждому показателю.

• Разработка web-портала и визуализация показателей в виде интерактивных графиков и дашбордов. Пользователь должен иметь доступ к графикам и дашбордам как из браузеров под управлением Windows, так и через мобильные устройства (iOS, Android). В каждом графике пользователь должен иметь возможность перейти на уровень детальных данных. Портал должен иметь возможность персонализации под пользователя (состав фильтров, набор дашбордов)

В дальнейшем (вне рамок текущего проекта) будет разрабатываться высоконагруженное

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

Предполагаемое к использованию ПО (обсуждаемо)

• База данных – PostgreSQL

• Слой backend разработки – Python

• Слой frontend разработки – HTML5, Javascript

• Слой анализа данных - R, R Studio Pro

• Слой визуализации графиков/дашбордов – Pentaho / R Shiny Server Pro / Highcharts

• Система контроля версий разработки

• Система автоматизации тестирования

• Система Continious Integration - Jenkins

Условия

• Роль технического лидера проекта

• Срок проекта – 3 месяца с возможным продлением

• Предпочтительная занятость – 100%

• Оплата – договорная

С нашей стороны детализация ТЗ по каждому требованию (требования к интерфейсу пользователя, описание показателей, структура данных, логика обработки и трансформации данных).

Чтобы начать разговор от Вас необходимо:

• Ваш опыт (персональный или команды)

• Выделить проекты схожей сложности

• Уточнение базовых компонент, на которых должно строиться решение