Senior C++ Programmer (Ведущий Разработчик С++)

Уровень зарплаты: от 250 000 ₽
Москва, Курская, Бауманская, Курская, Курская
Более 6 лет, Полный день, Полная занятость
Дата публикации: 17.10.2024

Общее описание

Кто мы

Мы - большая московская компания, специализирующаяся на программно-аппаратных B2B и B2C решениях в области транспортных услуг.

Занимаемся проблемами мониторинга и управления общественным транспортом над и под землей, контролем пассажиропотока, помогаем обеспечивать безопасность, информированность и комфорт граждан на протяжении всего пути их следования. Наши решения предоставляют полный спектр услуг видеонаблюдения, контроля трафика, регистрации и процессинга всех возможных видов платных и бесплатных услуг для пассажиров.

Какие вопросы и задачи решает наш отдел

  • Как отобразить пользователю максимально юзер-френдли интерфейс в минимальном пространстве и с ограниченными ресурсами?
  • Как сделать, чтобы интерфейс был более отзывчивым, а дизайн UX/UI более эффективным?
  • Как оплатить проезд максимально простым для пользователя способом? Как предоставить пользователю выбор, при этом не задерживая его ни на одну лишнюю секунду?
  • Как связать тысячи устройств с единым процессинговым сервером? Даже, когда эти устройства вне сети несколько часов и более.
  • Как сделать так, чтобы сервер смог обработать миллионы запросов от этих тысяч устройств?
  • Как гибко координировать работу, обновление и режимы оперирования устройств в режиме реального времени, как автоматически, так и под управлением оператора? При этом давая оператору исчерпывающую информацию о процессах во всей инфраструктуре.
  • Как доставить обновления софта на каждое устройство так, чтобы оно не превратилось в "камень", а произошло это точно в срок?
  • Какой middleware или библиотеку выбрать для решения той или иной задачи, чтобы не тратить внутренние ресурсы на разработку стандартной фичи?

Кого мы ищем

Разработка софта на C++ требует немалого опыта и аккуратности, но, при этом, позволяет реализовывать очень красивые и производительные решения даже там, где ресурсы очень ограничены. Поэтому мы ищем человека, который стремится использовать всю гибкость современных стандартов языка на благо снижению сложности кода, его связности, увеличению его производительности, гибкости и абстрактности. Но, при этом, и не боящегося время от времени окунуться в дебри олдскульных листингов, чтобы, в дальнейшем, превратить их в новый, красивый и современный код. Кроме того, мы уважаем и чтим максимальную чистоту и документированность кода, а значит, ищем это и в нашем кандидате.

Мы с радостью встретимся с вами, если

  • Ваш опыт разработки на C++ имеет хорошую базу - вы идеально знаете не только стандартные структуры данных STL, но и сталкивались с современными наработками стандартной библиотеки в области асинхронных и параллельных алгоритмов, файловой системы, мета программирования
  • Вы знаете, что такое C++20, зачем он нужен, и чем отличается от C++11
  • Знаете базовые дизайн паттерны и можете назвать свой самый "нелюбимый"
  • Разрабатывали код, который стабильно работает, как в Windows, так и в *nix системах, при этом имея один интерфейс на все реализации
  • Отлично знакомы с фреймворками Qt и boost, их функционалом для решения асинхронных и прикладных задач
  • Вам знакомы принципы построения взаимодействия между мипроцессами

Будет плюсом

  • Если вы знаете, почему CMake это единственное эффективное решение для кроссплатформенной сборки и чем он принципиально отличается от scons
  • Слышали о Redis, BaseX и знаете чем отличается NoSql от Sql
  • Можете, при необходимости, декомпозировать и анализировать задачи
  • Можете выбрать из трех фреймворков, решающих одну задачу, фреймворк B, потому что он максимально точно соответствует поставленным требованиям по надежности, лицензированию и, конечно же, по решаемой задаче

Наш стек

  • C++2x и постоянно следим за обновлениями
  • clang 10 + CMake latest в режиме кросскомпиляции для поддержки максимально широкого спектра платформ при использовании последнего стандарта языка
  • Qt5 на фронте
  • Qt5/boost на бэке
  • Микросервисная модульная архитектура, как фронта, так и бэка для большей гибкости, как при компоновке продукта на устройство, так и добавлении/обновлении фич на бэке
  • OracleDB
  • Git+Gitflow
  • Jira/Confluence для управления процессами разработки и документацией
  • Gitlab CI, GoogleTest, Docker, Ansible для непрерывной интеграции и контроля качества кода
  • Agile с гибкими спринтами

Условия

  • Оформление согласно ТК РФ

  • Достойная заработная плата по результатам собеседования. Регулярные премии по результатам работы

  • Гибридный график работы. Возможность гибкого графика

  • Соцпакет (ДМС со стоматологией, фитнес, "Тройка" на год)

  • Кофе, фрукты в офисе, по пятницам- мороженное

  • Профессиональный и карьерный рост

  • Корпоративный волейбол

  • Возможность внешнего обучения за счет компании

  • Работа на крупных проектах российских Заказчиков, а также над собственными проектами компании