Санкт-Петербург
Свердловская набережная 44Б
Свердловская набережная 44Б
Департамент TATLIN.FLEX разрабатывает Систему Хранения Данных (СХД) TATLIN.FLEX с гибкими вариантами конфигурации аппаратного комплекса. Для поддержки активного роста продукта, мы ищем инженеров, интересующихся СХД и системным программированием, для расширения команды экспертов и технических энтузиастов. В наши задачи входит поддержка и развитие текущего решения на языках Python и Perl, а так же непрерывное изучение новых возможностей работы с СХД, для внедрения в продукт.
Чем предстоит заниматься:
- развитием существующей Системы Хранения Данных (RAID, SAN, NAS);
- анализом принципов работы сервисов на языке программирования Python для переработки кода, расширения и исправления;
- разработкой Python сервисов, библиотек и скриптов для управления СХД на Linux;
- написанием юнит тестов с использованием pytest;
- документированием кода по принятым внутри команды практикам;
- ревью кода, баг-фикс.
Мы ожидаем от будущего члена команды:
- опыт коммерческой разработки на Python 3.9+ (RPC, TDD, Очереди, Параллелизм);
- опыт работы со стандартными библиотеками Python (subprocess, concurrent.futures, argparse, pathlib, threading, os, itertools, typing, logging);
- уверенное понимание принципов работы ОС Linux (sysfs, inotify, POSIX, netlink);
- понимание особенностей монолитных и микросервисных архитектур;
- понимание принципов проектирования отказоустойчивых систем;
- опыт использования Docker;
- опыт администрирования Linux;
- знание шаблонов проектирования (Software Design Pattern);
- опыт работы в команде с применением средств коллективной разработки (Jira, GitLab, Confluence);
- владение техническим английским (Intermediate).
Будет плюсом:
- опыт работы с языками программирования Perl, C, Go;
- опыт работы с Python библиотеками: pyudev, pydantic, typing-extensions, Jinja2, asyncio;
- опыт работы с асинхронными фреймворками;
- опыт ресерча мало знакомых систем/реверс-инжиниринга;
- опыт работы с технологиями Систем Хранения Данных (RAID, SAN, NAS);
- опыт интеграции с системными компонентами;
- опыт системного программирования на других языках или для других ОС;
- опыт работы с менеджером зависимостей и сборкой пакетов poetry;
- понимание и опыт работы с multipath, udev, systemd, LVM.