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