Backend-разработчик (Java/Spring)
По договоренности
Чем предстоит заниматься
Разработка серверной части информационных систем на Java с использованием фреймворка Spring (Spring Boot, Spring MVC, Spring Data, Spring Security): проектирование и реализация REST API, сервисных слоёв, интеграционных модулей.
Работа с базами данных: проектирование структур данных, написание и оптимизация SQL-запросов, работа с ORM (Hibernate/JPA), миграции схемы БД (Liquibase/Flyway).
Интеграция программных модулей и компонентов: разработка процедур интеграции неоднородных модулей, разработка и документирование программных интерфейсов (API), разработка процедур сборки, развертывания и обновления ПО, процедур миграции и преобразования данных.
Исправление дефектов: воспроизведение, локализация и устранение дефектов программного кода, зафиксированных в системе управления дефектами; анализ причин возникновения ошибок; внесение изменений и проверка работоспособности после исправлений.
Участие в анализе и решении инцидентов: совместный с аналитиками и эксплуатацией разбор инцидентов в информационных системах, диагностика проблем в серверном коде и инфраструктуре, анализ логов и технологических журналов, подготовка исправлений и рекомендаций по предотвращению повторных инцидентов.
Участие в ревью кода: инспекция программного кода коллег на соответствие требованиям по читаемости, производительности и архитектурным стандартам; выявление потенциальных ошибок и узких мест. Написание unit- и интеграционных тестов, обеспечение покрытия кода тестами. Работа с системой управления версиями (Git): ведение веток, merge/rebase, соблюдение регламента работы с репозиторием. Оформление программного кода и технической документации в соответствии с принятыми в организации стандартами и регламентами. Оценка и согласование сроков выполнения поставленных задач.
Что мы ожидаем от кандидата
Образование: Высшее образование (бакалавриат и выше) по направлениям: информатика и вычислительная техника, прикладная математика и информатика, математика и компьютерные науки или смежные специальности. Либо среднее профессиональное образование по направлению «Информатика и вычислительная техника» при наличии соответствующего опыта.
Опыт работы: Опыт backend-разработки на Java от 3 лет.
Обязательные технические навыки и знания: Java и экосистема Spring: Уверенное владение языком Java (от Java 8+): синтаксис, стандартные библиотеки, коллекции, Stream API, многопоточность (java.util.concurrent). Опыт работы с фреймворком Spring: Spring Boot, Spring MVC, Spring Data (JPA/Hibernate), Spring Security. Понимание принципов ООП, SOLID, паттернов проектирования (GoF). Знание технологий программирования и методологий разработки ПО. REST API и интеграции: Опыт проектирования и реализации REST API. Понимание принципов REST, HTTP-протокола, форматов обмена данными (JSON, XML). Понимание интерфейсов взаимодействия с внешней средой и внутренних модулей системы. Базы данных: Опыт работы с реляционными СУБД (PostgreSQL и/или Oracle): написание SQL-запросов, понимание индексов, транзакций, уровней изоляции, оптимизации запросов. Опыт работы с ORM (Hibernate/JPA): маппинг сущностей, lazy/eager loading, кэширование, N+1 проблема. Понимание методологий проектирования и использования баз данных. Опыт работы с инструментами миграции БД (Liquibase или Flyway). Сборка и инфраструктура: Опыт работы с системами сборки (Maven или Gradle). Понимание принципов CI/CD (Jenkins, GitLab CI или аналоги). Понимание компонентов программно-технических архитектур. Система управления версиями: Уверенная работа с Git (ветвление, merge, rebase, pull request / merge request), соблюдение установленного регламента использования системы управления версиями. Тестирование: Опыт написания unit-тестов (JUnit 5, Mockito, AssertJ). Опыт написания интеграционных тестов (Spring Test, Testcontainers — приветствуется). Отладка и работа с инцидентами: Навыки отладки серверного кода: умение использовать IDE debugger, интерпретировать стек-трейсы, сообщения об ошибках, записи технологических журналов. Умение воспроизводить дефекты, анализировать причины их возникновения. Навыки чтения и анализа серверных логов (application logs, GC logs, access logs). Опыт участия в разборе инцидентов — приветствуется. Рефакторинг и код-ревью: Знание методов рефакторинга и оптимизации программного кода. Умение проводить инспекцию кода, публиковать результаты в коллективной базе знаний. Готовность участвовать в код-ревью — как в качестве автора, так и рецензента. Документирование: Умение оформлять программный код в соответствии с нормативно-техническими документами (стандартами и регламентами), code style. Умение оформлять техническую документацию по заданному стандарту или шаблону. Инструменты: Опыт работы с системами управления задачами (Jira, YouTrack, Redmine или аналоги). IDE: IntelliJ IDEA. Коммуникация: Умение осуществлять коммуникации с заинтересованными сторонами: аналитиками, тестировщиками, frontend-разработчиками, представителями заказчика.
Будет преимуществом Опыт работы с государственными информационными системами или в проектах для государственных заказчиков. Знание предметной области ФТС (таможенное администрирование, ВЭД, декларирование). Опыт работы с микросервисной архитектурой. Опыт работы с Docker, Kubernetes. Опыт работы с брокерами сообщений (Apache Kafka, RabbitMQ). Опыт работы с Spring WebFlux (реактивное программирование). Опыт работы с Spring Cloud (Config, Gateway, Eureka). Опыт работы с кэширующими системами (Redis, Hazelcast). Опыт работы с NoSQL базами данных (MongoDB, Elasticsearch). Знание принципов чистой архитектуры, DDD, Event-Driven Architecture. Опыт работы в Agile-командах (Scrum, Kanban). Понимание ITSM/ITIL-процессов (управление инцидентами, управление проблемами). Опыт работы с инструментами мониторинга и логирования (ELK Stack, Grafana, Prometheus). Опыт работы со средствами API-документирования (Swagger/OpenAPI). Личные качества Аналитический склад ума, внимание к деталям. Стремление писать чистый, понятный и поддерживаемый код. Ответственность и самостоятельность в решении поставленных задач. Развитые коммуникативные навыки, умение работать в команде. Готовность к обучению и освоению новых технологий. Способность оценивать и согласовывать сроки выполнения задач.
Мы предлагаем Оформление по ТК РФ, полный социальный пакет. Конкурентная заработная плата (обсуждается по итогам собеседования). Интересные проекты федерального масштаба — информационные системы ФТС России. Профессиональный рост: работа с высоконагруженными системами, современным стеком. Комфортный офис в г. Твери .
Опубликована 5 часов назад
Похожие вакансии
- Полный день
- Опыт от 3 лет
- Тверь
- Полный день
- Опыт от 3 лет
- Тверь
- Полный день
- Опыт от 3 лет
- Тверь