Описание вакансии
Ключевые обязанности
- Проектирование и разработка новых функций и продуктов с использованием Elixir с фокусом на оптимизацию производительности и масштабируемость системы
- Сотрудничество с кросс-функциональными командами, включая продуктовый менеджмент, для перевода бизнес-требований в технические спецификации
- Проектирование и реализация RESTful API, обеспечивающих бесшовную интеграцию с фронтенд-приложениями и сторонними сервисами
- Написание чистого, поддерживаемого и хорошо документированного кода с соблюдением лучших практик и стандартов кодирования
- Проведение тщательных код-ревью для обеспечения качества кода, выявления потенциальных проблем и обмена знаниями с командой
- Мониторинг производительности системы, устранение сложных проблем и внедрение улучшений для повышения пользовательского опыта
- Отслеживание новых технологий и трендов индустрии для рекомендации инновационных решений для нашей платформы
- Руководство разработкой технической документации, включая диаграммы архитектуры, спецификации API и руководства по проектированию системы
- Участие в agile-процессах разработки, включая планирование спринтов, ежедневные стендапы и ретроспективы
- Сотрудничество с QA-командами для обеспечения всестороннего тестирования новых функций и продуктов перед развертыванием
Требования к кандидату
- Подтвержденный опыт (5+ лет) в разработке программного обеспечения с глубокими знаниями Elixir и его экосистемы
- Экспертиза в создании масштабируемых распределенных систем с использованием OTP и Phoenix фреймворков Elixir
- Глубокое понимание архитектуры веб-приложений, включая паттерны интеграции фронтенда и бэкенда
- Сильные навыки написания модульных, интеграционных и end-to-end тестов с использованием фреймворка ExUnit в Elixir
- Опыт работы с системами контроля версий, такими как Git, и знакомство с CI/CD-процессами для автоматизированного тестирования и развертывания
- Отличные навыки решения проблем с возможностью отладки сложных вопросов и оптимизации производительности системы
- Сильные коммуникативные навыки для эффективного взаимодействия с продуктовыми менеджерами, дизайнерами и другими стейкхолдерами
- Способность наставлять младших инженеров и предоставлять технические рекомендации по лучшим практикам и стандартам качества кода
- Знание облачных платформ, таких как AWS, Azure или Google Cloud, для развертывания и управления приложениями на Elixir
- Опыт работы с базами данных, такими как PostgreSQL, MongoDB или Redis, для хранения и извлечения данных
- Владение DevOps-инструментами, такими как Docker, Kubernetes и Terraform, для контейнеризации и управления инфраструктурой
- Глубокое понимание принципов безопасности и лучших практик защиты веб-приложений и API
- Опыт работы с инструментами мониторинга и наблюдаемости, такими как Prometheus, Grafana или ELK-стек, для отслеживания производительности системы
- Отличные письменные и устные коммуникативные навыки для документирования технических процессов и общения с нетехническими стейкхолдерами
- Способность работать как самостоятельно, так и в команде в условиях динамичной agile-среды
