Больше информации по резюме будет доступно после регистрации

Зарегистрироваться
Был на сайте вчера в 23:11

Кандидат

Мужчина, 28 лет, родился 13 февраля 1997

Активно ищет работу

Санкт-Петербург, готов к переезду, не готов к командировкам

Указан примерный район поиска работы

Lead Backend Developer

540 000  на руки

Специализации:
  • Программист, разработчик

Занятость: полная занятость, частичная занятость, проектная работа

График работы: полный день, гибкий график, удаленная работа

Опыт работы 4 года 8 месяцев

Февраль 2024по настоящее время
1 год 3 месяца

www.terralink.ru

Информационные технологии, системная интеграция, интернет... Показать еще

Lead Backend Developer + DevOps
https://tl-razrabotka.ru/solutions/hr/ Задачи: 1. Проработка архитектуры системы + проектирование структуры БД + проектирование всех микросервисов + генерация предложений по продукту 2. Полная организация работы backend-разработчиков + менторство 3. Внедрение и поддержание процессов релиза фич (backend) 3. Развертывание сервисов в кластере Kubernetes (DevOps) + настройка CI/CD 4. Проектирование + разработка ML-сервиса с pre-trained LLM + inference-сервером (Ollama). Весь деплой сервисов Система позволяет: - Получать резюме из разных источников и обрабатывать их (будь то job-сайты или файлы извне) - Анализировать их с помощью ML, проводить мэтчинг кандидатов по отношению к вакансиям + делать summary - Создавать и обслуживать заявки на вакансии + сами вакансии - Точечно настраивать права и доступы к объектам у юзеров и групп юзеров, поскольку внедрен гибрид RBAC + ABAC (скоринг в том числе) - Публиковать вакансии с учетом настроек в job-сайты Тем самым, оптимизируя время, требуемое HR для закрытия позиций. Дополнительно отмечу, что: - Для оркестрации задач мы использовали AirFlow, ибо есть как задачи по расписанию, так и delayed - У нас микросервисная архитектура - Активно используется Kafka для распределенной передачи данных к ML и обратно Стэк: Python3.11, Fastapi, Sqlalchemy, Alembic, Postgresql, Ollama, Airflow, Redis, Kafka (FastStream, Confluent), Docker, K8s, ArgoCD, Vault ================== Проект: https://tl-razrabotka.ru/solutions/sport/ Задачи: 1. Активное участие в проработке архитектуры системы + генерация предложений по продукту 2. Организация работы backend-разработчиков (постановка задач, контроль исполнения, ревью) + менторство 3. Проектирование структуры БД 4. Разбитие монолита на микросервисы после MVP 5. Развертывание сервисов в кластере Kubernetes (DevOps) + настройка CI/CD Gitlab 6. Разработка BI-сервиса 7. Разработка основы сервиса-видео с потоковой обработкой и передачей (+ проектирование, + развертывание) Система позволяет: 1. Тегировать матчи, т.е, отмечать интересные моменты в них, так или иначе настраивая теги и наборы тегов 2. Смотреть статистику по матчам и игрокам с визуализацией 3. Загружать видео & добавляя стримы из разных источников -> ну и смотреть это все, разумеется. Подробнее о сервисе видео, он умеет: 1. Потоково обрабатывать 2. Фрагментировать 3. Потоково доставлять контент в плеер (на фронтенде 1 строчка кода, остальное - бэк) 4. Менять качество видео в live-режиме 5. Сохранять любой контент (обл. хранилище). 6. Вырезать из видео лишние кадры при получении диапазона времени (рекламу в видео, например) 7. Работать, используя ресурсы CPU, либо GPU (+ RAM или VRAM соответственно) 8. Сохранять FPS 9. Принимать контент разными способами. Ре-стримить - тоже, в контексте протоколов Иначе говоря, при загрузке большого видео или стрима, не нужно ждать окончания обработки. Смотреть часть видео можно в течение минуты. Пока вы смотрите ее, готова новая часть Все вышесказанное о видео я делал один в течение месяца. И это прошло этап показа и оценки клиентами. ------------------------ Стэк: Python3.11, Fastapi, Sqlalchemy, Alembic, Postgresql, Clickhouse, Pydantic, Celery, Redis, Kafka, Docker, K8s, ArgoCD, Vault Video: OpenCV, ffmpeg, Gstreamer. ЯП: C, Rust, Python (обертка) P.S: Готовые сборки не использовались, они не дают того, что было нужно :) ================== Дополнительно, безотносительно перечисленных выше проектов: - Оценка реализации потенциальных проектов с учетом декомпозиции задач на этапы - Проработка архитектуры проектов - Менторинг
Сентябрь 2022Январь 2024
1 год 5 месяцев
Marilyn System Russia (& Точка.Реклама)
Backend Developer
Генератор интернет-магазинов Ссылка: https://reklama.tochka.com/generator-internet-magazinov Задачи: 1. Непосредственно разработка и немного DevOps; 2. 80% саппорта по генератору после релиза; 3. Весь саппорт, касающийся подключения новых доменов на сайт; 4. Код-ревью; 5. Частичное замещение Тим лида – в отпуска и когда у него была загруженность. + Менторство Какие компоненты генератора были мною сделаны: 1. Частично – флоу настроек магазина; 2. Весь флоу доставки – СДЭК (настройка и API + бэкенд для виджета), курьерская доставка и самовывоз; 3. Весь флоу оплаты (настройка и API) – Робокасса, Юкасса, Эквайринг через банк Точка; 4. Весь флоу заказов - создание, статусы, чеки; 5. Поддержка импорта из разных источников (товары и изображения). Всего - 24 комбинации; 5.1. Версионирование источника импорта (при выборе нового источника, старый остается актуальным, пока импорт из нового не закончится); 5.2. Разбиение импорта на стадии, в рамках которых можно либо продолжить импорт, либо отменить его; 6. Возможность создать SSL-сертификат и привязать свой домен к магазину (k8s). + проверка выполнения всех шагов (NS | A records, SSL); 7. Автосоздание и изменение целей и счётчика в определённых случаях; 8. Весь сбор и отправка статистики в Clickhouse; 9. Все задачи в Celery, разные очереди в зависимости от задачи. + темплейты для helm & k8s. + цепочки задач (celery chain); 10. Конфигурирование цепочек из задач в зависимости от контекста; 11. Консьюмер + синхронизация данных (состояние подписки, контакты, точки продаж у селлера) при получении соответствующего эвента из очереди RabbitMQ; 12. Продюсер + отправка эвента о любом изменении состояния сайта; 13. Публикация, распубликация сайта. Стэк: Python, Fastapi, Sqlalchemy, Alembic, Postgresql, Clickhouse, Dataclasses. Pydantic, Celery, Redis, RabbitMQ, Kafka, API k8s (pypi), Docker, K8s, Helm. Команда: 3 backend (lead, я и junior), 2 frontend (middle и junior + изредка подключался senior), 1 дизайнер, 2 QA, 1 продакт. ___________________ Бесплатный аудит сайта Ссылка: https://reklama.tochka.com/base (прямой ссылки нет, нужно будет поскроллить вниз, до "проверьте свой сайт бесплатно") Что делал: 1. Исполнял роль TeamLead; 2. Пилил фичи на бэкенде + DevOps; 3. Обсуждал, оценивал и планировал с продактом новые фичи; 4. Частично менторил джуна-фронтендера; 5. Саппортил после релиза. На данный момент доступно: 1. Запросить отчёт о сайте с этой страницы 2. Запросить и получить отчёт о сайте, передав эвент в очередь (из другого сервиса). Бэк выполнит проверку и положит результат в другую очередь. (esb-шина, в общем). На текущий момент этот способ используется в личном кабинете юзера в Точка Рекламе Стэк: Python, Fastapi, Sqlalchemy, Alembic, Postgresql, Pydantic, Celery, Redis, RabbitMQ, Kafka, Docker, K8s, Helm. Команда: 1 backend, 1 frontend, 1 дизайнер и 1 продакт
Март 2022Сентябрь 2022
7 месяцев
ООО Тулстрек

