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