Работа в Правительстве Москвы — это возможность делать наш город современнее и удобнее. Если ты тоже неравнодушен к Москве, хочешь развивать ее и развиваться сам, присоединяйся к нашей команде!
Обязанности:
- Разработка, проектирование и развитие высоконагруженных backend-сервисов на языках программирования Java и C++
- Реализация серверной бизнес-логики и взаимодействия с базами данных
- Обеспечение передачи и обработки данных между системами в рамках backend-архитектуры
- Поддержка и развитие существующих информационных систем
- Участие в обеспечении целостности и согласованности данных между компонентами системы
- Разработка приложений на Java и C++
- Проектирование и реализация REST API (JSON), gRPC (Protobuf) и GraphQL
- Работа с базами данных PostgreSQL и Oracle (Написание сложных SQL-запросов, профилирование, оптимизация планов запросов, разработка логики на PL/SQL / PL/pgSQL)
- Разработка и сопровождение серверной бизнес-логики
- Интеграция сервисов внутри распределённой системы
- Участие в проектировании архитектуры приложений и компонентов системы
- Обработка и устранение инцидентов, связанных с работой сервисов
- Проектирование и внедрение сервисов автоматизации на базе защищённых корпоративных мессенджеров (TDM Enterprise и альтернативных платформ)
- Разработка приложений на Java и C++
- Проектирование и реализация REST API (JSON), gRPC (Protobuf) и GraphQL
- Работа с базами данных PostgreSQL и Oracle (Написание сложных SQL-запросов, профилирование, оптимизация планов запросов, разработка логики на PL/SQL / PL/pgSQL)
- Разработка и сопровождение серверной бизнес-логики
- Интеграция сервисов внутри распределённой системы
- Участие в проектировании архитектуры приложений и компонентов системы
- Обработка и устранение инцидентов, связанных с работой сервисов
- Проектирование и внедрение сервисов автоматизации на базе защищённых корпоративных мессенджеров (TDM Enterprise и альтернативных платформ)
- Корректность и стабильность разрабатываемых сервисов и приложений
- Производительность и оптимизация серверной логики и запросов к БД
- Надёжность обмена данными между компонентами системы
- Поддержка качества кода и соблюдение архитектурных стандартов
- Сопровождение и развитие существующих решений
- Контроль качества кода, который включает проведение регулярного ревью кода (Java/C++), в том числе поставляемого внешними командами разработки (подрядчика). Контроль соблюдения внутренних стандартов кодирования, безопасности и производительности.
- Участие в приёмке технических решений и архитектурных компонентов, в том числе и от подрядных организаций, оценка их масштабируемости и интеграционной готовности.
- Интеграция со сложной серверной логикой и legacy-кодом, необходимо разбираться в существующей кодовой базе и развивать её без потери текущей функциональности.
- Оптимизация производительности при высокой нагрузке, включая профилирование и оптимизацию сложных SQL-запросов, планов выполнения и индексов в СУБД PostgreSQL/Oracle.
- Масштабирование и обеспечение отказоустойчивости, включая поддержку стабильности работы и доступности сервисов в условиях растущего объёма данных и нагрузок.
- Диагностика и трассировка высоконагруженных систем, куда входит поиск, локализация и оперативное устранение неочевидных ошибок.
- Обеспечение корректной работы сервисов при обновлении API и модификации зависимых внешних систем.
- Обработка конкурентных запросов, нейтрализация и нивелирование взаимных блокировок (deadlocks), а также обеспечение целостности данных на уровне приложений, сервисов и СУБД.
Требования:
- Высшее техническое образование
- Опыт от 1 года по направлению деятельности
- Опыт разработки backend-систем от 1 года на Java
- Опыт работы с серверными приложениями, API и базами данных
- Желателен опыт участия в разработке распределённых или высоконагруженных систем
- Приветствуется опыт работы в крупных ИТ-проектах или enterprise-разработке
- Разработка серверных приложений на Java
- Проектирование и реализация REST API (JSON/XML)
- Понимание HTTP, клиент-серверной архитектуры
- Обработка ошибок, логирование, базовая отказоустойчивость
- PostgreSQL и/или Oracle
- Написание SQL-запросов, оптимизация
- Работа с транзакциями и индексами
- Базовые знания PL/SQL или PL/pgSQL
- Работа с Git (ветвление, merge, code review)
- Умение разбираться в чужом коде
- Понимание многопоточности и конкурентного доступа к данным
- Опыт работы с распределёнными системами
- Понимание микросервисной архитектуры
- Базовое понимание Kafka (как шина сообщений)
- Docker (понимание контейнеризации)
- CI/CD (GitLab CI / Jenkins)
Условия:
- Работа в динамично развивающейся организации Правительства Москвы
- Официальное оформление
- Высокопрофессиональная команда
- Стабильная заработная плата
- Формат работы: гибрид/удаленка/офис
- График работы: 5/2, сб и вс - выходные