www.culture.ru/pushkinskaya-karta

Backend Developer
Проект "Пушкинская Карта". Из интересного: 1) Закрыл один релиз сам, когда старый тим лид ушел, а новый ещё не приступил к работе. 2) Пару недель отработал только с ПМ, ибо старая команда ушла, а новая ещё не пришла. Соответственно, задачи, которые ставились (в т.ч. и по скриптам) закрывал только я. 3) Писал скрипты для нагрузочного тестирования. 4) Писал скрипты для перегона данных из Tarantool в Clickhouse. Tarantool партицирован, Clickhouse – реплицирован. В остальном: пишу код для двух версий - на Go и на Python, пишу на Lua и SQL, когда нужно взаимодействовать с Tarantool и Clickhouse.
Июнь 2021Апрель 2022
11 месяцев
ООО Программатик Групп
Fullstack Developer
Работал над сервисом по созданию и запуску рекламных кампаний. Писал с самого старта до того этапа, когда MVP не за горами. Подразумевается, что пользователи могут создавать и настраивать рекламные кампании, добавлять баннеры и составлять сегменты аудиторий. Эти сущности связаны между собой. Биллинг: для физлиц - интеграция с платежной системой, для юрлиц - генерация квитанции + оповещение в админке о том, что N-ный юзер только что запросил ее. Стек: Python 3, FastAPI, Postgres, Postgres Admin, Celery, Celery Flower, Redis, Docker, React, Redux. Ниже - перечисление сделанного мною. Backend: Написанное API имеет древовидную структуру, с использованием RBAC. Crud-менеджеры написаны с использованием абстракций Под капотом происходит общение с другой рекламной площадкой, на которой, собственно, кампании и создаются. Frontend: 1) Админка, в которой можно посмотреть незавершенные транзакции от юр.лиц и баланс 2) Раздел аудиторий в клиентском интерфейсе. DevOps: обернуть все это в контейнеры, прописать volumes, depends, разрешить связки портов посредством UFW.
Август 2021Ноябрь 2021
4 месяца
ООО Онлайн Гимназия №1

