C Developer / Старший инженер-программист С (TATLIN.UNIFIED)

Дата размещения вакансии: 06.09.2024
Работодатель: YADRO
Уровень зарплаты:
з/п не указана
Город:
Санкт-Петербург
Требуемый опыт работы:
Более 6 лет

Мы продолжаем активно расти и расширять команду, в связи с этим открываем поиск C developer в команду, которая занимается разработкой СХД TATLIN.UNIFIED и работает над высоконагруженной подсистемой для организации файлового доступа по протоколам SMB/NFS.

Обязанности:

  • доработка существующих реализаций протоколов CIFS и NFS под Linux;
  • разработка, дизайн и отладка программных компонентов на языках C, Golang под управлением ОС GNU\Linux;
  • разработка, дизайн и отладка файловых систем уровня ядра Linux и пространства пользователя FUSE;
  • разработка и отладка микросервисов управления и контроля доступа на языке Go;
  • анализ нештатных ситуаций возникающих в программных компонентах во время их эксплуатации и поиск решения

Требования:

  • опыт разработки на языке С, Golang для rpm-based дистрибутивов GNU\Linux;
  • опыт разработки на Golang с использованием unsafe, cgo. Хорошее понимание примитивов языка;
  • опыт разработки, отладки, профилирования программ и модулей на языке C в пространстве пользователя под управлением ОС GNU\Linux;
  • знание модели OSI, понимание принципов сетевого взаимодействия;
  • понимание принципов организации дисковых файловых систем, сетевых файловых систем, кластерных файловых систем;
  • владение английским языком для свободного поиска и чтения технической документации.

Будет плюсом:

  • представление о внутреннем устройстве ядра Linux, опыт разработки и отладки модулей ядра на языке С;
  • знакомство с принципами и инструментами конкурентной кластерной обработки данных (Distributed Lock Manager, Paxos\Raft, gossip, ONC RPC, DCE\RPC, gRPC);
  • знакомство с внутренними структурами данных ПО Samba, опыт разработки модулей расширения доступа к данным и аутентификации. Опыт работы с ctdb в распределенном окружении;
  • способность анализировать трафик сетевых файловых систем и выявлять фактические несоответствия заданным спецификациям;
  • знакомство с протоколом NFS 3, NFS 4 с расширениями pNFS и сопутствующими спецификациями (ONC RPC, XDR, MOUNT, NLM, …);
  • знакомство с технологией FUSE, опыт написания серверов файловых систем на FUSE под управлением ОС GNU\Linux;
  • знакомство с протоколом LDAP (RFC2307,RFC2307bis), с AD DS в режиме LDAP, понимание принципов организации сущностей и атрибутов, синтаксис их определения, синтаксис определения и доступа к данным LDIF;
  • понимание принципов работы Name Switch Service под OC GNU\Linux;
  • опыт работы с pacemaker\corosync, sssd, openldap(slapd, ldapsearch), AD DS, docker, nss_wrapper, rpmbuild, strace.