Требования к кандидату
понимание современных принципов проектирования и разработки систем, практический опыт проектирования систем/подсистем;
опыт сбора и анализа требований;
опыт документирования решений;
знание и навыки применения нотаций моделирования (BPMN, UML);
знание основных типов интеграций и взаимодействия систем;
понимание принципов и опыт проектирования REST-сервисов, понимание принципов анализа работы REST-сервисов (в т.ч. с использованием Postman, curl, браузера и т.д.);
понимание принципов работы веба: протоколы, статусы, кэширование;
опыт проектирования баз данных/моделей данных (включая ER-диаграммы);
понимание принципов работы и границ применимости реляционных СУБД;
знание SQL на базовом уровне (select, join, where, group by);
понимание принципов работы и области применимости нереляционных СУБД;
понимание принципов работы и области применимости брокеров сообщений;
понимание основных принципов обеспечения безопасности системы;
опыт проектирования систем на микросервисной архитектуре;
понимание контейнеризации и оркестрации;
опыт работы с CI/CD инструментами;
понимание концепции observability и опыт работы с инструментами мониторинга;
умение оценивать объем работ с достаточной достоверностью;
желание погружаться в предметную область разрабатываемой системы.
Будет плюсом:
опыт разработки систем с высокой нагрузкой;
знание SQL на продвинутом уровне (оконные функции, CTE, курсоры, СУБД-специфичные типы данных и т.д.);
понимание принципов работы и области применимости колоночных СУБД (например Clickhouse);
опыт настройки инструментов мониторинга и профилирования приложений.