Окончил школу с золотой медалью, имею высшее образование МГТУ им Н.Э. Баумана, факультет "Робототехника и комплексная автоматизация", кафедра "Автоматизация технологических процессов и производств"
Кратко:
- Рассматриваю только аккредитованные айти компании
- Работаю только удалённо( возможен приезд в офис для подписания договора)
- Белая зарплата и трудовой договор
- Электронный документооборот в компании, чтобы не ездить ради подписания 1 бумажки в офис
- Только change команда и новые технологии, не готов пойти на проект и поддерживать старый legacy код
Обязательный стек проекта
- Микросервисы на Spring Boot
- Java 17 или выше
- Основная база данных - PostgeSQL
- Кластеризация в Kubernetes или Openshift
- Пайплайны на Groovy + Jenkins
Подробнее о себе и о своем видении работы
Я не кодер, я не прогер, я Инженер-программист(важное слово - инженер), который думает головой и отвечает за свой продукт от его создания в spring.initializer(если это сервис на Spring Boot) до вывода в ПРОМ среду и поддержкой его в ПРОМ. Когда я разрабытываю, я сразу думаю о том, как сервис поведёт себя при высокой нагрузке, при репликации, при кластеризации на 2 и более стендах, как это будет собираться, разворачиваться на стендах. Я разрабатываю продукт с полный циклом CI/CD. Пишу код, дебажу, пишу тесты на этот код, проверяю руками как это все работает, участвую в ручном и нагрузочном тестировании в качестве эксперта, пишу пайплайны для сборок, пишу пайплайны для развертывания на стенде, устанавливаю, проверяю работоспособность на стендах, настраиваю мониторинг, логирование. И на каждом этапе я думаю головой, поверьте это важно. За свои 3 года я видел кучу плохого кода, кривые транзакции в коде, кривые блокировки в базе, нехватка коннектов к бд при высокой нагрузке и в рамках некоторых систем это приводит к многомилионным потерям.
Я знаю весь процесс и большинство ошибок, в том числе не типичных, это позволяет мне писать качественный код, который прекрасно работает в ПРОМ. Я не ищу работу, просто чтобы найти. Я ищу проект, который подходит мне, в котором мне будет комфортно работать, а значит максимально эффективно.
Основное , что я жду от проекта.
- Микросервисная архитектура системы
- Сервисы на Spring Boot
- Java 17 не ниже.
- База данных PostgreSQL, в качестве работы с БД из сервиса предпочтительней MyBatis, менее предпочтителен Hibernate.
- Обязательно кластеры Openshift или Kubernetes.
- Существует автоматизация сборок и деплоя с использованием Groovy и Jenkins или планируется это сделать.
Что я жду от компании
- Айти аккредитация
- Удаленная работа
- Белая ЗП
- Электронный документооборот
- Минимальное количество бюрократии
- Премии
- Роадмапы повышения по карьерной лестнице
Что я жду от команды
- Адекватность и вовлеченность в проект всех членов команды. Руководитель должен понимать, как работает его система, какие слабые места, что можно улучшить, какие планы по доработкам( Не должно быть такого, что руководитель вспоминает про команду и проект 1 раз в месяц, когда горит срок какой-нибудь задачи, за которую надо отчитаться).
Ожидаю, что владелец продукта понимает важность реализации технических задач на проекте, а не только доделывание бизнес функционала системы. Будет прекрасно( но не обязательно для меня) если у вас есть скрам мастер, спринты по 2 недели и качественное планирование.
Особенности
- Могу выйти на работу в выходной день за двойной оклад, либо отгул, если задача срочная ( но такой выход не должен быть чаще 1 раза в месяц, если это происходит чаще, то нужно не в выходные работать, а подход к планированию менять или сотрудников дополнительно нанимать)
- Спокойно отношусь, если редко, но нужно на 1-2 часа задержаться доделать задачу(если задача критичная)
- Не вижу проблемы, если звонят вечером, ночью или рано утром, с проблемой на ПРОМ и нужно срочно подключиться
Интегрирован(как аутсорс) в change команду Сбербанка в трайбе Риски.
Высоконагруженная система уровня Business Critical для расчета показателей кредитования юридических лиц(вероятность дефолта, лимит финансирования, потери при банкротстве и т.д)
Основные обязанности:
1) Разработка и поддержка микросервисов на Java с использованием Sring Boot. В том числе с использованием мультипоточности.
2) Проектирование и реализация баз данных PostgreSQL, включая написание различных скриптов миграции, в том числе триггеров и хранимых процедур. Использование Liquibase для накатывания скриптом миграции. MyBatis в качестве фреймворка для взаимодействия с БД в микросервисе.
3) Проектирования микросервисной архитектуры высоконагруженной системы с развертыванием на кластерах Openshift
4) Написание пайплайнов для сборки микросервисов, публикации Docker образа в nexus, сборки конечного дистрибутива для установки на стенд и публикации дистрибутива в nexus. Написание пайплайнов для развертывания микросервисов из дистрибутивов на кластеры Openshift
5) Интеграция микросервисов с брокером сообщений Kafka.
6) Написание Helm скриптов для установки микросервисов на кластеры Openshift
7) Настройка Istio service mesh на кластерах Openshift. Включает в себя написание Ingress,Egress, реализация mTLS, geo балансирования.
8) Настройка логирования с использованием fluent-bit и в качестве хранилища - Elasticsearch
Дополнительный обязанности:
1) Проведение code review
2) Контроль за качественным и своевременным выполнением задач коллег(менторство)
3) Контроль технического стрима команды(я - лид от разработки технического стрима)
4) Настройка стендов
5) Участие в нагрузочном тестировании( с использованием Jmeter, а так же рукописных Java Spring Boot фрэймворков на Gatling)
Java-backend разработка с элементами DevOps-а
Обязанности на рабочем месте:
1) Разработка высоконагруженных систем микросервисной архитектуры с нуля до развертывания на продакшене
2) Участие в code-review
3) Настройка CI/CD gitlab, Jenkins(на каждом проекте свой флоу)
5) Настройка тестовых серверов(развертывание микросервисов в docker контейнерах на linux серверах)
6) Участие в SPM(Sprint Planning Meeting),Daily Scrum, Sprint Review, Retrospective
7) Интегрирование внешнего API в сервисы(Dadata, процессинг OpenWay)
8) Написание модульных и интеграционных тестов
9) Системное тестирование проекта
Стек технологий: Sping (Boot, Data JPA, JDBC, Cloud(Eureka,Feign),Web,AOP,Security), Hibernate, Lombok, REST, SOAP, PosgreSQL,MS SQL, RabbitMQ, JUnit, Testcontainers, Gitlab, Gitlab CI/CD, Docker, Linux(Debian), Maven, Confluence, Jira.
Разрабатываю бэкенд b2b мобильного приложения и различные API. Реже занимаюсь фиксом багов и рефакторингом кода.
Работая в группе компаний Лукойл, вырос из Junior до уровня Middle.
За время работы:
1)Разработал сервис интеграции b2b-бэкенда с процессингом для удалённой оплаты по виртуальным топливным картам.
2)Разработал c нуля проект, состоящий из 13 микросервисов, позволяющий ежедневно автоматически обновлять данные о заправках из различных ресурсов компании(файлы Excel, SOAP API внешних подрядчиков, внутренние БД) в БД b2b. Используется для отображения актуальной карты АЗС с ценами и услугами на АЗС в b2b мобильном приложении.
3) Спроектировал и разработал бэкенд-проект Партнеров Лукойл приложения b2b
В ходе реализации были разработаны 4 микросервиса(3 сервиса логики и 1 gateway), предоставляющие API для IOS и Android, а так же для Web, написанного на JS.
Из основного, с нуля были разработаны:
API регистрации и авторизации(JWT токены) пользователя;
API создания, редактирования, удаления различных объектов;
API получения детальной информации и пэйджей с пагинацией и фильтрацией из БД ;
API оплаты заказов(интеграция с процессингом для оплаты по виртульным топливным картам);
API отправки почтовых сообщений;
API работы с фотографиями(загрузка и выгрузка для отображения).
Разработка бизнес логики на платформе Salesforce, используя Apex, VisualForce, Lightning
Покрытие кода Unit-тестами
Работа с QA-team для устранения багов
Взаимодействие с Product Owner для уточнения деталей пользовательских историй
Причина увольнения: переезд компании в Черногорию