Системный разработчик C++
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Нам нужен С/C++ник. Да, он самый, вы не поверите, в эпоху node.js и Python. С - это то, что дает работу почти всем остальным - на нем написан Python, JavaScript, Erlang (да-да, а все те, у кого в голове про Erlang возникает слово "магия", я _не_ к вам обращаюсь) и почти все остальное из mainstream, как некоторые из вас догадываются. Нужно ли мне упоминать ядра Linux, FreeBSD и школьные поделки вроде uwsgi?.. Только сейчас мы идем на шаг дальше - все это теперь с code reuse, более четкой архитектурой, шаблонами вместо макросов, которые проверяет компилятор на реалистичность, большой библиотекой решенных проблем, другими ништяками (один auto чего стоит, а? Вместо очень много раз std::list<Nishtjak>::iterator it..., круто же! ;-)) и так далее - C++.
Заниматься нужно будет написанием ядра пропраетарной базы данных, использующей в том числе мощности GPU для той самой магии, которая понимает почти весь SQL, включая joins. В точки зрения технологической сложности - это высший пилотаж и поле для применения и раскрытия таланта! Очень важно, чтобы вы отлично понимали, что происходит "под капотом" структур данных (той же стандартной библиотеки), потому что вы будете как раз заниматься написанием того, что под копотом - нужно знать алгоритмы сортировки, поиска и т.п. Почему данные надо выравнивать в памяти?
Если вы понимаете, что такое pointer и чем отличается (char*)pointer+1 от (int*)pointer+1, то вам к нам. Если знаете о &&, то ваще круто. Если вы можете писать на языках высокого уровня (любых), но вам это _не_ нравится (хотя вы это делаете прекрастно!) и вы раз за разом возвращаетесь к тому, что некоторые называют основами, то вам тоже к нам. Да, вы смотрели Rust, изначально он показался вам отличной идеей, но потом (вы попробовали реальную задачу) вы все поняли...
На выбор: удаленная работа или офис. При удаленной работе, в силе дополнительные условия.
Основные задачи:
- Писать новый код на основании требований лидов;
- Участие в разработке тех самых требований с лидами, оформление предложений;
- Следование идеологии Agile, включая многие ритуалы (стендапы, спринты, планирование спринтов);
- Взаимодействие с коллегами по команде - у нас ансамбль, не соло проект.
Требования:
- Отличное знание C/C++;
- Отличное знание их standard library;
- Отличное знание алгоритмов (сортировка, поиск и т.п.);
- Понимание и опыт написания высоконагруженного сетевого кода;
- CUDA - было бы хорошо;
- OpenCL желательно;
- OpenMP или что-то схожее;
- Можно DPC++;
- Понимание VMM, модели памяти, кеширования IO;
- Знание хотя бы одного из языков высокого уровня: Python или Perl или JavaScript или PHP или какая-нибудь другая похожая фигня;
- Понимание ценности functional programming;
- Понимание ООП надо упоминать?;
- Все то, что вы хранили в загажниках своего ума! Вас заставляли переходить на Python (или вставьте что-то другое, что вас бесит), но вы говорили им, что вы за то же время и эффективнее решите ту же задачу на С/C++, и вам отвечали "да кто же это потом будет обслуживать"... И вам было нечего ответить (да, грустно);
- Стрессоустройчивость (умение спокойно и содержательно объяснять своим коллегам, которые не знакомы с С/C++ проблемы их подходов).
- Разговорный английский язык!
Мы предлагаем:
- Вам, как C/C++-нику, уважение коллег по причине кристального понимания всего, что они делают. Однако, вы должны доказать это на практике;
- Очень интересную работу - сколько в мире систем распределенных RDBMS? Вам предоставляется шанс работать над одной из самых уникальных!
- Оплачиваемые отпуска;
- Гибкий, но определенный график (можно выбрать 8-17, 9-18 или 10-19, час - обед);
- Испытательный срок (1-2 месяца) в любом случае проходит в офисе, нам всем необходимо "почувствовать" друг друга в работе, а личное общение - ключ. Однако, в случае если человек доказывает делом, что он - ответственный сотрудник, в состоянии работать в команде, то возможен переход на удаленную работу;
- Для работающих в офисе:
- Официальное трудоустройство и оформление ВНЖ в Черногории;
- Оплачиваем переезд (лично вам), помогаем с поиском жилья (поиск, варианты, посмотреть, подтвердить), помогаем перевезти семью;
- Комфортный офис в комфортном климате, море в 10-и минутах пешком, место - фактически в центре Европы, на машине (а летом многие страны ограничения ради денег туристов отменят точно) все рядом.
Дополнительные инструкции
Для интервью необходимо сделать тестовое задание.