Обязанности:
- Разработка и поддержка высоконагруженных систем на языке С
- Работа с многопоточностью и синхронизацией данных
- Реализация механизмов балансировки нагрузки и отказоустойчивости
- Разработка сетевых протоколов и коммуникационных модулей
- Реализация стека протоколов (TCP/IP, Diameter, SS7, SIGTRAN)
- Написание unit-тестов и проведение code review
- Отлаживание и анализирование проблемы в production-среде
- Оптимизация обработки сетевых пакетов
- Работа с сетевыми сокетами и асинхронным I/O
- Участие в проектировании архитектуры новых модулей
- Взаимодействие с командой DevOps по вопросам deployment и мониторинг
- Документирование технических решений и API
- Опыт разработки под Linux (system programming, POSIX API)
- Опыт в embedded-разработке (микроконтроллеры, ARM, периферия)
- Опыт профилирования и оптимизации производительности
- Опыт работы с системами контроля версий (Git)
- Уверенное знание стандарта C (C99/C11), понимание особенностей компиляции и линковки
- Уверенная работа с памятью: указатели, malloc/free, управление ресурсами, предотвращение утечек
- Практический опыт разработки многопоточных приложений (pthread, mutex, semaphore и др.)
- Уверенные навыки отладки и анализа (gdb, valgrind или аналоги)
- Понимание базовых алгоритмов и структур данных и умение применять их на практике
- Знание инструментов сборки (Make, CMake)
- Базовое понимание CI/CD
- Понимание необходимости Code Policy и следование стандарту, принятому в команде
- Умение самостоятельно разбираться в существующем коде и дорабатывать его
- Опыт code review (как участника и ревьюера)
- Способность самостоятельно реализовывать задачи средней сложности
- Умение предлагать технические решения, а не только реализовывать заданные
- Понимание влияния своего кода на систему в целом (производительность, стабильность)
- Навыки оценки задач и соблюдения сроков
- Опыт написания и поддержки технической документации
- Готовность помогать junior-разработчикам
- Полностью удалённый формат работы
- Полная занятость
- Работа в распределённой команде (разные часовые пояса)
- Регулярные онлайн-встречи:
- Использование современных инструментов: Slack / Jira / Git / CI/CD, Kaiten