
Студия Т_Г
Middle Java-разработчик
- Java
- Spring Web
- Spring Data
- REST API
- Hibernate
- PostgreSQL
- Git
- Prometheus
- Grafana
- Redis
- RabbitMQ
- Gradle
- Docker
- Kubernetes
«Студия Т_Г» занимается разработкой и внедрением масштабных информационных систем от личных кабинетов до систем аналитики. Наши основные заказчики – органы государственной власти и частные организации.
С момента основания в 2008 у нас сформировалась сильная и сплоченная многофункциональная команда, мы реализовали большое количество сложных проектов и сделали жизнь огромного числа пользователей наших продуктов более простой и удобной.
Сейчас мы находимся в поиске Java-разработчика в команду, занимающуюся разработкой высоконагруженных решений для платформы интерактивных сервисов ФНС. Вас ждут интересные задачи, дружный коллектив, возможности для профессионального роста и вклад в продукт, которым пользуются миллионы!
Обращаем внимание: необходимо проживать на территории РФ.
Чем предстоит заниматься:
- Разработка процессов и сервисов в сложных интеграционных проектах.
- Разработка нового функционала, и развитие существующего.
- Активное участие в решении архитектурных вопросов.
- Взаимодействие с аналитиками и командами разработки, тестирования, сопровождения.
Мы ожидаем от тебя:
- Опыт программирования на Java от 3-х лет.
- Опыт программирования на Java 17.
- Опыт работы с Spring, Spring Boot, Spring Data JPA, Hibernate, Flyway.
- Понимание принципов ООП и шаблонов проектирования.
- Навыки работы с базами данных, знание основ SQL.
- Знания Git, Gradle.
Плюсом будет наличие опыта работы с:
- Spring WebMVC, Spring Framework;
- реляционными базами данных (PostgreSQL);
- нереляционными базами данных (MongoDB);
- Redis, RabbitMQ, Kafka;
- Docker и автоматизации сборки контейнеров;
- Опыт работы с высоконагруженными проектами;
- А также знание REST, OpenAPI, Swagger и основ работы в Linux.
Если получится ответить на следующие вопросы – смело откликайся:
- Чем отличается ленивая и жадная загрузка данных из БД (чем отличается fetchType eager и lazy)?
- Сколько транзакций создается при вызове вложенных методов, помеченных аннотацией Transactional?
- Какое количество бинов для одного класса создается в ApplicationContext, и в каких случаях?
- В какой момент происходит выполнение методов в цепочке stream (StreamAPI)?
- Как работают аннотации?
- Как в Spring Boot приложении с RestAPI отдать в методе файл на скачивание?
- Как создать оптимизированный SQL запрос с динамическими условиями (фильтры и пагинация, без добавления кучи условий с проверкой на null)?
Наш подход к разработке:
- Мы верим, что разработчики - не просто исполнители, а ключевые участники процесса создания продукта. Поэтому мы ожидаем от активного участия в проектировании технических решений от идеи до реализации.
- Мы уделяем особое внимание чистоте и консистентности кода.
- Мы практикуем code review как гарантию качества и как обмен опытом.
- Мы соблюдаем релизные циклы для стабильности и предсказуемости поставки и обновлений продукта.
- Мы придерживаемся подхода GitLab Flow для обеспечения эффективной совместной разработки и слаженной работы команды.
Технологии, которые мы будем использовать на проекте:
- Java: Java 17 (Spring, Spring Boot).
- Backend: Spring Web, Spring WebFlux, Spring Data JPA, Flyway, REST API.
- ORM: Hibernate.
- Базы данных: PostgreSQL, ClickHouse.
- Системы контроля версий: Git (GitLab).
- Мониторинг: Prometheus, Grafana.
- Кэширование: Redis, MemoryCache.
- Брокер сообщений: RabbitMQ, Kafka.
- Дополнительно: CI/CD (GitLab), Nexus, Gradle, Docker, Kubernetes.
Мы предлагаем:
- работу в аккредитованной IT-компании;
- возможность быть причастным к масштабным и значимым проектам России;
- развитие в профессии как «вглубь», так и кросс-функционально внутри компании;
- ДМС, поддержку различных жизненных ситуаций;
- работу в дружной команде;
- корпоративные и командные мероприятия;
- гибридный формат работы, гибкое начало и окончание рабочего дня в Нижнем Новгороде. Дистанционный формат
Как мы предлагаем взаимодействовать:
1. Сначала, мы проанализируем твое резюме на соответствие требованиям к позиции.
2. Если все ОК на первом этапе, созвонимся и обсудим общие вопросы.
3. Возможно, потребуется выполнить тестовое задание.
4. Знакомство с представителями команды и техническое интервью.
5. В случае успешного прохождения всех этапов – мы обсуждаем условия дальнейшего сотрудничества.