Никита Давыдов (garenal1v3), 27 лет, Россия, УльяновскНикита Давыдов (garenal1v3), 27 лет, Россия, Ульяновск
Бэкенд разработчикВедущий (Lead)
Ищу работу

Контакты

Контакты скрыты настройками приватности
Возраст: 27 лет
Опыт работы: 8 лет и 9 месяцев
Регистрация: 04.08.2024
Последний визит: 7 месяцев назад
Гражданство: Россия
Местоположение: Россия, Ульяновск
Дополнительно: готов к удаленной работе

Навыки

Выберите навык, чтобы посмотреть, какие тесты специалист уже прошел.

Python
Docker
Django
FastAPI
PostgreSQL
MongoDB
AWS
Apache Kafka
Redis
RabbitMQ

Опыт работы

  • Делаем веб и мобильные проекты в b2b сегменте (разработка, технический менеджмент, дизайн, QA)
    От 100 до 1000 сотрудников
    Team Lead
    Октябрь 2020 — По настоящее время (5 лет и 8 месяцев)

    С октября 2020 года по весну 2021 работал разработчикам. Разрабатывал приложения на Django для работы с excel документами. Во время работы активно работал с AWS используя terraform. Далее меня перевели на позицию Team Lead. На этой позиции я руководил командами от 3х (1BE, 1Mobile, 1 QA) до 9 человек (3BE, 3FE, 3QA). За более чем 3 года я лидил около 5-7 проектов с разным стеком. В основном мы использовали Django, но были также проекты с использованием FastAPI и AWS lambda. По базам данных использовал PostgreSQL, также работал с Redshift, MongoDB, Elasticsearch. Для работы с фоновыми задачами использовался Celery и Redis. Активно использовал S3 для работы с различными задачами (хранение файлов, потоковая загрузка и чтение, единовременная загрузка большого объема файлов и т.д.).

    Мой текущий проект - большая платформа для работы с коммерческой недвижимостью. На момент получения проекта это был ужасный legacy проект. Это был монолит с покрытием тестов около 20%, большая часть из которых были красными. Проект невозможно было запустить локально, были проблемы с миграциями. Отсутствовала типизация, даже сортировки импортов не было.

    За время работы на проекте мы с командой смогли:

    1. Добавить большое количество сложных фич, которые заметно улучшили пользовательский опыт.
    2. Добавить типизацию по всему проекту
    3. Отрефакторить и переписали более двухсот эндпоинтов 
    4. Увеличить производительность системы оптимизируя код и вынося его в микросервисы.
    5. Добавить линтеры и документированный код стайл.
    6. Увеличить покрытие тестами до 85%.
    7.  Настроить пайплайны и выстроить четкую систему релизов приложения (как плановых, так и экстренных).

    И многое другое.

    Помимо написания кода, в должности Team Lead'а я выполнял следующие вещи:

    1. Работал с инфраструктурой (поддерживал существующую, создавал с нуля).
    2. Проводил и модернизировал процесс ревью кода (например добавил фазу технического дизайна для каждой фичи).
    3. Проводил ежеквартальные one-to-one встречи с членами команды .
    4. Разрабатывал индивидуальных планы обучения, следил за прогрессом и корректировал в зависимость от достижения целей.
    5. Проводил refinement новых фич, уточнял функциональные и не функциональные требования, декомпозировал эпики на задачи.
    6. Следил за ходом разработки, контролировал производительность членов команды.
    7. Писал техническую документацию.
    PythonDockerDjangoFastAPIPostgreSQLRedisCeleryAWSElasticsearchScrum
  • Мобильные сервисы, программное обеспечение, веб-сайты, мобильные приложения
    УльяновскОт 100 до 1000 сотрудников
    Elixir разработчик
    Июль 2019 — Сентябрь 2020 (1 год и 3 месяца)

    Занимался разработкой backend части платформы для рассылок. Приложение - монолит на Erlang и микросервисы на Elixir.  В основном я переписывал существующую логику из монолита в микросервисы (в узких местах системы). Активно работал с Kafka, был опыт написания lua скриптов для redis. Также был опыт написания ruby gem'а для работы с API нашей системы, это помогало команде клиентского приложения экономить время т.к. при обновлении структуры API в ходе рефакторинга или изменения логики мы сами вносили изменения в гем, а им нужно было только его обновить (в большинстве случаев). Одной из последних задач на этом месте работы была докеризация всех микросеривсов и монолита.  Это было инициировано решением переехать с Apache Mesos в k8s.


     

    ElixirErlangLinuxDockerRedisApache KafkaPhoenixPostgreSQLGitRuby
  • Разрабатываем высокотехнологичные веб-системы, бэкенды, мобильные приложения и highload-проекты
    УльяновскОт 100 до 1000 сотрудников
    Python разработчик
    Февраль 2019 — Июль 2019 (6 месяцев)

    1. Приложение для получения скидок за физическую активность от одного крупного банка. Backend представлял собой монолит на Python + Django. В целом в этом проекте было много спорных архитектурных решений, так что часто приходилось креативно подходить к решению различных задач.
    2. Агрегатор транспортных средств. Та часть приложения, которой занимался я, отвечала за составление оптимально маршрута с помощью различного транспорта(Поезда, самолёты, такси и т.п.). На этом проекте было необходимо обрабатывать большие объемы данных, и оперативно предоставлять их сервисам-аналитикам. Проект было реализован на GO

    PythonDjangoDockerLinuxGolang
    Bitrix разработчик
    Июль 2017 — Октябрь 2017 (4 месяца)

    Занимался разработкой онлайн сервиса по бронированию лекарственных препаратов и товаров для здоровья. Проект был написан на Bitrix

  • Реализация ИТ-проектов с использованием технологий искусственного интеллекта
    Ульяновск
    Python разработчик
    Январь 2018 — Январь 2019 (1 год и 1 месяц)

    1. Система банковских скорингов. Задача была в том, что необходимо получить максимальную информацию о человеке (в том числе и из соц. сетей) с помощью его паспорта и номера телефона. Сбором данных занимались микросервисы на Python + Sanic, а составлением отчёта Elixir + Phoenix. На этом проекте я занимался всем, но в основном микросервисами.
    2. API распознавания лиц для умных домофонов. Проект давал возможность любому умному домофону получить функционал распознавания лиц. Проект имел модульную структуру. Лично я занимался распознаванием лиц (Python + tensorflow, cv2 и др.), хранением и передачей закодированных лиц (Python + Sanic + GINO + RabbitMQ) и созданием api (Python + Sanic)

    Так же были другие проекты, но они были гораздо меньше, да и в основном это было создание API для нейронных сетей.