Проект JATOBA. ПО общего назначения для создания и управления реляционными базами данных и обеспечения многопользовательского доступа с разным уровнем конфиденциальности.
Работа с многопоточностью и сетью (процессы/потоки, методы синхронизации, TCP/UDP, сокеты).
Работа с инструментами отладки и анализа кода (отладчики, санитайзеры, профилировщики, статический и динамический анализ кода).
Работа с git вместе с коллегами.
Написание unit-тестов, составлять оформления и документирование кода.
Разработка и работа с C (минимум C89/C99) и стандартной библиотеки C.
Разработка и работа с C++ (минимум C++11/C++14) и стандартной библиотеки C++.
Разработка для Windows/Linux.
Управление командой и помощь коллегам.
Что мы ждем от кандидата:
Глубокое знание языка C (минимум C89/C99) и стандартной библиотеки C;
Глубокое знание языка C++ (минимум C++11/C++14) и стандартной библиотеки C++;
Опыт коммерческой разработки на языке С/С++ - от 5 лет - Senior ;
Понимание алгоритмов, архитектуры и базовых принципов работы СУБД;
Опыт работы с СУБД PostgreSQL: общие знания основ баз данных, основ языка SQL, понимание базовых принципов работы СУБД PostgreSQL;
Понимание архитектуры и принципов работы современных ОС на основе Windows/Linux: управление памятью (виртуальная/физическая/swap), управление процессами и потоками, службами и фоновыми задачами, межпроцессное взаимодействие, управление вводом/выводом (блочные устройства, файловые системы, файловый кэш);
Уверенная работа со средствами виртуализации (VirtualBox, VmWare).
Опыт работы с многопоточностью и сетью (процессы/потоки, методы синхронизации, TCP/UDP, сокеты);
Опыт работы с основными системами сборки: GNU autotools, GNU make, cmake;
Опыт работы с разными компиляторами (gcc, clang, mingw64);
Опыт работы с инструментами отладки и анализа кода (отладчики, санитайзеры, профилировщики, статический и динамический анализ кода);
Опыт работы с системами управления кодом (git), понимание принципов ведения веток и релизов в репозитории;
Опыт чтения чужого кода (в том числе legacy-кода), навыки проведения code review;
Опыт написания unit-тестов, правила оформления и документирования кода;
Уровень английского языка, достаточный для чтения и понимания технической документации, статей по тематике СУБД.
Будет плюсом:
Опыт написания расширений, разработка на уровне ядра СУБД PostgreSQL;
Глубокие знания устройства PostgreSQL: методов хранения и обработки данных, архитектуры памяти, методов хранения и построения индексов, знание принципов работы процессов и конвейера обработки запросов;
Навыки анализировать и оптимизировать сложные SQL запросы/планы запросов;
Обладаете базовым уровнем знания одного или нескольких языков: Golang, Python, Perl, Shell (умение читать написанный код, умение писать небольшие скрипты);
Основные знания о контейнерах и опыт работы с ними.
Знание принципов построения и функционирования распределенных систем;
Опыт разработки ПО под высокие нагрузки;
Участие в конференциях и желание принимать участие в конференциях;
Опыт разработки под ОС Windows; - опыт планирования в Agile, Scrum.
Наши условия:
Оформление по ТК РФ в аккредитованной IT-компании.
Удалённый формат работы.
Технически сильная и дружная команда.
Отлично поставленные коммуникации и процессы разработки от аналитики до деплоймента.
Профессиональное развитие, карьерный и финансовый рост.