Ведущий разработчик системы хранения контента
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Задача: полностью перепроектировать под новые требования систему хранения, индексации и модерации контента (текст, картинки, видео). Перевести бизнес-логику с PHP на Go.
Кого мы ищем: опытного разработчика для долгосрочной удалённой работы с перспективой стать тим-лидом команды разработчиков.
Ключевой функционал: разработка архитектуры нового программного продукта, доработка старого проекта, самостоятельное написание ключевых частей кода (прежде всего создание программного ядра сервиса), участие в формировании и управление командой разработчиков в разрезе планирования и контроля процесса разработки модулей на базе этого ядра, ответственность за сроки и качество выполнения проекта.
Обязанности:
- Создание, проработка и реализация плана технического развития системы (technical leadership);
- Разработка архитектуры системы и определение стека используемых технологий;
- Создание каркаса и ключевых элементов системы;
- Доработка старой системы;
- Формирование команды разработчиков и координация ее работы;
- Руководство проектированием и разработкой функционала программного продукта, утверждение технических решений;
- Организация процесса разработки, ревью исходного кода и технических решений разработчиков: соответствие стандарту кодирования, покрытие автотестами и т.д.;
- Контроль выполнения задач, следованию плана разработки программного продукта;
- Создание проектной и технической документации программного продукта.
Требования к кандидату:
- Опыт разработки архитектуры проектов, понимание принципов построения масштабируемых систем и функционирования современных архитектур;
- Опыт проектирования и создания высоконагруженных масштабируемых систем, понимание шардинга, репликации, очередей;
- Широкий кругозор в области современных технологий (очереди, базы, балансировщики);
- Умение определять, какое технологическое решение будет наиболее эффективно для решения поставленной задачи и аргументировать, почему следует использовать именно его;
- Умение производить декомпозицию и адекватную оценку поставленной задачи, соблюдать согласованные сроки;
- Умение профилировать и оптимизировать свой код;
- Умение самостоятельно разбираться в сложных технических проблемах, планировать свое рабочее время и работать в распределенной команде;
- Опыт работы с системами контроля версий, например Git;
- Обладание базовым набором личных качеств: ответственность, общительность, аналитическое мышление, желание развиваться и расти вместе с проектом;
- Наличие завершенных и функционирующих проектов;
- Технический английский язык (чтение документации).
Знание технологий:
- Отличное знание PHP и Go;
- Опыт разработки распределённых сетевых приложений, организации сервисов с высокой гарантией доступности под платформу Linux;
- Уверенное владение технологиями реляционных СУБД. Сложные запросы, индексация, оптимизация запросов, знание особенностей работы базы данных на высокой нагрузке и с большими объемами данных.
- Понимание достоинств и недостатков SQL и NOSQL решений, какие и где необходимо использовать;
- Понимание сетевых протоколов (HTTP, TCP/IP, UDP);
- Знание особенностей High-Availability-архитектуры;
- Опыт работы с облачными и контейнерными решениями, такими как Docker и AWS;
- Опыт использования и/или внедрения систем Continuous Integration и Deployment для разработки на go;
- Опыт работы и разработки под Linux (console, filesystem, daemons);
Будет преимуществом:
- Опыт управления командой разработчиков от 3-4 человек (с использованием Agile методологий и инструментов управления проектами);
- руководство проектом с архитектурной точки зрения
- утверждение технических решений
- постановка задач разработчикам и контроль их выполнения
- ревью кода
- Опыт интеграции с внешними сервисами по API, разработка собственных API;
- Опыт организации тестирования приложений;
- Опыт разработки интерфейсов;
- Опыт работы с MySql, ClickHouse, Sphinx.
Условия работы:
- Работа полностью удаленная. В будущем в случае успешной работы и при наличии желания со стороны работника возможна реаллокация в наш офис на о.Кипр с трудоустройством в штат компании;
- Гибкий график и широкая автономия в работе (мы оцениваем результат работы);
- Отсутствие ограничений по выбору техник и инструментов для разработки;
- Профессиональный и карьерный рост вместе с проектом;
- ЗП (от 2000 USD на испытательный период с последующим существенным ростом) определяется в ходе собеседования в зависимости от характеристик кандидатов.
Присоединяйтесь к нашей команде и примите участие в создании масштабного проекта, претендующего стать лидером в отрасли.
Дополнительные инструкции
- Составьте развёрнутый ответ, в первую очередь, включающий сведения о ваших навыках и опыте, пересекающемся с нашими требованиями к кандидату.
- Укажите в сопроводительном письме примеры успешно реализованных работ.
- После анализа резюме следующими этапами отбора будут выполнение тестового задания для определения навыков разработки, а также собеседование с руководителем проекта и HR-менеджером.