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%
• Оплата – договорная
С нашей стороны детализация ТЗ по каждому требованию (требования к интерфейсу пользователя, описание показателей, структура данных, логика обработки и трансформации данных).
Чтобы начать разговор от Вас необходимо:
• Ваш опыт (персональный или команды)
• Выделить проекты схожей сложности
• Уточнение базовых компонент, на которых должно строиться решение