Екатеринбург
Команда разработки создаёт для всего Яндекса автоматизированный процесс найма и поиска кандидатов. Фемида включает в себя: базу данных, ML-поиск, автоматическое назначение секций с учётом планировщика, согласование пути вакансии от заявки до красивого предложения о работе. Яндекс использует Фемиду не только в России, но и в других странах. Ключевая метрика продукта — Time to offer: чем быстрее мы научимся нанимать лучших кандидатов, тем быстрее Яндекс будет развиваться как бизнес. Перед нами стоят технические вызовы:
- отделить от большого монолита сервисы поменьше;
- переработать ролевую модель, сделать её более гранулярной и прозрачной;
- оптимизировать производительность.
Какие задачи вас ждут:
Разработка и поддержка
Разработка новых фич на Python с применением Django. Переработка ролевой модели в сторону гранулярности и прозрачности. Оптимизация производительности сервиса.
Разработка новых фич на Python с применением Django. Переработка ролевой модели в сторону гранулярности и прозрачности. Оптимизация производительности сервиса.
Работа с базами данных
Проектирование и оптимизация схем баз данных (PostgreSQL, MongoDB, Redis, Logbroker). Разработка и выполнение сложных SQL-запросов, создание хранимых процедур и триггеров. Миграция данных и поддержка существующих баз данных.
Проектирование и оптимизация схем баз данных (PostgreSQL, MongoDB, Redis, Logbroker). Разработка и выполнение сложных SQL-запросов, создание хранимых процедур и триггеров. Миграция данных и поддержка существующих баз данных.
Тестирование и отладка
Написание и поддержка юнит-тестов и интеграционных тестов для существующего и нового кода, обеспечение покрытия тестами ключевых функциональных блоков (pytest). Диагностика и устранение багов, выявленных в процессе тестирования и в продакшн-среде. Оптимизация тестовой инфраструктуры для ускорения процесса тестирования и улучшения качества выпускаемого продукта.
Написание и поддержка юнит-тестов и интеграционных тестов для существующего и нового кода, обеспечение покрытия тестами ключевых функциональных блоков (pytest). Диагностика и устранение багов, выявленных в процессе тестирования и в продакшн-среде. Оптимизация тестовой инфраструктуры для ускорения процесса тестирования и улучшения качества выпускаемого продукта.
Мы ждем, что вы:
- Уверенно владеете Python, включая понимание синтаксиса, типизации данных, управления потоками (условия, циклы), работы с функциями и обработкой исключений. Обладаете навыком работы со встроенными структурами данных Python
- Работали с реляционными (PostgreSQL) и NoSQL (MongoDB, Redis) базами данных. Умеете составлять сложные запросы и оптимизировать их
- Уверенно владеете веб-фреймворками, такими как Django, FastAPI или Flask
- Писали тесты с использованием unittest, pytest или других библиотек для тестирования
- Настраивали и работали с системами непрерывной интеграции и доставки, такими как GitLab CI/CD или аналоги
Будет плюсом, если вы:
- Имели коммерческий опыт на проектах с большим количеством интеграций