schooleducation.online/

Backend Developer
Это была part-time занятость. Целенаправленно искал именно такую, ибо full-time занятость уже была. Работал над бэкендом платформы по онлайн-обучению в составе команды. Здесь моя зона ответственности была значительно меньше, чем в других компаниях. Добавлял / переопределял фичи -> писал тесты. Всё. Стек: 1) Python 2) Django 3) Django Channels. 4) Redis 5) Docker
Сентябрь 2020Июль 2021
11 месяцев
ООО АйтиАэро
Backend Developer
Писал API для мобильных приложений. Коротко об одном из них: Суть - сервис, с помощью которого пользователи могли выполнять задания в Instagram и получать за это бонусы. Можно было: - Покупать активности: Лайк, Коммент, Подписка. - Добавить пользователя в свою реферальную структуру (их было 2), чтобы потом, на основе этой структуры, формировались задания для каждого. - Создать задание. Для этого нужно было опубликовать какой-то пост в своем инст-профиле. Бэк периодически бегал по профилям и искал новые посты. Видя пост, генерировал задание: обязательное \ для всех \ для конкретного юзера. - "Привязать аккаунт". Авторизации через инсту не делал, но проверял, скрыт ли аккаунт, был ли он указан ранее. Аккаунт должен был быть открытым, чтобы бэк мог периодически проверять выполнение заданий + брать посты, чтобы на их основе генерировать задание для пользователей. Отмечу, что были инвайты разных типов, профили разных типов, подписки разных типов. Писал бэк в одиночку. Непосредственно мобильным приложением, занимались другие разработчики. И это с учётом того, что Basic Display & Graph Api's довольно сильно урезаны. Используя их, нельзя подписаться, поставить лайк, комментарий кому-то. Использовал: 1) Django Channels. 2) RabbitMQ, Redis. 3) Daphne (вебсокеты), Gunicorn. 4) Celery, Celery-Beat. Был ответственен за: 1) Тесты 2) Бэкенд 3) Сервер 4) Иногда забегал на фронт в других проектах. Полноценное SPA без мануалов написать вряд ли смогу, но подкрутить, подправить, добавить AJAX-запросы, заняться версткой - с этим справлюсь.

Навыки

Уровни владения навыками
Разработка ПО
Git
Heroku
Django Rest Framework
Django
HTML
ORM
FastAPI
Docker
SQLAlchemy
Redis
Kafka
RabbitMQ
CI/CD
Linux
PostgreSQL
Clickhouse
Kubernetes
Gitlab
Celery
REST API
ООП
WebSockets
Docker-compose
Jenkins
SOLID
Flask
Python
SQL
Go

Обо мне

Профиль GitHub: https://github.com/untername Профиль LeetCode: https://leetcode.com/untername/ Работал как в командах, так и соло. С Ci/CD работал ЯП и фреймворки: - Python: FastAPI, DRF, Django (Channels в том числе). - Golang: Gin. - JS: React, Redux. - Lua - для Tarantool. - SQL, хотя чаще работал с ORM (SQLAlchemy, Django ORM). БД, с которыми я работал: - Postgres. - Tarantool. - Redis. - Clickhouse. Брокеры: - RabbitMQ - Apache Kafka. Писал консьюмеров, продюсеров, создавал топики. Настраивал удаленный сервер (Java -> Zookeper -> Kafka) Серверы: - Gunicorn. - Uvicorn. - Daphne. - Nginx. В Celery, Beat, Flower, Docker, тоже умею. Скейлить поды, писать манифесты и port-форвардить в кубере могу. Писать скрипты для динамического создания объекта в одном неймспейсе, будучи в другом, тоже С Ubuntu дружу. С Helm не особо, но знаком

Неоконченное высшее образование

2021
ИТМО

Знание языков

РусскийРодной


АнглийскийB1 — Средний


Гражданство, время в пути до работы

Гражданство: Россия

Разрешение на работу: Россия

Желательное время в пути до работы: Не имеет значения