Системный архитектор
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Компания "Бюджетные и Финансовые Технологии" - ведущий разработчик в сфере управленческих и информационных технологий для органов власти приглашает на работу на должность Системный архитектор.
Крупнейший федеральный проект автоматизации и реинжиниринга социальной сферы (новая единая цифровая платформа сферы социального обеспечения):
- более 100 тыс. внутренних пользователей;
- более 50 млн. внешних пользователей;
- централизованная микро-сервисная архитектура;
- событийная модель работы с данными;
- 5,5 ПБ хранимых и обрабатываемых в режиме реального времени данных;
- более 5 000 обращений к системе в секунду.
Обязанности:
- Участие в процессе обследования информационных систем и ИТ инфраструктуры заказчика;
- Разработка ключевых технических требований к комплексным (многокомпонентным) ИС;
- Разработка архитектуры решений (архитектуры приложений и технологической архитектуры): декомпозиция решения на компоненты и модули, описание их функций (алгоритмы и структуры данных) и связей между собой;
- Презентация архитектур решений и подходов к реализации решений заказчикам;
- Согласование архитектурных решений с заказчиком;
- Декомпозиция состава работ по реализации спроектированной функциональности на отдельные задачи;
- Разработка технических постановок задач по реализации спроектированной функциональности для руководителей групп разработки и инженеров;
- Разработка структуры конфигурационных единиц функциональности и порядка развертывания
- Трудооценка и планирование реализации спроектированной функциональности в разрезе задач;
- Оценка потребности в вычислительных ресурсах конфигурационных единиц спроектированной функциональности;
- Сопровождение процесса разработки и конфигурирование функциональности: уточнение постановок, реструктурирование задач, ответы на вопросы;
- Участие и координация подготовки программы нагрузочного, интеграционного тестирования и тестирования на надежность спроектированной функциональности;
- Координация работ по нагрузочному и интеграционному тестированию, тестированию на надежность и стабилизации спроектированной функциональности;
- Координация выпуска и развертывания функциональности на рабочих средах проекта;
- Участие в приемо-сдаточных испытаниях функциональности;
- Участие в разработке и аудите ТЗ и документов технического проекта.
Требования:
- Опыт работы руководителем группы разработки (тим-лидом) от 5 лет или архитектором от 3 лет;
- Опыт проектирования ETL-систем для пакетной обработки больших данных (≥200Тб);
- Опыт проектирования систем массовой параллельной обработки данных в потоке (≥100 потоков, ≥1 500 сообщений/сек.);
- Опыт проектирования высоконагруженных аналитических хранилищ (≥200Тб, ≥ 1000 оп. / сек) на любой из промышленных технологий: Greenplum, Terradata, Oracle Exadata;
- Опыт проектирования распределенных систем (2 ЦОД и более);
- Опыт работы с высоконагруженными MPP СУБД (≥1 000 TPS, ≥200Тб);
- Опыт работы с высоконагруженными реляционными базами данных (≥1 000 TPS, ≥20Тб);
- Опыт работы с высоконагруженными NoSQL базами данных (≥1 000 TPS, ≥250Тб);
- Опыт работы с высоконагруженными OLAP-хранилищами (≥100Тб);
- Опыт проектирования функциональности статистической обработки данных (группировка признаков, построение распределений, вычисление точечных и интервальных оценок);
- Опыт построения систем диагностирования и мониторинга массовой параллельной обработки данных.
Обязательные знания, умения, навыки
- Понимание составляющих архитектуры корпоративных приложений;
- Умение собирать, анализировать и структурировать требования;
- Умение составлять модель приложения как композицию элементарных функций (алгоритм, объект, субъект);
- Умение работать с онтологический и таксономической моделями сущностей;
- Понимание принципов ООП и SOLID;
- Понимание принципов ACID и технологии их реализации;
- Понимание CAP-теоремы и ее применения;
- Понимание парадигмы map-reduce и ее применения ядром СУБД;
- Понимание архитектуры распределенных вычислений: проготочность и прогопроцессность, планирование и контроль выполнения распределенных вычислений, разделение и объединение общего контектса данных, синхронизация состояния обработчиков, обеспечение надежности выполнения, репликация данных между обработчиками.
- Понимание принципов построения λ-архитектуры аналитических систем: составляющие, взаимосвязи компонентов, принципы реализации каждого из компонентов.
- Знание принципов работы транзакционных СУБД: индексация, партиционирование, виды блокировок, виды изоляции транзакций, принципы обработки запросов ядром СУБД;
- Знание принципов работы NoSQL СУБД: индексация, шардирования, репликация, многопоточная запись и чтение данных;
- Глубокое понимание парадигмы работы MPP СУБД: шардирование данных, обработка запросов, объединение выборок данных (JOIN), обработка ссылочной целостности, обеспечение согласованности данных
- Знание основных видов (и их особенностей) индексов СУБД: первичный индекс, вторичный индекс, кластерный индекс, условный индекс;
- Понимание моделей физического хранения (на дисковой подсистеме) информации СУБД: строчный, колоночный;
- Глубокое понимание принципов Кимбала/Инмана в проектировании корпоративных хранилищ данных;
- Глубокое понимание схемы организации (и ее влияние на производительность) составных частей хранилищ данных: озеро данных (Data Lake), склад данных (Data Store), витрина данных (Data Mart);
- Глубокое понимание принципов работы брокеров сообщений: организация потоков данных, относительный порядок пакетов при операциях чтения и записи, паттерны управления доставкой, семантики доставки, партиционирование и репликация, обеспечение надежности;
- Понимание принципов обеспечения согласованности при репликации бизнес-данных в аналитическое хранилище;
- Понимание процедуры изменения логической структуры измерений: подходы к перекодировке данных, обеспечение целостности и надежности трансформации данных;
- Глубокое понимание принципов управления изменениями схем данных в аналитическом хранилище и подходов к их реализации;
- Глубокое понимание принципов обеспечения надежности систем массовой параллельной обработки данных;
- Знание основных метрик качества программного обеспечения и подходов к их обеспечению;
- Знание принципов управления конфигурациями;
- Навыки трудооценки и планирования работ проекта.
Желательные знания, умения, навыки
- Понимание принципов интеграции корпоративных приложений (EIP);
- Знание шаблонов проектирования корпоративных приложений (GoF);
- Понимание основных моделей согласованности данных: строгая (Strict consistancy), последовательная (Sequential consistancy), отложенная (Eventual consistancy);
- Понимание принципов и подходов организации гарантированной доставки данных: итемпотентность операций, хранилище состояния доставки, семантики доставки, паттерны "повторитель" и "разъединитель";
- Понимание принципов массовой параллельной обработки данных (MPP) в Apache Flink (source, sinks, windows, check-points);
- Понимание принципов массовой параллельной обработки данных (MPP) в Apache Spark (spark context, spark driver, spark dataframe);
- Понимание основных алгоритмов реляционных и OLAP-операций, а также их производительности в различных ситуациях;
- Понимание метрик качества данных и процедур их построения при обработке как в пакетном режиме, так и в поточном;
- Понимание принципов обеспечения темпоральности данных в аналитическом хранилище и подходов к их реализации.
Условия:
- Профессиональный коллектив;
- Корпоративное обучение, участие в международных конференциях;
- Полное соблюдение ТК РФ;
- Достойная заработная плата;
- Добровольное медицинское страхование (ДМС);
- Чай‚ кофе для поддержания хорошего настроения.