Санкт-Петербург
Мы продолжаем активно расти и расширять команду, в связи с этим открываем поиск 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.