
Инженер-программист 1 категории
Правительство Москвы
Москва
Описание вакансии
Работа в Правительстве Москвы — это возможность делать наш город современнее и удобнее. Если ты тоже неравнодушен к Москве, хочешь развивать ее и развиваться сам, присоединяйся к нашей команде!
Обязанности
•Разработка, проектирование и развитие высоконагруженных 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, сб и вс - выходные