Напиши текст вакансии для должности "Senior Software Engineer (Linux/С++)". Название компании: "Topcon". Расположение: Москва. График работы: Полный день. Опыт работы: Более 6 лет. Ключевые навыки: 'Linux', 'C++', 'Bash', 'STL', 'Unit Testing', 'Design Patterns', 'SQLite', 'Boost', 'TeamCity', 'Multithread Programming', 'SOLID', 'Английский язык', 'Python', 'Рефакторинг кода', 'C/C++', 'ARM', 'GCC', 'Continuous Integration', 'Buildroot', 'Busybox', 'Docker', 'Yocto'

Ведущий инженер-разработчик ПО Функциональные обязанности:  Работа в дружной команде разработчиков над следующими задачами Разработка в основном на языке С++ для платформы embedded linux (ARM), используемой в GNSS приемниках компании Topcon Анализ исходных требований, уточнение поставленных задач, разработка оптимальных решений, оценка трудоемкости Разработка внутренней структуры ПО, добавление новой функциональности, поддержка существующего кода Разработка приложений (сервисов) на языке С++, обеспечивающих функциональность устройства: файловое хранилище, networking (cellular, wifi, bluetooth, vpn, dyndns), automatic updates, iot и других. Развитие командного интерфейса управления оборудованием для поддержки разнообразной внутренней и внешней периферии Разработка подсистемы внутренней коммуникации как между сервисами, с другими аппаратными компонентами устройств и с внешними аппаратными устройствами по разным интерфейсам Разработка программной платформы для обеспечения запуска сторонних приложений (plugins), включая подготовку SDK и документирование И конечно же отладка и диагностирование дефектов от группы тестирования и пользователей  Обязательные требования:  Умение работать в команде в условиях коллективного владения кодом, аккуратность, ответственность, широкий кругозор Нацеленность на долгосрочное сотрудничество Высшее техническое образование Знание английского языка (для письменного общения на технические темы) Опыт промышленной разработки на C++ от 3 лет Умение разобраться в чужой архитектуре и чужом коде Опыт разработки многопоточных приложений Опыт оптимизации кода и анализа проблем в работе ПО на встроенных системах (отладка, профилирование, борьба с утечками памяти) Опыт разработки ПО для Linux  Приветствуется:  Отличное знание языка C++, Стандартной библиотеки или библиотеки Boost, шаблонов С++. Владение основными средствами разработки, контроля версий, issue-tracking, continuous integration, рефакторинга и контроля качества кода Знание основных принципов построения архитектуры (coupling vs cohesion, композиция, наследование), знание принципов объектно-ориентированного программирования (SOLID) Знание специфики работы с низкоуровневыми программистами и драйверистами Опыт многоплатформенной разработки Знание других систем других языков программирования (например, Python)  Условия:  Оформление в соответствии с требованиями Трудового Кодекса РФ. График работы 5 дн. в нед. (40 ч., гибкий график времени начала рабочего дня). Заработная плата по результатам собеседования в зависимости от квалификации. Бесплатное питание, проезд, медицинская страховка. Офис находится рядом с метро «Пролетарская», «Павелецкая»  Мы готовы предложить кандидатам из других регионов помощь при переезде в Москву.